Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Multi Chain
Multichain Addresses
2 addresses found via BlockscanLatest 25 from a total of 70 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Execute | 14577448 | 342 days 7 hrs ago | IN | 0 ETH | 0.00734728 | ||||
Queue | 14564341 | 344 days 9 hrs ago | IN | 0 ETH | 0.00614613 | ||||
Cast Vote | 14552812 | 346 days 4 hrs ago | IN | 0 ETH | 0.00233992 | ||||
Cast Vote | 14552777 | 346 days 4 hrs ago | IN | 0 ETH | 0.00318293 | ||||
Cast Vote | 14552771 | 346 days 4 hrs ago | IN | 0 ETH | 0.00275722 | ||||
Cast Vote | 14552752 | 346 days 4 hrs ago | IN | 0 ETH | 0.00236543 | ||||
Cast Vote | 14552547 | 346 days 5 hrs ago | IN | 0 ETH | 0.0045873 | ||||
Cast Vote | 14546166 | 347 days 5 hrs ago | IN | 0 ETH | 0.00351118 | ||||
Cast Vote | 14546140 | 347 days 5 hrs ago | IN | 0 ETH | 0.00503617 | ||||
Cast Vote | 14546133 | 347 days 5 hrs ago | IN | 0 ETH | 0.0038577 | ||||
Cast Vote | 14546127 | 347 days 5 hrs ago | IN | 0 ETH | 0.00396145 | ||||
Cast Vote | 14546122 | 347 days 5 hrs ago | IN | 0 ETH | 0.00471851 | ||||
Cast Vote | 14546119 | 347 days 5 hrs ago | IN | 0 ETH | 0.00438794 | ||||
Cast Vote | 14546116 | 347 days 5 hrs ago | IN | 0 ETH | 0.00329333 | ||||
Cast Vote | 14531367 | 349 days 12 hrs ago | IN | 0 ETH | 0.00292534 | ||||
Cast Vote | 14531359 | 349 days 12 hrs ago | IN | 0 ETH | 0.00333408 | ||||
Propose | 14519295 | 351 days 10 hrs ago | IN | 0 ETH | 0.0173161 | ||||
Propose | 14502310 | 354 days 2 hrs ago | IN | 0 ETH | 0.00469448 | ||||
Propose | 14481972 | 357 days 6 hrs ago | IN | 0 ETH | 0.01542165 | ||||
Execute | 12237442 | 706 days 12 hrs ago | IN | 0 ETH | 0.0058668 | ||||
Execute | 12237421 | 706 days 12 hrs ago | IN | 0 ETH | 0.021124 | ||||
Queue | 12224439 | 708 days 12 hrs ago | IN | 0 ETH | 0.0204462 | ||||
Cast Vote | 12198756 | 712 days 10 hrs ago | IN | 0 ETH | 0.00672104 | ||||
Execute | 12192391 | 713 days 10 hrs ago | IN | 0 ETH | 0.021124 | ||||
Cast Vote | 12178777 | 715 days 12 hrs ago | IN | 0 ETH | 0.00643952 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xDB6547...67091fBa
Contract Name:
GovernorAlpha
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-09 */ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; contract GovernorAlpha { /// @dev The name of this contract string public constant name = "Whiteswap Governor Alpha"; /// @dev 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 pure returns (uint) { return 40_000_000e18; } // 4% of WSE /// @dev The number of votes required in order for a voter to become a proposer function proposalThreshold() public pure returns (uint) { return 5_000_000e18; } // 0.5% of WSE /// @dev The maximum number of actions that can be included in a proposal function proposalMaxOperations() public pure returns (uint) { return 10; } // 10 actions /// @dev The delay before voting on a proposal may take place, once proposed function votingDelay() public pure returns (uint) { return 1; } // 1 block /// @dev The duration of voting on a proposal, in unix time function votingPeriod() public pure returns (uint) { return 604_800; } // 7 days in unix time /// @dev The address of the Whiteswap Protocol Timelock TimelockInterface public timelock; /// @dev The address of the Whiteswap governance token WSEInterface public wse; /// @dev The total number of proposals uint public proposalCount; struct Proposal { // @dev WSEque id for looking up a proposal uint id; // @dev Creator of the proposal address proposer; // @dev The timestamp that the proposal will be available for execution, set once the vote succeeds uint eta; // @dev the ordered list of target addresses for calls to be made address[] targets; // @dev The ordered list of values (i.e. msg.value) to be passed to the calls to be made uint[] values; // @dev The ordered list of function signatures to be called string[] signatures; // @dev The ordered list of calldata to be passed to each call bytes[] calldatas; // @dev The block at which voting begins: holders must delegate their votes prior to this block uint startBlock; // @dev The timestamp at which voting ends: votes must be cast prior to this timestamp uint endTimestamp; // @dev Current number of votes in favor of this proposal uint forVotes; // @dev Current number of votes in opposition to this proposal uint againstVotes; // @dev Flag marking whether the proposal has been canceled bool canceled; // @dev Flag marking whether the proposal has been executed bool executed; // @dev Receipts of ballots for the entire set of voters mapping (address => Receipt) receipts; } /// @dev Ballot receipt record for a voter struct Receipt { // @dev Whether or not a vote has been cast bool hasVoted; // @dev Whether or not the voter supports the proposal bool support; // @dev The number of votes the voter had, which were cast uint96 votes; } /// @dev Possible states that a proposal may be in enum ProposalState { Pending, Active, Canceled, Defeated, Succeeded, Queued, Expired, Executed } /// @dev The official record of all proposals ever proposed mapping (uint => Proposal) public proposals; /// @dev The latest proposal for each proposer mapping (address => uint) public latestProposalIds; /// @dev The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); /// @dev The EIP-712 typehash for the ballot struct used by the contract bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,bool support)"); /// @dev An event emitted when a new proposal is created event ProposalCreated(uint id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint startBlock, uint endTimestamp, string description); /// @dev An event emitted when a vote has been cast on a proposal event VoteCast(address voter, uint proposalId, bool support, uint votes); /// @dev An event emitted when a proposal has been canceled event ProposalCanceled(uint id); /// @dev An event emitted when a proposal has been queued in the Timelock event ProposalQueued(uint id, uint eta); /// @dev An event emitted when a proposal has been executed in the Timelock event ProposalExecuted(uint id); constructor(address timelock_, address wse_) public { timelock = TimelockInterface(timelock_); wse = WSEInterface(wse_); } function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) { require(wse.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"); uint 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"); } uint startBlock = add256(block.number, votingDelay()); uint endTimestamp = add256(block.timestamp, votingPeriod()); proposalCount++; Proposal memory newProposal = Proposal({ id: proposalCount, proposer: msg.sender, eta: 0, targets: targets, values: values, signatures: signatures, calldatas: calldatas, startBlock: startBlock, endTimestamp: endTimestamp, 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, endTimestamp, description); return newProposal.id; } function queue(uint proposalId) public { require(state(proposalId) == ProposalState.Succeeded, "GovernorAlpha::queue: proposal can only be queued if it is succeeded"); Proposal storage proposal = proposals[proposalId]; uint eta = add256(block.timestamp, timelock.delay()); for (uint 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, uint value, string memory signature, bytes memory data, uint 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(uint 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 (uint 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(uint proposalId) public { ProposalState state = state(proposalId); require(state != ProposalState.Executed, "GovernorAlpha::cancel: cannot cancel executed proposal"); Proposal storage proposal = proposals[proposalId]; require(wse.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold(), "GovernorAlpha::cancel: proposer above threshold"); proposal.canceled = true; for (uint 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(uint 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(uint proposalId, address voter) public view returns (Receipt memory) { return proposals[proposalId].receipts[voter]; } function state(uint 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.timestamp <= proposal.endTimestamp) { 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(uint proposalId, bool support) public { return _castVote(msg.sender, proposalId, support); } function castVoteBySig(uint 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, uint 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"); uint96 votes = wse.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 add256(uint256 a, uint256 b) internal pure returns (uint) { uint c = a + b; require(c >= a, "addition overflow"); return c; } function sub256(uint256 a, uint256 b) internal pure returns (uint) { require(b <= a, "subtraction underflow"); return a - b; } function getChainId() internal pure returns (uint) { uint chainId; assembly { chainId := chainid() } return chainId; } } interface TimelockInterface { function delay() external view returns (uint); function GRACE_PERIOD() external view returns (uint); function acceptAdmin() external; function queuedTransactions(bytes32 hash) external view returns (bool); function queueTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external returns (bytes32); function cancelTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external; function executeTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external payable returns (bytes memory); } interface WSEInterface { function getPriorVotes(address account, uint blockNumber) external view returns (uint96); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"timelock_","type":"address"},{"internalType":"address","name":"wse_","type":"address"}],"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":"endTimestamp","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"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"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[]"}],"stateMutability":"view","type":"function"},{"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":"uint96","name":"votes","type":"uint96"}],"internalType":"struct GovernorAlpha.Receipt","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"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":"endTimestamp","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"}],"stateMutability":"view","type":"function"},{"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"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorAlpha.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"contract TimelockInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"wse","outputs":[{"internalType":"contract WSEInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200346538038062003465833981016040819052620000349162000066565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055620000bd565b6000806040838503121562000079578182fd5b82516200008681620000a4565b60208401519092506200009981620000a4565b809150509250929050565b6001600160a01b0381168114620000ba57600080fd5b50565b61339880620000cd6000396000f3fe6080604052600436106101755760003560e01c80634634c61f116100cb578063da35c6641161007f578063deaaa7cc11610059578063deaaa7cc146103d0578063e23a9a52146103e5578063fe0d94c11461041257610175565b8063da35c6641461037b578063da95691a14610390578063ddf0b009146103b057610175565b8063b58131b0116100b0578063b58131b01461032f578063bc12589914610344578063d33219b41461036657610175565b80634634c61f146102fa5780637bdbe4d01461031a57610175565b806320606b701161012d5780633932abb1116101075780633932abb1146102985780633e4f49e6146102ad57806340e58ee5146102da57610175565b806320606b701461023e57806324bc1a6414610253578063328dd9821461026857610175565b806306fdde031161015e57806306fdde03146101da57806315373e3d146101fc57806317977c611461021e57610175565b8063013cf08b1461017a57806302a251a3146101b8575b600080fd5b34801561018657600080fd5b5061019a61019536600461256a565b610425565b6040516101af99989796959493929190613228565b60405180910390f35b3480156101c457600080fd5b506101cd61048b565b6040516101af91906129d5565b3480156101e657600080fd5b506101ef610492565b6040516101af9190612a7a565b34801561020857600080fd5b5061021c6102173660046125ae565b6104cb565b005b34801561022a57600080fd5b506101cd6102393660046123dc565b6104da565b34801561024a57600080fd5b506101cd6104ec565b34801561025f57600080fd5b506101cd610510565b34801561027457600080fd5b5061028861028336600461256a565b61051f565b6040516101af949392919061297d565b3480156102a457600080fd5b506101cd6107f7565b3480156102b957600080fd5b506102cd6102c836600461256a565b6107fc565b6040516101af9190612a66565b3480156102e657600080fd5b5061021c6102f536600461256a565b6109c3565b34801561030657600080fd5b5061021c6103153660046125dd565b610c95565b34801561032657600080fd5b506101cd610e93565b34801561033b57600080fd5b506101cd610e98565b34801561035057600080fd5b50610359610ea7565b6040516101af9190612a45565b34801561037257600080fd5b50610359610ec3565b34801561038757600080fd5b506101cd610edf565b34801561039c57600080fd5b506101cd6103ab3660046123f7565b610ee5565b3480156103bc57600080fd5b5061021c6103cb36600461256a565b6113f4565b3480156103dc57600080fd5b506101cd6116eb565b3480156103f157600080fd5b50610405610400366004612582565b61170f565b6040516101af9190613152565b61021c61042036600461256a565b611790565b6003602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b90970154959673ffffffffffffffffffffffffffffffffffffffff90951695939492939192909160ff8082169161010090041689565b62093a8090565b6040518060400160405280601881526020017f57686974657377617020476f7665726e6f7220416c706861000000000000000081525081565b6104d63383836119c4565b5050565b60046020526000908152604090205481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6a211654585005212800000090565b606080606080600060036000878152602001908152602001600020905080600301816004018260050183600601838054806020026020016040519081016040528092919081815260200182805480156105ae57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610583575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561060057602002820191906000526020600020905b8154815260200190600101908083116105ec575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156106f15760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156106dd5780601f106106b2576101008083540402835291602001916106dd565b820191906000526020600020905b8154815290600101906020018083116106c057829003601f168201915b505050505081526020019060010190610628565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156107e15760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b505050505081526020019060010190610718565b5050505090509450945094509450509193509193565b600190565b600081600254101580156108105750600082115b61084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612b93565b60405180910390fd5b6000828152600360205260409020600b81015460ff16156108745760029150506109be565b806007015443116108895760009150506109be565b8060080154421161089e5760019150506109be565b80600a015481600901541115806108bf57506108b8610510565b8160090154105b156108ce5760039150506109be565b60028101546108e15760049150506109be565b600b810154610100900460ff16156108fd5760079150506109be565b6109a8816002015460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c1a287e26040518163ffffffff1660e01b815260040160206040518083038186803b15801561096b57600080fd5b505afa15801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a391906124df565b611c4f565b42106109b85760069150506109be565b60059150505b919050565b60006109ce826107fc565b905060078160078111156109de57fe5b1415610a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690613061565b6000828152600360205260409020610a2c610e98565b600180548382015473ffffffffffffffffffffffffffffffffffffffff9182169263782d6fe19290911690610a62904390611c95565b6040518363ffffffff1660e01b8152600401610a7f929190612873565b60206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190612633565b6bffffffffffffffffffffffff1610610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612de7565b600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560005b6003820154811015610c585760005460038301805473ffffffffffffffffffffffffffffffffffffffff9092169163591fcdfe919084908110610b8357fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff9092169185908110610bb857fe5b9060005260206000200154856005018581548110610bd257fe5b90600052602060002001866006018681548110610beb57fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610c1a959493929190612936565b600060405180830381600087803b158015610c3457600080fd5b505af1158015610c48573d6000803e3d6000fd5b505060019092019150610b449050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610c8891906129d5565b60405180910390a1505050565b60408051808201909152601881527f57686974657377617020476f7665726e6f7220416c706861000000000000000060209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f9822d503dd01fc9755a414578e9b6625a4e37246aba476d03106a5cb47bd0efe610d16611cd7565b30604051602001610d2a94939291906129de565b60405160208183030381529060405280519060200120905060007f8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee8787604051602001610d7993929190612a0f565b60405160208183030381529060405280519060200120905060008282604051602001610da692919061283d565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610de39493929190612a27565b6020604051602081039080840390855afa158015610e05573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610e7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612f81565b610e88818a8a6119c4565b505050505050505050565b600a90565b6a0422ca8b0a00a42500000090565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b6000610eef610e98565b6001805473ffffffffffffffffffffffffffffffffffffffff169063782d6fe1903390610f1d904390611c95565b6040518363ffffffff1660e01b8152600401610f3a929190612873565b60206040518083038186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8a9190612633565b6bffffffffffffffffffffffff1611610fcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612f24565b84518651148015610fe1575083518651145b8015610fee575082518651145b611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612d64565b855161105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612ec7565b611064610e93565b8651111561109e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612cd0565b33600090815260046020526040902054801561114f5760006110bf826107fc565b905060018160078111156110cf57fe5b1415611107576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612fde565b600081600781111561111557fe5b141561114d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612c4d565b505b600061115d436109a36107f7565b9050600061116d426109a361048b565b6002805460010190559050611180611e87565b604051806101a0016040528060025481526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060036000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301908051906020019061128a929190611f09565b50608082015180516112a6916004840191602090910190611f93565b5060a082015180516112c2916005840191602090910190611fda565b5060c082015180516112de916006840191602090910190612033565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff021916908315150217905550905050806000015160046000836020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e6040516113de99989796959493929190613185565b60405180910390a1519998505050505050505050565b60046113ff826107fc565b600781111561140a57fe5b14611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612a8d565b6000818152600360209081526040808320835482517f6a42b8f800000000000000000000000000000000000000000000000000000000815292519194936114c093429373ffffffffffffffffffffffffffffffffffffffff90931692636a42b8f892600480840193919291829003018186803b15801561096b57600080fd5b905060005b60038301548110156116b1576116a98360030182815481106114e357fe5b60009182526020909120015460048501805473ffffffffffffffffffffffffffffffffffffffff909216918490811061151857fe5b906000526020600020015485600501848154811061153257fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b50505050508660060185815481106115f257fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018716150201909416939093049283018590048502810185019091528181529283018282801561169e5780601f106116735761010080835404028352916020019161169e565b820191906000526020600020905b81548152906001019060200180831161168157829003601f168201915b505050505086611cdb565b6001016114c5565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610c889085908490613281565b7f8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee81565b61171761208c565b50600082815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046bffffffffffffffffffffffff16918101919091525b92915050565b600561179b826107fc565b60078111156117a657fe5b146117dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612b10565b6000818152600360205260408120600b810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055905b60038201548110156119885760005460048301805473ffffffffffffffffffffffffffffffffffffffff90921691630825f38f91908490811061185a57fe5b906000526020600020015484600301848154811061187457fe5b60009182526020909120015460048601805473ffffffffffffffffffffffffffffffffffffffff90921691869081106118a957fe5b90600052602060002001548660050186815481106118c357fe5b906000526020600020018760060187815481106118dc57fe5b9060005260206000200188600201546040518763ffffffff1660e01b815260040161190b959493929190612936565b6000604051808303818588803b15801561192457600080fd5b505af1158015611938573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261197f91908101906124f7565b5060010161181b565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f826040516119b891906129d5565b60405180910390a15050565b60016119cf836107fc565b60078111156119da57fe5b14611a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610846906130be565b600082815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452600c8101909252909120805460ff1615611a81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612bf0565b60015460078301546040517f782d6fe100000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff169163782d6fe191611add918a91600401612873565b60206040518083038186803b158015611af557600080fd5b505afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2d9190612633565b90508315611b5b57611b518360090154826bffffffffffffffffffffffff16611c4f565b6009840155611b7d565b611b7783600a0154826bffffffffffffffffffffffff16611c4f565b600a8401555b815460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010085151502177fffffffffffffffffffffffffffffffffffff000000000000000000000000ffff16620100006bffffffffffffffffffffffff8316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611c3f908890889088908690612899565b60405180910390a1505050505050565b600082820183811015611c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612d2d565b9392505050565b600082821115611cd1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108469061311b565b50900390565b4690565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091169063f2b0653790611d1690889088908890889088906020016128dc565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611d4891906129d5565b60206040518083038186803b158015611d6057600080fd5b505afa158015611d74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9891906124c3565b15611dcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690612e44565b6000546040517f3a66f90100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690633a66f90190611e2d90889088908890889088906004016128dc565b602060405180830381600087803b158015611e4757600080fd5b505af1158015611e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7f91906124df565b505050505050565b604051806101a0016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611f83579160200282015b82811115611f8357825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611f29565b50611f8f9291506120ac565b5090565b828054828255906000526020600020908101928215611fce579160200282015b82811115611fce578251825591602001919060010190611fb3565b50611f8f9291506120e3565b828054828255906000526020600020908101928215612027579160200282015b8281111561202757825180516120179184916020909101906120f8565b5091602001919060010190611ffa565b50611f8f929150612165565b828054828255906000526020600020908101928215612080579160200282015b8281111561208057825180516120709184916020909101906120f8565b5091602001919060010190612053565b50611f8f929150612182565b604080516060810182526000808252602082018190529181019190915290565b5b80821115611f8f5780547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001016120ad565b5b80821115611f8f57600081556001016120e4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061213957805160ff1916838001178555611fce565b82800160010185558215611fce5791820182811115611fce578251825591602001919060010190611fb3565b80821115611f8f576000612179828261219f565b50600101612165565b80821115611f8f576000612196828261219f565b50600101612182565b50805460018160011615610100020316600290046000825580601f106121c557506121e3565b601f0160209004906000526020600020908101906121e391906120e3565b50565b803573ffffffffffffffffffffffffffffffffffffffff8116811461178a57600080fd5b600082601f83011261221a578081fd5b813561222d612228826132b6565b61328f565b81815291506020808301908481018184028601820187101561224e57600080fd5b60005b848110156122755761226388836121e6565b84529282019290820190600101612251565b505050505092915050565b600082601f830112612290578081fd5b813561229e612228826132b6565b818152915060208083019084810160005b84811015612275576122c6888484358a010161238e565b845292820192908201906001016122af565b600082601f8301126122e8578081fd5b81356122f6612228826132b6565b818152915060208083019084810160005b848110156122755761231e888484358a010161238e565b84529282019290820190600101612307565b600082601f830112612340578081fd5b813561234e612228826132b6565b81815291506020808301908481018184028601820187101561236f57600080fd5b60005b8481101561227557813584529282019290820190600101612372565b600082601f83011261239e578081fd5b81356123ac612228826132d6565b91508082528360208285010111156123c357600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156123ed578081fd5b611c8e83836121e6565b600080600080600060a0868803121561240e578081fd5b853567ffffffffffffffff80821115612425578283fd5b61243189838a0161220a565b96506020880135915080821115612446578283fd5b61245289838a01612330565b95506040880135915080821115612467578283fd5b61247389838a016122d8565b94506060880135915080821115612488578283fd5b61249489838a01612280565b935060808801359150808211156124a9578283fd5b506124b68882890161238e565b9150509295509295909350565b6000602082840312156124d4578081fd5b8151611c8e81613354565b6000602082840312156124f0578081fd5b5051919050565b600060208284031215612508578081fd5b815167ffffffffffffffff81111561251e578182fd5b8201601f8101841361252e578182fd5b805161253c612228826132d6565b818152856020838501011115612550578384fd5b612561826020830160208601613324565b95945050505050565b60006020828403121561257b578081fd5b5035919050565b60008060408385031215612594578182fd5b823591506125a584602085016121e6565b90509250929050565b600080604083850312156125c0578182fd5b8235915060208301356125d281613354565b809150509250929050565b600080600080600060a086880312156125f4578283fd5b85359450602086013561260681613354565b9350604086013560ff8116811461261b578384fd5b94979396509394606081013594506080013592915050565b600060208284031215612644578081fd5b81516bffffffffffffffffffffffff81168114611c8e578182fd5b6000815180845260208085019450808401835b838110156126a457815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612672565b509495945050505050565b60008282518085526020808601955080818302840101818601855b84811015612716577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018952612704838351612752565b988401989250908301906001016126ca565b5090979650505050505050565b6000815180845260208085019450808401835b838110156126a457815187529582019590820190600101612736565b6000815180845261276a816020860160208601613324565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081546001808216600081146127ba57600181146127f657612834565b607f600284041686527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083166020870152604086019350612834565b6002830480875261280686613318565b60005b8281101561282a5781546020828b0101528482019150602081019050612809565b8801602001955050505b50505092915050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9490941684526020840192909252151560408301526bffffffffffffffffffffffff16606082015260800190565b600073ffffffffffffffffffffffffffffffffffffffff8716825285602083015260a0604083015261291160a0830186612752565b82810360608401526129238186612752565b9150508260808301529695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8716825285602083015260a0604083015261296b60a083018661279c565b8281036060840152612923818661279c565b600060808252612990608083018761265f565b82810360208401526129a28187612723565b905082810360408401526129b681866126af565b905082810360608401526129ca81856126af565b979650505050505050565b90815260200190565b9384526020840192909252604083015273ffffffffffffffffffffffffffffffffffffffff16606082015260800190565b92835260208301919091521515604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6020810160088310612a7457fe5b91905290565b600060208252611c8e6020830184612752565b60208082526044908201527f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206360408201527f616e206f6e6c792062652071756575656420696620697420697320737563636560608201527f6564656400000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526045908201527f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c60408201527f2063616e206f6e6c79206265206578656375746564206966206974206973207160608201527f7565756564000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526029908201527f476f7665726e6f72416c7068613a3a73746174653a20696e76616c696420707260408201527f6f706f73616c2069640000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722060408201527f616c726561647920766f74656400000000000000000000000000000000000000606082015260800190565b60208082526059908201527f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766560408201527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60608201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000608082015260a00190565b60208082526028908201527f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7960408201527f20616374696f6e73000000000000000000000000000000000000000000000000606082015260800190565b60208082526011908201527f6164646974696f6e206f766572666c6f77000000000000000000000000000000604082015260600190565b60208082526044908201527f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c60408201527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d60608201527f6174636800000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602f908201527f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722060408201527f61626f7665207468726573686f6c640000000000000000000000000000000000606082015260800190565b60208082526044908201527f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207060408201527f726f706f73616c20616374696f6e20616c72656164792071756575656420617460608201527f2065746100000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252602c908201527f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f60408201527f7669646520616374696f6e730000000000000000000000000000000000000000606082015260800190565b6020808252603f908201527f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657260408201527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400606082015260800190565b6020808252602f908201527f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e60408201527f76616c6964207369676e61747572650000000000000000000000000000000000606082015260800190565b60208082526058908201527f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766560408201527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60608201527f20616c7265616479206163746976652070726f706f73616c0000000000000000608082015260a00190565b60208082526036908201527f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f7420636160408201527f6e63656c2065786563757465642070726f706f73616c00000000000000000000606082015260800190565b6020808252602a908201527f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e6760408201527f20697320636c6f73656400000000000000000000000000000000000000000000606082015260800190565b60208082526015908201527f7375627472616374696f6e20756e646572666c6f770000000000000000000000604082015260600190565b8151151581526020808301511515908201526040918201516bffffffffffffffffffffffff169181019190915260600190565b60006101208b835273ffffffffffffffffffffffffffffffffffffffff8b1660208401528060408401526131bb8184018b61265f565b905082810360608401526131cf818a612723565b905082810360808401526131e381896126af565b905082810360a08401526131f781886126af565b90508560c08401528460e08401528281036101008401526132188185612752565b9c9b505050505050505050505050565b98895273ffffffffffffffffffffffffffffffffffffffff97909716602089015260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b918252602082015260400190565b60405181810167ffffffffffffffff811182821017156132ae57600080fd5b604052919050565b600067ffffffffffffffff8211156132cc578081fd5b5060209081020190565b600067ffffffffffffffff8211156132ec578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60009081526020902090565b60005b8381101561333f578181015183820152602001613327565b8381111561334e576000848401525b50505050565b80151581146121e357600080fdfea26469706673582212204ee1f363e811fc8fb751296113eb71460b7dc8ef9d5f2c98601f97e79cddb68b64736f6c634300060c0033000000000000000000000000a3d5eaf58d9c933d209fda9cf39d77664a5bb86f00000000000000000000000097a527283c6c6e6b9d82fdc720496b8873ec86a0
Deployed ByteCode Sourcemap
111:12996:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3574:43;;;;;;;;;;-1:-1:-1;3574:43:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1064:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;181:56::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11013:124::-;;;;;;;;;;-1:-1:-1;11013:124:0;;;;;:::i;:::-;;:::i;:::-;;3678:50;;;;;;;;;;-1:-1:-1;3678:50:0;;;;;:::i;:::-;;:::i;3798:122::-;;;;;;;;;;;;;:::i;376:75::-;;;;;;;;;;;;;:::i;9498:287::-;;;;;;;;;;-1:-1:-1;9498:287:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;917:63::-;;;;;;;;;;;;;:::i;9953:1052::-;;;;;;;;;;-1:-1:-1;9953:1052:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8768:722::-;;;;;;;;;;-1:-1:-1;8768:722:0;;;;;:::i;:::-;;:::i;11145:625::-;;;;;;;;;;-1:-1:-1;11145:625:0;;;;;:::i;:::-;;:::i;739:74::-;;;;;;;;;;;;;:::i;557:80::-;;;;;;;;;;;;;:::i;1328:23::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1226:33::-;;;;;;;;;;;;;:::i;1404:25::-;;;;;;;;;;;;;:::i;5017:2192::-;;;;;;;;;;-1:-1:-1;5017:2192:0;;;;;:::i;:::-;;:::i;7217:577::-;;;;;;;;;;-1:-1:-1;7217:577:0;;;;;:::i;:::-;;:::i;4007:94::-;;;;;;;;;;;;;:::i;9793:152::-;;;;;;;;;;-1:-1:-1;9793:152:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8186:574::-;;;;;;:::i;:::-;;:::i;3574:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1064:70::-;1124:7;1064:70;:::o;181:56::-;;;;;;;;;;;;;;;;;;;:::o;11013:124::-;11087:42;11097:10;11109;11121:7;11087:9;:42::i;:::-;11013:124;;:::o;3678:50::-;;;;;;;;;;;;;:::o;3798:122::-;3840:80;3798:122;:::o;376:75::-;435:13;376:75;:::o;9498:287::-;9556:24;9582:20;9604:26;9632:24;9669:18;9690:9;:21;9700:10;9690:21;;;;;;;;;;;9669:42;;9730:1;:9;;9741:1;:8;;9751:1;:12;;9765:1;:11;;9722:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9498:287;;;;;:::o;917:63::-;976:1;917:63;:::o;9953:1052::-;10006:13;10057:10;10040:13;;:27;;:45;;;;;10084:1;10071:10;:14;10040:45;10032:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;10142:25;10170:21;;;:9;:21;;;;;10206:17;;;;;;10202:796;;;10247:22;10240:29;;;;;10202:796;10307:8;:19;;;10291:12;:35;10287:711;;10350:21;10343:28;;;;;10287:711;10412:8;:21;;;10393:15;:40;10389:609;;10457:20;10450:27;;;;;10389:609;10520:8;:21;;;10499:8;:17;;;:42;;:79;;;;10565:13;:11;:13::i;:::-;10545:8;:17;;;:33;10499:79;10495:503;;;10602:22;10595:29;;;;;10495:503;10646:12;;;;10642:356;;10687:23;10680:30;;;;;10642:356;10732:17;;;;;;;;;10728:270;;;10773:22;10766:29;;;;;10728:270;10836:45;10843:8;:12;;;10857:8;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10836:6;:45::i;:::-;10817:15;:64;10813:185;;10905:21;10898:28;;;;;10813:185;10966:20;10959:27;;;9953:1052;;;;:::o;8768:722::-;8819:19;8841:17;8847:10;8841:5;:17::i;:::-;8819:39;-1:-1:-1;8886:22:0;8877:5;:31;;;;;;;;;;8869:98;;;;;;;;;;;;:::i;:::-;8980:25;9008:21;;;:9;:21;;;;;9112:19;:17;:19::i;:::-;9048:3;;;9066:17;;;;9048:3;;;;;:17;;9066;;;;9085:23;;9092:12;;9085:6;:23::i;:::-;9048:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;9040:143;;;;;;;;;;;;:::i;:::-;9196:17;;;:24;;;;9216:4;9196:24;;;:17;9231:206;9252:16;;;:23;9248:27;;9231:206;;;9297:8;;9324:16;;;:19;;9297:8;;;;;:26;;9324:16;9341:1;;9324:19;;;;;;;;;;;;;;;;9345:15;;;:18;;9324:19;;;;;9361:1;;9345:18;;;;;;;;;;;;;;9365:8;:19;;9385:1;9365:22;;;;;;;;;;;;;;;9389:8;:18;;9408:1;9389:21;;;;;;;;;;;;;;;9412:8;:12;;;9297:128;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9277:3:0;;;;;-1:-1:-1;9231:206:0;;-1:-1:-1;9231:206:0;;;9454:28;9471:10;9454:28;;;;;;:::i;:::-;;;;;;;;8768:722;;;:::o;11145:625::-;11328:4;;;;;;;;;;;;;;;;;;11248:23;3840:80;11312:22;11336:12;:10;:12::i;:::-;11358:4;11284:80;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11274:91;;;;;;11248:117;;11376:18;4049:52;11435:10;11447:7;11407:48;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11397:59;;;;;;11376:80;;11467:14;11523:15;11540:10;11494:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11484:68;;;;;;11467:85;;11563:17;11583:26;11593:6;11601:1;11604;11607;11583:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11583:26:0;;;;;;-1:-1:-1;;11628:23:0;;;11620:83;;;;;;;;;;;;:::i;:::-;11721:41;11731:9;11742:10;11754:7;11721:9;:41::i;:::-;11714:48;;;;11145:625;;;;;:::o;739:74::-;808:2;739:74;:::o;557:80::-;622:12;557:80;:::o;1328:23::-;;;;;;:::o;1226:33::-;;;;;;:::o;1404:25::-;;;;:::o;5017:2192::-;5179:4;5261:19;:17;:19::i;:::-;5204:3;;;;;;:17;;5222:10;;5234:23;;5241:12;;5234:6;:23::i;:::-;5204:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:76;;;5196:152;;;;;;;;;;;;:::i;:::-;5385:6;:13;5367:7;:14;:31;:70;;;;;5420:10;:17;5402:7;:14;:35;5367:70;:108;;;;;5459:9;:16;5441:7;:14;:34;5367:108;5359:189;;;;;;;;;;;;:::i;:::-;5567:14;;5559:76;;;;;;;;;;;;:::i;:::-;5672:23;:21;:23::i;:::-;5654:7;:14;:41;;5646:94;;;;;;;;;;;;:::i;:::-;5795:10;5753:21;5777:29;;;:17;:29;;;;;;5821:21;;5817:454;;5857:42;5902:23;5908:16;5902:5;:23::i;:::-;5857:68;-1:-1:-1;5978:20:0;5946:28;:52;;;;;;;;;;5938:153;;;;;;;;;;;;:::i;:::-;6144:21;6112:28;:53;;;;;;;;;;6104:155;;;;;;;;;;;;:::i;:::-;5817:454;;6283:15;6301:35;6308:12;6322:13;:11;:13::i;6301:35::-;6283:53;;6347:17;6367:39;6374:15;6391:14;:12;:14::i;6367:39::-;6419:13;:15;;;;;;6347:59;-1:-1:-1;6445:27:0;;:::i;:::-;6475:435;;;;;;;;6503:13;;6475:435;;;;6541:10;6475:435;;;;;;6571:1;6475:435;;;;6596:7;6475:435;;;;6626:6;6475:435;;;;6659:10;6475:435;;;;6695:9;6475:435;;;;6731:10;6475:435;;;;6770:12;6475:435;;;;6807:1;6475:435;;;;6837:1;6475:435;;;;6863:5;6475:435;;;;;;6893:5;6475:435;;;;;6445:465;;6951:11;6923:9;:25;6933:11;:14;;;6923:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6923:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6923:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6923:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7015:11;:14;;;6973:17;:39;6991:11;:20;;;6973:39;;;;;;;;;;;;;;;:56;;;;7047:122;7063:11;:14;;;7079:10;7091:7;7100:6;7108:10;7120:9;7131:10;7143:12;7157:11;7047:122;;;;;;;;;;;;;;:::i;:::-;;;;;;;;7187:14;;5017:2192;-1:-1:-1;;;;;;;;;5017:2192:0:o;7217:577::-;7296:23;7275:17;7281:10;7275:5;:17::i;:::-;:44;;;;;;;;;7267:125;;;;;;;;;;;;:::i;:::-;7403:25;7431:21;;;:9;:21;;;;;;;;7498:8;;:16;;;;;;;7431:21;;7403:25;7474:41;;7481:15;;7498:8;;;;;:14;;:16;;;;;7431:21;;7498:16;;;;;;:8;:16;;;;;;;;;;7474:41;7463:52;;7531:6;7526:185;7547:16;;;:23;7543:27;;7526:185;;;7592:107;7607:8;:16;;7624:1;7607:19;;;;;;;;;;;;;;;;;;7628:15;;;:18;;7607:19;;;;;7644:1;;7628:18;;;;;;;;;;;;;;7648:8;:19;;7668:1;7648:22;;;;;;;;;;;;;;;;;;7592:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7648:22;7592:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:8;:18;;7691:1;7672:21;;;;;;;;;;;;;;;;;;7592:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:21;7592:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7695:3;7592:14;:107::i;:::-;7572:3;;7526:185;;;-1:-1:-1;7721:12:0;;;:18;;;7755:31;;;;;;7770:10;;7736:3;;7755:31;:::i;4007:94::-;4049:52;4007:94;:::o;9793:152::-;9866:14;;:::i;:::-;-1:-1:-1;9900:21:0;;;;:9;:21;;;;;;;;:37;;;;;:30;;:37;;;;;;9893:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9793:152;;;;;:::o;8186:574::-;8275:20;8254:17;8260:10;8254:5;:17::i;:::-;:41;;;;;;;;;8246:123;;;;;;;;;;;;:::i;:::-;8380:25;8408:21;;;:9;:21;;;;;8440:17;;;:24;;;;;;;;8408:21;8475:234;8496:16;;;:23;8492:27;;8475:234;;;8541:8;;8576:15;;;:18;;8541:8;;;;;:27;;8576:15;8592:1;;8576:18;;;;;;;;;;;;;;8596:8;:16;;8613:1;8596:19;;;;;;;;;;;;;;;;;;8617:15;;;:18;;8596:19;;;;;8633:1;;8617:18;;;;;;;;;;;;;;8637:8;:19;;8657:1;8637:22;;;;;;;;;;;;;;;8661:8;:18;;8680:1;8661:21;;;;;;;;;;;;;;;8684:8;:12;;;8541:156;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8521:3:0;;8475:234;;;;8724:28;8741:10;8724:28;;;;;;:::i;:::-;;;;;;;;8186:574;;:::o;11778:837::-;11892:20;11871:17;11877:10;11871:5;:17::i;:::-;:41;;;;;;;;;11863:96;;;;;;;;;;;;:::i;:::-;11970:25;11998:21;;;:9;:21;;;;;;;;12056:24;;;;;:17;;;:24;;;;;;12099:16;;;;:25;12091:83;;;;;;;;;;;;:::i;:::-;12200:3;;12225:19;;;;12200:45;;;;;12185:12;;12200:3;;;:17;;:45;;12218:5;;12200:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12185:60;;12262:7;12258:185;;;12306:32;12313:8;:17;;;12332:5;12306:32;;:6;:32::i;:::-;12286:17;;;:52;12258:185;;;12395:36;12402:8;:21;;;12425:5;12395:36;;:6;:36::i;:::-;12371:21;;;:60;12258:185;12455:23;;12474:4;12455:23;;;;;12489:25;;12455:23;12489:25;;;;;12525:21;;;;;;;;;;12564:43;;;;;;12573:5;;12580:10;;12489:25;;12525:21;;12564:43;:::i;:::-;;;;;;;;11778:837;;;;;;:::o;12623:166::-;12684:4;12710:5;;;12734:6;;;;12726:36;;;;;;;;;;;;:::i;:::-;12780:1;12623:166;-1:-1:-1;;;12623:166:0:o;12797:149::-;12858:4;12888:1;12883;:6;;12875:40;;;;;;;;;;;;:::i;:::-;-1:-1:-1;12933:5:0;;;12797:149::o;12954:150::-;13061:9;12954:150;:::o;7802:376::-;7937:8;;7975:47;;7937:8;;;;;:27;;7975:47;;7986:6;;7994:5;;8001:9;;8012:4;;8018:3;;7975:47;;;:::i;:::-;;;;;;;;;;;;;7965:58;;;;;;7937:87;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7936:88;7928:169;;;;;;;;;;;;:::i;:::-;8108:8;;:62;;;;;:8;;;;;:25;;:62;;8134:6;;8142:5;;8149:9;;8160:4;;8166:3;;8108:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7802:376;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130::-;72:20;;52989:42;52978:54;;55379:35;;55369:2;;55428:1;;55418:12;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;:::i;:::-;354:80;:::i;:::-;462:21;;;345:89;-1:-1;506:4;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;645:1;;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;:::i;:::-;748:50;;812:14;;;;840;;;;702:1;695:9;655:206;;;659:14;;;;;237:630;;;;:::o;891:705::-;;1017:3;1010:4;1002:6;998:17;994:27;984:2;;-1:-1;;1025:12;984:2;1072:6;1059:20;1094:89;1109:73;1175:6;1109:73;:::i;1094:89::-;1211:21;;;1085:98;-1:-1;1255:4;1268:14;;;;1243:17;;;1363:1;1348:242;1373:6;1370:1;1367:13;1348:242;;;1480:46;1522:3;1255:4;1456:3;1443:17;1247:6;1431:30;;1480:46;:::i;:::-;1468:59;;1541:14;;;;1569;;;;1395:1;1388:9;1348:242;;1621:708;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;-1:-1;;1756:12;1715:2;1803:6;1790:20;1825:90;1840:74;1907:6;1840:74;:::i;1825:90::-;1943:21;;;1816:99;-1:-1;1987:4;2000:14;;;;1975:17;;;2095:1;2080:243;2105:6;2102:1;2099:13;2080:243;;;2212:47;2255:3;1987:4;2188:3;2175:17;1979:6;2163:30;;2212:47;:::i;:::-;2200:60;;2274:14;;;;2302;;;;2127:1;2120:9;2080:243;;2355:707;;2472:3;2465:4;2457:6;2453:17;2449:27;2439:2;;-1:-1;;2480:12;2439:2;2527:6;2514:20;2549:80;2564:64;2621:6;2564:64;:::i;2549:80::-;2657:21;;;2540:89;-1:-1;2701:4;2714:14;;;;2689:17;;;2803;;;2794:27;;;;2791:36;-1:-1;2788:2;;;2840:1;;2830:12;2788:2;2865:1;2850:206;2875:6;2872:1;2869:13;2850:206;;;5032:20;;2943:50;;3007:14;;;;3035;;;;2897:1;2890:9;2850:206;;3615:440;;3716:3;3709:4;3701:6;3697:17;3693:27;3683:2;;-1:-1;;3724:12;3683:2;3771:6;3758:20;3793:64;3808:48;3849:6;3808:48;:::i;3793:64::-;3784:73;;3877:6;3870:5;3863:21;3981:3;3913:4;3972:6;3905;3963:16;;3960:25;3957:2;;;3998:1;;3988:12;3957:2;54670:6;3913:4;3905:6;3901:17;3913:4;3939:5;3935:16;54647:30;54726:1;54708:16;;;3913:4;54708:16;54701:27;3939:5;3676:379;-1:-1;;3676:379::o;5515:241::-;;5619:2;5607:9;5598:7;5594:23;5590:32;5587:2;;;-1:-1;;5625:12;5587:2;5687:53;5732:7;5708:22;5687:53;:::i;5763:1431::-;;;;;;6064:3;6052:9;6043:7;6039:23;6035:33;6032:2;;;-1:-1;;6071:12;6032:2;6129:17;6116:31;6167:18;;6159:6;6156:30;6153:2;;;-1:-1;;6189:12;6153:2;6219:78;6289:7;6280:6;6269:9;6265:22;6219:78;:::i;:::-;6209:88;;6362:2;6351:9;6347:18;6334:32;6320:46;;6167:18;6378:6;6375:30;6372:2;;;-1:-1;;6408:12;6372:2;6438:78;6508:7;6499:6;6488:9;6484:22;6438:78;:::i;:::-;6428:88;;6581:2;6570:9;6566:18;6553:32;6539:46;;6167:18;6597:6;6594:30;6591:2;;;-1:-1;;6627:12;6591:2;6657:88;6737:7;6728:6;6717:9;6713:22;6657:88;:::i;:::-;6647:98;;6810:2;6799:9;6795:18;6782:32;6768:46;;6167:18;6826:6;6823:30;6820:2;;;-1:-1;;6856:12;6820:2;6886:87;6965:7;6956:6;6945:9;6941:22;6886:87;:::i;:::-;6876:97;;7038:3;7027:9;7023:19;7010:33;6996:47;;6167:18;7055:6;7052:30;7049:2;;;-1:-1;;7085:12;7049:2;;7115:63;7170:7;7161:6;7150:9;7146:22;7115:63;:::i;:::-;7105:73;;;6026:1168;;;;;;;;:::o;7201:257::-;;7313:2;7301:9;7292:7;7288:23;7284:32;7281:2;;;-1:-1;;7319:12;7281:2;3282:6;3276:13;3294:30;3318:5;3294:30;:::i;7465:263::-;;7580:2;7568:9;7559:7;7555:23;7551:32;7548:2;;;-1:-1;;7586:12;7548:2;-1:-1;3551:13;;7542:186;-1:-1;7542:186::o;7735:360::-;;7859:2;7847:9;7838:7;7834:23;7830:32;7827:2;;;-1:-1;;7865:12;7827:2;7916:17;7910:24;7954:18;7946:6;7943:30;7940:2;;;-1:-1;;7976:12;7940:2;8047:22;;4169:4;4157:17;;4153:27;-1:-1;4143:2;;-1:-1;;4184:12;4143:2;4224:6;4218:13;4246:64;4261:48;4302:6;4261:48;:::i;4246:64::-;4330:6;4323:5;4316:21;4434:3;7859:2;4425:6;4358;4416:16;;4413:25;4410:2;;;-1:-1;;4441:12;4410:2;4461:39;4493:6;7859:2;4392:5;4388:16;7859:2;4358:6;4354:17;4461:39;:::i;:::-;7996:83;7821:274;-1:-1;;;;;7821:274::o;8102:241::-;;8206:2;8194:9;8185:7;8181:23;8177:32;8174:2;;;-1:-1;;8212:12;8174:2;-1:-1;5032:20;;8168:175;-1:-1;8168:175::o;8620:366::-;;;8741:2;8729:9;8720:7;8716:23;8712:32;8709:2;;;-1:-1;;8747:12;8709:2;5045:6;5032:20;8799:63;;8917:53;8962:7;8899:2;8942:9;8938:22;8917:53;:::i;:::-;8907:63;;8703:283;;;;;:::o;8993:360::-;;;9111:2;9099:9;9090:7;9086:23;9082:32;9079:2;;;-1:-1;;9117:12;9079:2;5045:6;5032:20;9169:63;;9269:2;9309:9;9305:22;3134:20;3159:30;3183:5;3159:30;:::i;:::-;9277:60;;;;9073:280;;;;;:::o;9360:733::-;;;;;;9527:3;9515:9;9506:7;9502:23;9498:33;9495:2;;;-1:-1;;9534:12;9495:2;5045:6;5032:20;9586:63;;9686:2;9726:9;9722:22;3134:20;3159:30;3183:5;3159:30;:::i;:::-;9694:60;-1:-1;9791:2;9828:22;;5308:20;53194:4;53183:16;;55867:33;;55857:2;;-1:-1;;55904:12;55857:2;9489:604;;;;-1:-1;9799:61;;9897:2;9936:22;;3403:20;;-1:-1;10005:3;10045:22;3403:20;;9489:604;-1:-1;;9489:604::o;10100:261::-;;10214:2;10202:9;10193:7;10189:23;10185:32;10182:2;;;-1:-1;;10220:12;10182:2;5459:6;5453:13;53283:26;56015:5;53272:38;55991:5;55988:34;55978:2;;-1:-1;;56026:12;11542:690;;11735:5;49685:12;51044:6;51039:3;51032:19;51081:4;;51076:3;51072:14;11747:93;;51081:4;11911:5;48717:14;-1:-1;11950:260;11975:6;11972:1;11969:13;11950:260;;;12036:13;;52989:42;52978:54;11342:37;;10522:14;;;;50523;;;;11997:1;11990:9;11950:260;;;-1:-1;12216:10;;11666:566;-1:-1;;;;;11666:566::o;12267:920::-;;12416:77;12487:5;49685:12;51044:6;51039:3;51032:19;51081:4;;51076:3;51072:14;12499:102;;51081:4;;12658:6;12654:17;51076:3;12645:27;;51081:4;12752:5;48717:14;-1:-1;12791:357;12816:6;12813:1;12810:13;12791:357;;;12868:20;51076:3;12872:4;12868:20;;12863:3;12856:33;10670:64;10730:3;12923:6;12917:13;10670:64;:::i;:::-;13127:14;;;;12937:90;-1:-1;50523:14;;;;12838:1;12831:9;12791:357;;;-1:-1;13171:10;;12409:778;-1:-1;;;;;;;12409:778::o;14191:690::-;;14384:5;49685:12;51044:6;51039:3;51032:19;51081:4;;51076:3;51072:14;14396:93;;51081:4;14560:5;48717:14;-1:-1;14599:260;14624:6;14621:1;14618:13;14599:260;;;14685:13;;15172:37;;11104:14;;;;50523;;;;14646:1;14639:9;14599:260;;15380:323;;15512:5;49685:12;51044:6;51039:3;51032:19;15595:52;15640:6;51081:4;51076:3;51072:14;51081:4;15621:5;15617:16;15595:52;:::i;:::-;55188:2;55168:14;55184:7;55164:28;15659:39;;;;51081:4;15659:39;;15460:243;-1:-1;;15460:243::o;16083:818::-;;16200:5;16194:12;16234:1;;16223:9;16219:17;16247:1;16242:247;;;;16500:1;16495:400;;;;16212:683;;16242:247;16320:4;16316:1;16305:9;16301:17;16297:28;51039:3;51032:19;16443:9;16432;16428:25;51081:4;51076:3;51072:14;16416:38;16468:14;51076:3;16468:14;16461:21;;16242:247;;16495:400;16564:1;16553:9;16549:17;51044:6;51039:3;51032:19;16672:37;16703:5;16672:37;:::i;:::-;-1:-1;16733:130;16747:6;16744:1;16741:13;16733:130;;;16812:7;16806:14;51081:4;16802:1;51076:3;16793:11;;16786:35;16234:1;16844:7;16840:15;16829:26;;51081:4;16766:1;16762:12;16757:17;;16733:130;;;16877:11;;51081:4;16877:11;;-1:-1;;;16212:683;;;;16170:731;;;;:::o;27602:659::-;20175:66;20155:87;;20140:1;20261:11;;15172:37;;;;28113:12;;;15172:37;28224:12;;;27847:414::o;28268:349::-;52989:42;52978:54;;;;11211:58;;28603:2;28588:18;;15172:37;28431:2;28416:18;;28402:215::o;28964:542::-;52989:42;52978:54;;;;11342:37;;29333:2;29318:18;;15172:37;;;;52664:13;52657:21;29410:2;29395:18;;14944:34;53283:26;53272:38;29492:2;29477:18;;27434:49;29168:3;29153:19;;29139:367::o;29513:840::-;;52989:42;52580:5;52978:54;11349:3;11342:37;15202:5;29955:2;29944:9;29940:18;15172:37;29790:3;29992:2;29981:9;29977:18;29970:48;30032:78;29790:3;29779:9;29775:19;30096:6;30032:78;:::i;:::-;30158:9;30152:4;30148:20;30143:2;30132:9;30128:18;30121:48;30183:76;30254:4;30245:6;30183:76;:::i;:::-;30175:84;;;15202:5;30338:3;30327:9;30323:19;15172:37;29761:592;;;;;;;;:::o;30360:828::-;;52989:42;11372:5;52978:54;11349:3;11342:37;15202:5;30796:2;30785:9;30781:18;15172:37;30631:3;30833:2;30822:9;30818:18;30811:48;30873:75;30631:3;30620:9;30616:19;30934:6;30873:75;:::i;:::-;30996:9;30990:4;30986:20;30981:2;30970:9;30966:18;30959:48;31021:73;31089:4;31080:6;31021:73;:::i;31195:1224::-;;31644:3;31666:17;31659:47;31720:108;31644:3;31633:9;31629:19;31814:6;31720:108;:::i;:::-;31876:9;31870:4;31866:20;31861:2;31850:9;31846:18;31839:48;31901:108;32004:4;31995:6;31901:108;:::i;:::-;31893:116;;32057:9;32051:4;32047:20;32042:2;32031:9;32027:18;32020:48;32082:128;32205:4;32196:6;32082:128;:::i;:::-;32074:136;;32258:9;32252:4;32248:20;32243:2;32232:9;32228:18;32221:48;32283:126;32404:4;32395:6;32283:126;:::i;:::-;32275:134;31615:804;-1:-1;;;;;;;31615:804::o;32426:222::-;15172:37;;;32553:2;32538:18;;32524:124::o;32655:556::-;15172:37;;;33031:2;33016:18;;15172:37;;;;33114:2;33099:18;;15172:37;52989:42;52978:54;33197:2;33182:18;;11342:37;32866:3;32851:19;;32837:374::o;33218:432::-;15172:37;;;33559:2;33544:18;;15172:37;;;;52664:13;52657:21;33636:2;33621:18;;14944:34;33395:2;33380:18;;33366:284::o;33657:548::-;15172:37;;;53194:4;53183:16;;;;34025:2;34010:18;;27317:35;34108:2;34093:18;;15172:37;34191:2;34176:18;;15172:37;33864:3;33849:19;;33835:370::o;34212:274::-;52989:42;52978:54;;;;17006:76;;34365:2;34350:18;;34336:150::o;34764:252::-;34906:2;34891:18;;55291:1;55281:12;;55271:2;;55297:9;55271:2;17355:65;;;34877:139;:::o;35023:310::-;;35170:2;35191:17;35184:47;35245:78;35170:2;35159:9;35155:18;35309:6;35245:78;:::i;35340:416::-;35540:2;35554:47;;;19201:2;35525:18;;;51032:19;19237:34;51072:14;;;19217:55;19306:34;19292:12;;;19285:56;19375:6;19361:12;;;19354:28;19401:12;;;35511:245::o;35763:416::-;35963:2;35977:47;;;19652:2;35948:18;;;51032:19;19688:34;51072:14;;;19668:55;19757:34;19743:12;;;19736:56;19826:7;19812:12;;;19805:29;19853:12;;;35934:245::o;36186:416::-;36386:2;36400:47;;;20511:2;36371:18;;;51032:19;20547:34;51072:14;;;20527:55;20616:11;20602:12;;;20595:33;20647:12;;;36357:245::o;36609:416::-;36809:2;36823:47;;;20898:2;36794:18;;;51032:19;20934:34;51072:14;;;20914:55;21003:15;20989:12;;;20982:37;21038:12;;;36780:245::o;37032:416::-;37232:2;37246:47;;;21289:2;37217:18;;;51032:19;21325:34;51072:14;;;21305:55;21394:34;21380:12;;;21373:56;21463:27;21449:12;;;21442:49;21510:12;;;37203:245::o;37455:416::-;37655:2;37669:47;;;21761:2;37640:18;;;51032:19;21797:34;51072:14;;;21777:55;21866:10;21852:12;;;21845:32;21896:12;;;37626:245::o;37878:416::-;38078:2;38092:47;;;22147:2;38063:18;;;51032:19;22183;51072:14;;;22163:40;22222:12;;;38049:245::o;38301:416::-;38501:2;38515:47;;;22473:2;38486:18;;;51032:19;22509:34;51072:14;;;22489:55;22578:34;22564:12;;;22557:56;22647:6;22633:12;;;22626:28;22673:12;;;38472:245::o;38724:416::-;38924:2;38938:47;;;22924:2;38909:18;;;51032:19;22960:34;51072:14;;;22940:55;23029:17;23015:12;;;23008:39;23066:12;;;38895:245::o;39147:416::-;39347:2;39361:47;;;23317:2;39332:18;;;51032:19;23353:34;51072:14;;;23333:55;23422:34;23408:12;;;23401:56;23491:6;23477:12;;;23470:28;23517:12;;;39318:245::o;39570:416::-;39770:2;39784:47;;;23768:2;39755:18;;;51032:19;23804:34;51072:14;;;23784:55;23873:14;23859:12;;;23852:36;23907:12;;;39741:245::o;39993:416::-;40193:2;40207:47;;;24158:2;40178:18;;;51032:19;24194:34;51072:14;;;24174:55;24263:33;24249:12;;;24242:55;24316:12;;;40164:245::o;40416:416::-;40616:2;40630:47;;;24567:2;40601:18;;;51032:19;24603:34;51072:14;;;24583:55;24672:17;24658:12;;;24651:39;24709:12;;;40587:245::o;40839:416::-;41039:2;41053:47;;;24960:2;41024:18;;;51032:19;24996:34;51072:14;;;24976:55;25065:34;25051:12;;;25044:56;25134:26;25120:12;;;25113:48;25180:12;;;41010:245::o;41262:416::-;41462:2;41476:47;;;25431:2;41447:18;;;51032:19;25467:34;51072:14;;;25447:55;25536:24;25522:12;;;25515:46;25580:12;;;41433:245::o;41685:416::-;41885:2;41899:47;;;25831:2;41870:18;;;51032:19;25867:34;51072:14;;;25847:55;25936:12;25922;;;25915:34;25968:12;;;41856:245::o;42108:416::-;42308:2;42322:47;;;26219:2;42293:18;;;51032:19;26255:23;51072:14;;;26235:44;26298:12;;;42279:245::o;42531:318::-;26602:23;;52664:13;52657:21;14944:34;;26770:4;26759:16;;;26753:23;52664:13;52657:21;26824:14;;;14944:34;26919:4;26908:16;;;26902:23;53283:26;53272:38;26977:14;;;27554:36;;;;42706:2;42691:18;;42677:172::o;43085:1888::-;;43702:3;15202:5;15179:3;15172:37;52989:42;52580:5;52978:54;43875:2;43864:9;43860:18;11211:58;43702:3;43912:2;43901:9;43897:18;43890:48;43952:108;43702:3;43691:9;43687:19;44046:6;43952:108;:::i;:::-;43944:116;;44108:9;44102:4;44098:20;44093:2;44082:9;44078:18;44071:48;44133:108;44236:4;44227:6;44133:108;:::i;:::-;44125:116;;44290:9;44284:4;44280:20;44274:3;44263:9;44259:19;44252:49;44315:128;44438:4;44429:6;44315:128;:::i;:::-;44307:136;;44492:9;44486:4;44482:20;44476:3;44465:9;44461:19;44454:49;44517:126;44638:4;44629:6;44517:126;:::i;:::-;44509:134;;15202:5;44722:3;44711:9;44707:19;15172:37;15202:5;44806:3;44795:9;44791:19;15172:37;44860:9;44854:4;44850:20;44844:3;44833:9;44829:19;44822:49;44885:78;44958:4;44949:6;44885:78;:::i;:::-;44877:86;43673:1300;-1:-1;;;;;;;;;;;;43673:1300::o;44980:1092::-;15172:37;;;52989:42;52978:54;;;;45484:2;45469:18;;11342:37;45567:2;45552:18;;15172:37;;;;45650:2;45635:18;;15172:37;;;;45733:3;45718:19;;15172:37;;;;45817:3;45802:19;;15172:37;45901:3;45886:19;;15172:37;52664:13;52657:21;45979:3;45964:19;;14944:34;52664:13;52657:21;46057:3;46042:19;;14944:34;45319:3;45304:19;;45290:782::o;46079:333::-;15172:37;;;46398:2;46383:18;;15172:37;46234:2;46219:18;;46205:207::o;46419:256::-;46481:2;46475:9;46507:17;;;46582:18;46567:34;;46603:22;;;46564:62;46561:2;;;46639:1;;46629:12;46561:2;46481;46648:22;46459:216;;-1:-1;46459:216::o;46682:304::-;;46841:18;46833:6;46830:30;46827:2;;;-1:-1;;46863:12;46827:2;-1:-1;46908:4;46896:17;;;46961:15;;46764:222::o;47945:321::-;;48088:18;48080:6;48077:30;48074:2;;;-1:-1;;48110:12;48074:2;-1:-1;48187:4;48164:17;48183:9;48160:33;48251:4;48241:15;;48011:255::o;49253:157::-;;49347:14;;;49389:4;49376:18;;;49306:104::o;54743:268::-;54808:1;54815:101;54829:6;54826:1;54823:13;54815:101;;;54896:11;;;54890:18;54877:11;;;54870:39;54851:2;54844:10;54815:101;;;54931:6;54928:1;54925:13;54922:2;;;54808:1;54987:6;54982:3;54978:16;54971:27;54922:2;;54792:219;;;:::o;55444:111::-;55525:5;52664:13;52657:21;55503:5;55500:32;55490:2;;55546:1;;55536:12
Swarm Source
ipfs://4ee1f363e811fc8fb751296113eb71460b7dc8ef9d5f2c98601f97e79cddb68b
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ 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.