mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2025-04-02 22:45:41 +00:00
1171 lines
86 KiB
JSON
1171 lines
86 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "PoraMine",
|
|
"sourceName": "contracts/miner/Mine.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "settings",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "beneficiary",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewMinerId",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "epochIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "NewSubmission",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "UpdateMinerId",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PARAMS_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineStart",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "flowRoot",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "flowLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "blockDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "digest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"internalType": "struct MineContext",
|
|
"name": "context",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "basicCheck",
|
|
"outputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "beneficiaries",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "canSubmit",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "computeWorkerContext",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineStart",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "flowRoot",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "flowLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "blockDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "digest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"internalType": "struct MineContext",
|
|
"name": "context",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "poraTarget",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "subtaskDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "maxShards",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct WorkerContext",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "currentSubmissions",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "dataProofEnabled",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "difficultyAdjustRatio",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "fixedDifficulty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "flow",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "index",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getRoleMember",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleMemberCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineStart",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "flowRoot",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "flowLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "blockDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "digest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"internalType": "struct MineContext",
|
|
"name": "context",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getSubtaskDigest",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "difficulty",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "flow_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "reward_",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "initialized",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "lastMinedEpoch",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxShards",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "minDifficulty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "nSubtasks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "subtaskDigest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "pora",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "poraTarget",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "poraVersion",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "beneficiary",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "seed",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "requestMinerId",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "reward",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "sealDataEnabled",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "difficultyAdjustRatio_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setDifficultyAdjustRatio",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "maxShards_",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "setMaxShards",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minDifficulty_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMinDifficulty",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "nSubtasks_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setNumSubtasks",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "targetMineBlocks_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setTargetMineBlocks",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "targetSubmissions_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setTargetSubmissions",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "submit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "targetMineBlocks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "targetSubmissions",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "targetSubmissionsNextEpoch",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "transferBeneficial",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162003ca238038062003ca2833981016040819052620000349162000052565b6001811615608052600281161560a052600416151560c0526200006c565b6000602082840312156200006557600080fd5b5051919050565b60805160a05160c051613bea620000b8600039600081816104c301528181611abc0152612f160152600081816104f3015261169501526000818161058001526116580152613bea6000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637bba7d6111610151578063ae722e82116100c3578063b776a51211610087578063b776a512146105f9578063ca15c87314610602578063d547741f14610615578063dddc61a814610628578063e282e27b14610631578063ffbc9bd01461063857600080fd5b8063ae722e82146105a2578063b0628ee0146105b5578063b15d20da146105c8578063b4988fd0146105dd578063b4a93283146105f057600080fd5b806391d148541161011557806391d148541461053b5780639dc787a21461054e578063a217fddf14610557578063a82791821461055f578063ad08fdfb14610568578063adaa7a0f1461057b57600080fd5b80637bba7d61146104be5780637eca5688146104e557806382975fe7146104ee5780638c0bca06146105155780639010d07c1461052857600080fd5b80632f2ff15d116101ea57806339cd53ee116101ae57806339cd53ee146104405780633baebb751461046957806348f614411461047c5780635bdca85514610485578063704d3c961461049857806378203ab6146104ab57600080fd5b80632f2ff15d146103f557806331223ba714610408578063331f3b9c14610411578063343aad821461041a57806336568abe1461042d57600080fd5b806316a4be6f1161023157806316a4be6f146102de578063228cb73314610309578063248a9ca314610334578063296beba7146103665780632a02573b146103e257600080fd5b806301ffc9a71461026e578063047c13f5146102965780630c655e1f146102ab578063158ef93e146102be5780631600c624146102cb575b600080fd5b61028161027c366004613340565b610640565b60405190151581526020015b60405180910390f35b6102a96102a4366004613398565b61066b565b005b6102a96102b93660046133cb565b610787565b6000546102819060ff1681565b6102a96102d93660046133cb565b6108e2565b600a546102f1906001600160401b031681565b6040516001600160401b03909116815260200161028d565b60045461031c906001600160a01b031681565b6040516001600160a01b03909116815260200161028d565b6103586103423660046133cb565b6000908152600160208190526040909120015490565b60405190815260200161028d565b6103796103743660046133cb565b610952565b60408051825180518252602080820151818401528184015183850152606080830151818501526080808401519085015260a0928301519284019290925284015160c08301529183015160e08201529101516001600160401b03166101008201526101200161028d565b6102a96103f03660046133e4565b610bcf565b6102a96104033660046133ff565b610cd5565b610358600b5481565b61035860065481565b60035461031c906001600160a01b031681565b6102a961043b3660046133ff565b610d00565b61031c61044e3660046133cb565b600e602052600090815260409020546001600160a01b031681565b6102a9610477366004613701565b610d7e565b610358600d5481565b6102a96104933660046133cb565b611020565b6102a96104a63660046133cb565b61104d565b6103586104b9366004613746565b6110bb565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035860085481565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b610358610523366004613771565b611208565b61031c6105363660046137b5565b611408565b6102816105493660046133ff565b611427565b61035860105481565b610358600081565b610358600c5481565b6102a96105763660046133cb565b611452565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b6102a96105b03660046137d7565b61148c565b6102a96105c3366004613813565b611957565b610358600080516020613b9583398151915281565b6102a96105eb36600461383d565b611a17565b610358600f5481565b61035860075481565b6103586106103660046133cb565b611b43565b6102a96106233660046133ff565b611b5a565b61035860095481565b60016102f1565b610281611b80565b60006001600160e01b03198216635a05180f60e01b1480610665575061066582611c26565b92915050565b600061067860014361388f565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b03161561072d5760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b600080516020613b9583398151915261079f81611c5b565b600082116107f95760405162461bcd60e51b815260206004820152602160248201527f4e756d626572206f66207375627461736b732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610724565b600360009054906101000a90046001600160a01b03166001600160a01b031663f06820546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087091906138a2565b82106108dc5760405162461bcd60e51b815260206004820152603560248201527f4e756d626572206f66207375627461736b73206d757374206265206c657373206044820152740e8d0c2dc40c4d8dec6d6e640e0cae440cae0dec6d605b1b6064820152608401610724565b50601055565b600080516020613b958339815191526108fa81611c5b565b61010082111561094c5760405162461bcd60e51b815260206004820152601d60248201527f746172676574206d696e6520626c6f636b206d757374203c3d203235360000006044820152606401610724565b50600655565b604080516101408101825260006080820181815260a0830182905260c0830182905260e08301829052610100830182905261012083018290528252602082018190529181018290526060810191909152816109e85760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6000828152600e60205260409020546001600160a01b031680610a4d5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b600a546001600160401b0316606083015260035460408051635a325a9f60e11b815290516001600160a01b039092169163b464b53e9160048082019260c09290919082900301816000875af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906138bb565b80835260105460a09091015160405160009291610af8918790602001918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b1b919061394a565b9050600081846000015160200151610b33919061395e565b90508043111580610b4e5750600654610b4c824361388f565b115b15610b5b57505050919050565b835160a001516040805160208082019390935283408183015281518082038301815260609091018252805192019190912090850152600b548451511115610ba7578351610ba790611c68565b600754610bb5906002613971565b600c541015610bc757600d5460208501525b505050919050565b600080516020613b95833981519152610be781611c5b565b6000826001600160401b031611610c405760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f006044820152606401610724565b610c4b600183613990565b82166001600160401b0316600014610cb15760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b6064820152608401610724565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b60008281526001602081905260409091200154610cf181611c5b565b610cfb8383611cf8565b505050565b6001600160a01b0381163314610d705760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610724565b610d7a8282611d1a565b5050565b815160a082015114610dd25760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e67206469676573740000000000006044820152606401610724565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610e455760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e65000000000000006044820152606401610724565b600754610e53906002613971565b600c5410610ea35760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e73000000006044820152606401610724565b6000610100610eb461040082613971565b610ebe91906139b0565b610100610ecd61040082613971565b610ed791906139b0565b8360600151610ee691906139b0565b610ef09190613971565b6060840151909150610f029082611d3c565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7591906139db565b90506000610100610f896104006004613971565b610f9391906139b0565b8560800151610fa2919061395e565b90508082600001516001600160801b0316108015610fcd57508082602001516001600160801b031610155b6110195760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e74657874206469676573740000006044820152606401610724565b5050505050565b600080516020613b9583398151915261103881611c5b565b6008829055600b54600003610d7a5750600755565b600080516020613b9583398151915261106581611c5b565b600082116110b55760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f0000006044820152606401610724565b50600955565b6000806010548460a00151846040516020016110e1929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c611104919061394a565b90506000818560200151611118919061395e565b905080431161117c5760405162461bcd60e51b815260206004820152602a60248201527f4561726c696572207468616e206578706563746564207375627461736b20737460448201526930b93a10313637b1b59760b11b6064820152608401610724565b600654611189824361388f565b11156111ce5760405162461bcd60e51b8152602060048201526014602482015273135a5b9948191958591b1a5b9948195e18d9595960621b6044820152606401610724565b60a0850151604080516020810192909252824090820152606001604051602081830303815290604052805190602001209250505092915050565b604082015160009061125c5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d70747900000000000000006044820152606401610724565b6000604051806080016040528085604001518152602001856020015181526020018481526020016112908660600151611f80565b90529050600061129f82611fe8565b905060006112b06104006010613971565b6112be610400610100613971565b6112c891906139b0565b6112d56104006004613971565b6112e3610400610100613971565b6112ed91906139b0565b6112f791906139b0565b8660a00151611306919061394a565b90506113106132e4565b611318613303565b6113278860e001518486612060565b9250905061010061133b6104006004613971565b61134591906139b0565b8860a001516113549190613971565b611391826040516020016113689190613a35565b604051602081830303815290604052805190602001208a606001516121e090919063ffffffff16565b61139b919061395e565b8860800151146113ed5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e000000000000006044820152606401610724565b6113fc8860a0015185846122e6565b98975050505050505050565b600082815260026020526040812061142090836124a4565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020613b9583398151915261146a81611c5b565b600f82905560006114796124b0565b905080600d541115610cfb57600d555050565b60408101516114d65760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6040808201516000908152600e60205220546001600160a01b03168061153e5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015611589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ad91906138bb565b90506115b881611c68565b60006115c88285604001516110bb565b90506115d48483610d7e565b600a5460608501516001600160401b03909116906115f1906124d7565b111561164e5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b6064820152608401610724565b6116566132e4565b7f00000000000000000000000000000000000000000000000000000000000000001561168c5761168585612521565b9050611693565b5060e08401515b7f00000000000000000000000000000000000000000000000000000000000000001561171c5760006116c586836125d0565b90508360400151811461171a5760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f7400000000000000006044820152606401610724565b505b6117246132e4565b905060006117328684611208565b905060006117518560600151886060015161284390919063ffffffff16565b9050604081600d5461176391906139b0565b901b8211156117b45760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c69747900000000006044820152606401610724565b60008281526005602052604090205460ff16156118135760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d6974746564000000000000006044820152606401610724565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061184c61040080613971565b61185890610400613971565b611863906008613971565b61186d91906139b0565b896080015161187c91906139b0565b6040808b015190516001600160e01b031960e085901b16815260048101929092526001600160a01b038a1660248301526044820152606401600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b5050506040808901518751600c5460808c015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38451600b55600c80546001919060009061194990849061395e565b909155505050505050505050565b6000818152600e60205260409020546001600160a01b031633146119bd5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e6572496400000000006044820152606401610724565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff1615611a765760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401610724565b6000805460ff19166001178155611a9390611a8e3390565b611cf8565b611aab600080516020613b9583398151915233611cf8565b611ab7836000196139b0565b600d557f000000000000000000000000000000000000000000000000000000000000000015611ae757600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff191660201790556001601055565b600081815260026020526040812061066590612983565b60008281526001602081905260409091200154611b7681611c5b565b610cfb8383611d1a565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc91906138bb565b9050600b5481600001511180611c205750600754611c1b906002613971565b600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061066557506301ffc9a760e01b6001600160e01b0319831614610665565b611c65813361298d565b50565b600b5481511015611cc95760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b6064820152608401610724565b600b548151118015611cdd57506000600b54115b15611c6557611cea6129e6565b6000600c5560085460075550565b611d028282612a26565b6000828152600260205260409020610cfb9082612a91565b611d248282612aa6565b6000828152600260205260409020610cfb9082612b0d565b610100611d4b61040080613971565b611d5790610400613971565b611d62906008613971565b611d6c91906139b0565b8251611d78919061394a565b15611dc55760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e65640000006044820152606401610724565b602082015182518291611dd79161395e565b1115611e1d5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b6044820152606401610724565b6000611e28836124d7565b610100611e3761040080613971565b611e4390610400613971565b611e4f90610400613971565b611e5a906008613971565b611e6491906139b0565b611e6e9190613971565b90508083602001511115611ebc5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b6044820152606401610724565b6000611ec88383612b22565b90508084602001511015611f175760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b6044820152606401610724565b83606001518460400151166001600160401b0316600014611f7a5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f0000000000006044820152606401610724565b50505050565b60008160000151826020015183604001518460600151604051602001611fcb949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611ff0613303565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152825190830151604084015160608501516106659385939092909160806001612b38565b612068613303565b6120706132e4565b600061207b84612c51565b90506120a98160406120906104006004613971565b61209a91906139b0565b6120a49088613971565b612c6d565b60005b60808110156121395760408083208352822060208301528681608081106120d5576120d5613a66565b60200201518251188382608081106120ef576120ef613a66565b602002015286600182016080811061210957612109613a66565b602002015182600160200201511883826001016080811061212c5761212c613a66565b60200201526002016120ac565b506121cc81604061214d6104006004613971565b61215791906139b0565b6001886121676104006010613971565b612175610400610100613971565b61217f91906139b0565b61218c6104006004613971565b61219a610400610100613971565b6121a491906139b0565b6121ae91906139b0565b6121b8919061388f565b6121c2919061388f565b6120a49190613971565b6121d581612c51565b925050935093915050565b6000806101006121f261040082613971565b6121fc91906139b0565b846020015161220b91906139b0565b612215908461394a565b6040850151606086015160208701519293508316179061010061223a61040082613971565b61224491906139b0565b612257906001600160401b038416613971565b11156122a55760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e64000000006044820152606401610724565b6101006122b461040082613971565b6122be91906139b0565b6122d1906001600160401b038316613971565b85516122dd919061395e565b95945050505050565b60006122f0613303565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528451908501516123569183918891906000608081612b38565b9050612360613321565b6080600060206123736104006004613971565b61237d91906139b0565b612388906020613971565b61239390608061395e565b90506000601c8401601f8501602086016060870160e0880160e1890160f08a018d600c87538c51865260208d015160208701525b88198a8c1016156124325760808b019a5060ff8b1684538a60081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050898b0361241857600182535b60408660d58a6009600019fa61242d57600198505b6123c7565b505050505050505080156124945760405162461bcd60e51b815260206004820152602360248201527f626c616b65326220696e7465726e616c206572726f7220617420506f524120686044820152620c2e6d60eb1b6064820152608401610724565b5050506020015195945050505050565b60006114208383612c8e565b6000600f546000036124c3575060001990565b600f546124d2906000196139b0565b905090565b606081015160009019815b6001600160401b03821615612512576124fc600183613990565b909116908061250a81613a7c565b9150506124e2565b600160ff9091161b9392505050565b6125296132e4565b60408083015160c08401516080850151925161255993906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e084018051519091188352519060009061258f6104006004613971565b61259991906139b0565b905081836020600184030281015b808210156125c6576020808420938101805190941892019182526125a7565b5050505050919050565b6000805b60206125e36104006004613971565b6125ed91906139b0565b81101561263b57610100602082028401208084836080811061261157612611613a66565b60200201818152505050602061010061262a91906139b0565b612634908261395e565b90506125d4565b50600061264b60206101006139b0565b90505b602061265d6104006004613971565b61266791906139b0565b81101561273a5760005b60206126806104006004613971565b61268a91906139b0565b8110156127315760008482608081106126a5576126a5613a66565b602002015190506000856126b9858561395e565b608081106126c9576126c9613a66565b6020020151905081816040516020016126ec929190918252602082015260400190565b6040516020818303038152906040528051906020012086846080811061271457612714613a66565b60200201525061272a9050600183901b8261395e565b9050612671565b5060011b61264e565b5081516127456132e4565b925060006101006127596104006004613971565b61276391906139b0565b856080015161277291906139b0565b905060005b856101000151518110156128395760008061279360028561394a565b6000036127c35784915087610100015183815181106127b4576127b4613a66565b602002602001015190506127e8565b87610100015183815181106127da576127da613a66565b602002602001015191508490505b604080516020810184905290810182905260600160405160208183030381529060405280519060200120945060028461282191906139b0565b93505050600181612832919061395e565b9050612777565b5090949350505050565b60008061010061285561040080613971565b61286190610400613971565b61286d90610400613971565b612878906008613971565b61288291906139b0565b831161288e57826128ca565b61010061289d61040080613971565b6128a990610400613971565b6128b590610400613971565b6128c0906008613971565b6128ca91906139b0565b905060006128d7856124d7565b6128e190856139b0565b905060006101006128f461040080613971565b61290090610400613971565b61290c90610400613971565b612917906008613971565b61292191906139b0565b821161292d5781612969565b61010061293c61040080613971565b61294890610400613971565b61295490610400613971565b61295f906008613971565b61296991906139b0565b905061297981604085901b6139b0565b9695505050505050565b6000610665825490565b6129978282611427565b610d7a576129a481612cb8565b6129af836020612cca565b6040516020016129c0929190613abf565b60408051601f198184030181529082905262461bcd60e51b825261072491600401613b34565b600c5460009015612a135760006010600d54901c9050612a0b81600654600c54612e65565b915050612a1d565b506001600160f01b035b611c6581612f14565b612a308282611427565b610d7a5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611420836001600160a01b038416612ff9565b612ab08282611427565b15610d7a5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611420836001600160a01b038416613048565b6000818310612b315781611420565b5090919050565b612b40613303565b600c6000612b4d85613142565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f59094018252939450600092909187919085016009600019fa905080600003612c425760405162461bcd60e51b815260206004820152602260248201527f626c616b65326220696e7465726e616c206572726f7220617420626c616b6532604482015261312360f11b6064820152608401610724565b50505050979650505050505050565b612c59613303565b815181526020918201519181019190915290565b60005b81811015610cfb576040808420845283206020840152600101612c70565b6000826000018281548110612ca557612ca5613a66565b9060005260206000200154905092915050565b60606106656001600160a01b03831660145b60606000612cd9836002613971565b612ce490600261395e565b6001600160401b03811115612cfb57612cfb613422565b6040519080825280601f01601f191660200182016040528015612d25576020820181803683370190505b509050600360fc1b81600081518110612d4057612d40613a66565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d6f57612d6f613a66565b60200101906001600160f81b031916908160001a9053506000612d93846002613971565b612d9e90600161395e565b90505b6001811115612e16576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612dd257612dd2613a66565b1a60f81b828281518110612de857612de8613a66565b60200101906001600160f81b031916908160001a90535060049490941c93612e0f81613b67565b9050612da1565b5083156114205760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610724565b6000808060001985870985870292508281108382030391505080600003612e9f57838281612e9557612e95613934565b0492505050611420565b808411612eab57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015612f3d5750565b600d5460095460109190911c9060008184612f5960018361388f565b612f639086613971565b612f6d919061395e565b612f7791906139b0565b9050612f84836002613971565b811115612f9957612f96836002613971565b90505b612fa46002846139b0565b811015612fb957612fb66002846139b0565b90505b6001600160f01b03811115612fd257506001600160f01b035b601081901b600d556000612fe46124b0565b905080600d54111561101957600d5550505050565b600081815260018301602052604081205461304057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610665565b506000610665565b6000818152600183016020526040812054801561313157600061306c60018361388f565b85549091506000906130809060019061388f565b90508181146130e55760008660000182815481106130a0576130a0613a66565b90600052602060002001549050808760000184815481106130c3576130c3613a66565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806130f6576130f6613b7e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610665565b6000915050610665565b5092915050565b61314a613303565b6201000082101561318e57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b6401000000008210156131ce57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916613176565b680100000000000000008210156131e8576131768261327e565b600160801b821015613238576001600160401b038216604083901c61320c8261327e565b6001600160c01b03191683526132218161327e565b6001600160c01b0319166020840152506132799050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b6044820152606401610724565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60006020828403121561335257600080fd5b81356001600160e01b03198116811461142057600080fd5b80356001600160a01b038116811461327957600080fd5b80356001600160401b038116811461327957600080fd5b600080604083850312156133ab57600080fd5b6133b48361336a565b91506133c260208401613381565b90509250929050565b6000602082840312156133dd57600080fd5b5035919050565b6000602082840312156133f657600080fd5b61142082613381565b6000806040838503121561341257600080fd5b823591506133c26020840161336a565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561345b5761345b613422565b60405290565b60006080828403121561347357600080fd5b604051608081018181106001600160401b038211171561349557613495613422565b806040525080915082358152602083013560208201526134b760408401613381565b60408201526134c860608401613381565b60608201525092915050565b600082601f8301126134e557600080fd5b6040516110008082018281106001600160401b038211171561350957613509613422565b6040528301818582111561351c57600080fd5b845b8281101561353657803582526020918201910161351e565b509195945050505050565b600082601f83011261355257600080fd5b813560206001600160401b038083111561356e5761356e613422565b8260051b604051601f19603f8301168101818110848211171561359357613593613422565b6040529384528581018301938381019250878511156135b157600080fd5b83870191505b848210156135d0578135835291830191908301906135b7565b979650505050505050565b600061116082840312156135ee57600080fd5b6135f6613438565b905081358152602082013560208201526040820135604082015261361d8360608401613461565b606082015260e082013560808201526101008083013560a083015261012083013560c08301526136518461014085016134d4565b60e08301526111408301356001600160401b0381111561367057600080fd5b61367c85828601613541565b82840152505092915050565b600060c0828403121561369a57600080fd5b60405160c081018181106001600160401b03821117156136bc576136bc613422565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b60008060e0838503121561371457600080fd5b82356001600160401b0381111561372a57600080fd5b613736858286016135db565b9250506133c28460208501613688565b60008060e0838503121561375957600080fd5b6137638484613688565b9460c0939093013593505050565b6000806040838503121561378457600080fd5b82356001600160401b0381111561379a57600080fd5b6137a6858286016135db565b95602094909401359450505050565b600080604083850312156137c857600080fd5b50508035926020909101359150565b6000602082840312156137e957600080fd5b81356001600160401b038111156137ff57600080fd5b61380b848285016135db565b949350505050565b6000806040838503121561382657600080fd5b61382f8361336a565b946020939093013593505050565b60008060006060848603121561385257600080fd5b833592506138626020850161336a565b91506138706040850161336a565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561066557610665613879565b6000602082840312156138b457600080fd5b5051919050565b600060c082840312156138cd57600080fd5b60405160c081018181106001600160401b03821117156138ef576138ef613422565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261395957613959613934565b500690565b8082018082111561066557610665613879565b600081600019048311821515161561398b5761398b613879565b500290565b6001600160401b0382811682821603908082111561313b5761313b613879565b6000826139bf576139bf613934565b500490565b80516001600160801b038116811461327957600080fd5b6000604082840312156139ed57600080fd5b604051604081018181106001600160401b0382111715613a0f57613a0f613422565b604052613a1b836139c4565b8152613a29602084016139c4565b60208201529392505050565b60408101818360005b6002811015613a5d578151835260209283019290910190600101613a3e565b50505092915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103613a9257613a92613879565b60010192915050565b60005b83811015613ab6578181015183820152602001613a9e565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613af7816017850160208801613a9b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b28816028840160208801613a9b565b01602801949350505050565b6020815260008251806020840152613b53816040850160208701613a9b565b601f01601f19169190910160400192915050565b600081613b7657613b76613879565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a2646970667358221220626175fa9d9ac039060aa53d295ec36d797621c45b14b0ac421bfa1e774a56f264736f6c63430008100033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102695760003560e01c80637bba7d6111610151578063ae722e82116100c3578063b776a51211610087578063b776a512146105f9578063ca15c87314610602578063d547741f14610615578063dddc61a814610628578063e282e27b14610631578063ffbc9bd01461063857600080fd5b8063ae722e82146105a2578063b0628ee0146105b5578063b15d20da146105c8578063b4988fd0146105dd578063b4a93283146105f057600080fd5b806391d148541161011557806391d148541461053b5780639dc787a21461054e578063a217fddf14610557578063a82791821461055f578063ad08fdfb14610568578063adaa7a0f1461057b57600080fd5b80637bba7d61146104be5780637eca5688146104e557806382975fe7146104ee5780638c0bca06146105155780639010d07c1461052857600080fd5b80632f2ff15d116101ea57806339cd53ee116101ae57806339cd53ee146104405780633baebb751461046957806348f614411461047c5780635bdca85514610485578063704d3c961461049857806378203ab6146104ab57600080fd5b80632f2ff15d146103f557806331223ba714610408578063331f3b9c14610411578063343aad821461041a57806336568abe1461042d57600080fd5b806316a4be6f1161023157806316a4be6f146102de578063228cb73314610309578063248a9ca314610334578063296beba7146103665780632a02573b146103e257600080fd5b806301ffc9a71461026e578063047c13f5146102965780630c655e1f146102ab578063158ef93e146102be5780631600c624146102cb575b600080fd5b61028161027c366004613340565b610640565b60405190151581526020015b60405180910390f35b6102a96102a4366004613398565b61066b565b005b6102a96102b93660046133cb565b610787565b6000546102819060ff1681565b6102a96102d93660046133cb565b6108e2565b600a546102f1906001600160401b031681565b6040516001600160401b03909116815260200161028d565b60045461031c906001600160a01b031681565b6040516001600160a01b03909116815260200161028d565b6103586103423660046133cb565b6000908152600160208190526040909120015490565b60405190815260200161028d565b6103796103743660046133cb565b610952565b60408051825180518252602080820151818401528184015183850152606080830151818501526080808401519085015260a0928301519284019290925284015160c08301529183015160e08201529101516001600160401b03166101008201526101200161028d565b6102a96103f03660046133e4565b610bcf565b6102a96104033660046133ff565b610cd5565b610358600b5481565b61035860065481565b60035461031c906001600160a01b031681565b6102a961043b3660046133ff565b610d00565b61031c61044e3660046133cb565b600e602052600090815260409020546001600160a01b031681565b6102a9610477366004613701565b610d7e565b610358600d5481565b6102a96104933660046133cb565b611020565b6102a96104a63660046133cb565b61104d565b6103586104b9366004613746565b6110bb565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035860085481565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b610358610523366004613771565b611208565b61031c6105363660046137b5565b611408565b6102816105493660046133ff565b611427565b61035860105481565b610358600081565b610358600c5481565b6102a96105763660046133cb565b611452565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b6102a96105b03660046137d7565b61148c565b6102a96105c3366004613813565b611957565b610358600080516020613b9583398151915281565b6102a96105eb36600461383d565b611a17565b610358600f5481565b61035860075481565b6103586106103660046133cb565b611b43565b6102a96106233660046133ff565b611b5a565b61035860095481565b60016102f1565b610281611b80565b60006001600160e01b03198216635a05180f60e01b1480610665575061066582611c26565b92915050565b600061067860014361388f565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b03161561072d5760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b600080516020613b9583398151915261079f81611c5b565b600082116107f95760405162461bcd60e51b815260206004820152602160248201527f4e756d626572206f66207375627461736b732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610724565b600360009054906101000a90046001600160a01b03166001600160a01b031663f06820546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087091906138a2565b82106108dc5760405162461bcd60e51b815260206004820152603560248201527f4e756d626572206f66207375627461736b73206d757374206265206c657373206044820152740e8d0c2dc40c4d8dec6d6e640e0cae440cae0dec6d605b1b6064820152608401610724565b50601055565b600080516020613b958339815191526108fa81611c5b565b61010082111561094c5760405162461bcd60e51b815260206004820152601d60248201527f746172676574206d696e6520626c6f636b206d757374203c3d203235360000006044820152606401610724565b50600655565b604080516101408101825260006080820181815260a0830182905260c0830182905260e08301829052610100830182905261012083018290528252602082018190529181018290526060810191909152816109e85760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6000828152600e60205260409020546001600160a01b031680610a4d5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b600a546001600160401b0316606083015260035460408051635a325a9f60e11b815290516001600160a01b039092169163b464b53e9160048082019260c09290919082900301816000875af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906138bb565b80835260105460a09091015160405160009291610af8918790602001918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b1b919061394a565b9050600081846000015160200151610b33919061395e565b90508043111580610b4e5750600654610b4c824361388f565b115b15610b5b57505050919050565b835160a001516040805160208082019390935283408183015281518082038301815260609091018252805192019190912090850152600b548451511115610ba7578351610ba790611c68565b600754610bb5906002613971565b600c541015610bc757600d5460208501525b505050919050565b600080516020613b95833981519152610be781611c5b565b6000826001600160401b031611610c405760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f006044820152606401610724565b610c4b600183613990565b82166001600160401b0316600014610cb15760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b6064820152608401610724565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b60008281526001602081905260409091200154610cf181611c5b565b610cfb8383611cf8565b505050565b6001600160a01b0381163314610d705760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610724565b610d7a8282611d1a565b5050565b815160a082015114610dd25760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e67206469676573740000000000006044820152606401610724565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610e455760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e65000000000000006044820152606401610724565b600754610e53906002613971565b600c5410610ea35760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e73000000006044820152606401610724565b6000610100610eb461040082613971565b610ebe91906139b0565b610100610ecd61040082613971565b610ed791906139b0565b8360600151610ee691906139b0565b610ef09190613971565b6060840151909150610f029082611d3c565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7591906139db565b90506000610100610f896104006004613971565b610f9391906139b0565b8560800151610fa2919061395e565b90508082600001516001600160801b0316108015610fcd57508082602001516001600160801b031610155b6110195760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e74657874206469676573740000006044820152606401610724565b5050505050565b600080516020613b9583398151915261103881611c5b565b6008829055600b54600003610d7a5750600755565b600080516020613b9583398151915261106581611c5b565b600082116110b55760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f0000006044820152606401610724565b50600955565b6000806010548460a00151846040516020016110e1929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c611104919061394a565b90506000818560200151611118919061395e565b905080431161117c5760405162461bcd60e51b815260206004820152602a60248201527f4561726c696572207468616e206578706563746564207375627461736b20737460448201526930b93a10313637b1b59760b11b6064820152608401610724565b600654611189824361388f565b11156111ce5760405162461bcd60e51b8152602060048201526014602482015273135a5b9948191958591b1a5b9948195e18d9595960621b6044820152606401610724565b60a0850151604080516020810192909252824090820152606001604051602081830303815290604052805190602001209250505092915050565b604082015160009061125c5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d70747900000000000000006044820152606401610724565b6000604051806080016040528085604001518152602001856020015181526020018481526020016112908660600151611f80565b90529050600061129f82611fe8565b905060006112b06104006010613971565b6112be610400610100613971565b6112c891906139b0565b6112d56104006004613971565b6112e3610400610100613971565b6112ed91906139b0565b6112f791906139b0565b8660a00151611306919061394a565b90506113106132e4565b611318613303565b6113278860e001518486612060565b9250905061010061133b6104006004613971565b61134591906139b0565b8860a001516113549190613971565b611391826040516020016113689190613a35565b604051602081830303815290604052805190602001208a606001516121e090919063ffffffff16565b61139b919061395e565b8860800151146113ed5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e000000000000006044820152606401610724565b6113fc8860a0015185846122e6565b98975050505050505050565b600082815260026020526040812061142090836124a4565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020613b9583398151915261146a81611c5b565b600f82905560006114796124b0565b905080600d541115610cfb57600d555050565b60408101516114d65760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6040808201516000908152600e60205220546001600160a01b03168061153e5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015611589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ad91906138bb565b90506115b881611c68565b60006115c88285604001516110bb565b90506115d48483610d7e565b600a5460608501516001600160401b03909116906115f1906124d7565b111561164e5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b6064820152608401610724565b6116566132e4565b7f00000000000000000000000000000000000000000000000000000000000000001561168c5761168585612521565b9050611693565b5060e08401515b7f00000000000000000000000000000000000000000000000000000000000000001561171c5760006116c586836125d0565b90508360400151811461171a5760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f7400000000000000006044820152606401610724565b505b6117246132e4565b905060006117328684611208565b905060006117518560600151886060015161284390919063ffffffff16565b9050604081600d5461176391906139b0565b901b8211156117b45760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c69747900000000006044820152606401610724565b60008281526005602052604090205460ff16156118135760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d6974746564000000000000006044820152606401610724565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061184c61040080613971565b61185890610400613971565b611863906008613971565b61186d91906139b0565b896080015161187c91906139b0565b6040808b015190516001600160e01b031960e085901b16815260048101929092526001600160a01b038a1660248301526044820152606401600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b5050506040808901518751600c5460808c015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38451600b55600c80546001919060009061194990849061395e565b909155505050505050505050565b6000818152600e60205260409020546001600160a01b031633146119bd5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e6572496400000000006044820152606401610724565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff1615611a765760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401610724565b6000805460ff19166001178155611a9390611a8e3390565b611cf8565b611aab600080516020613b9583398151915233611cf8565b611ab7836000196139b0565b600d557f000000000000000000000000000000000000000000000000000000000000000015611ae757600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff191660201790556001601055565b600081815260026020526040812061066590612983565b60008281526001602081905260409091200154611b7681611c5b565b610cfb8383611d1a565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc91906138bb565b9050600b5481600001511180611c205750600754611c1b906002613971565b600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061066557506301ffc9a760e01b6001600160e01b0319831614610665565b611c65813361298d565b50565b600b5481511015611cc95760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b6064820152608401610724565b600b548151118015611cdd57506000600b54115b15611c6557611cea6129e6565b6000600c5560085460075550565b611d028282612a26565b6000828152600260205260409020610cfb9082612a91565b611d248282612aa6565b6000828152600260205260409020610cfb9082612b0d565b610100611d4b61040080613971565b611d5790610400613971565b611d62906008613971565b611d6c91906139b0565b8251611d78919061394a565b15611dc55760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e65640000006044820152606401610724565b602082015182518291611dd79161395e565b1115611e1d5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b6044820152606401610724565b6000611e28836124d7565b610100611e3761040080613971565b611e4390610400613971565b611e4f90610400613971565b611e5a906008613971565b611e6491906139b0565b611e6e9190613971565b90508083602001511115611ebc5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b6044820152606401610724565b6000611ec88383612b22565b90508084602001511015611f175760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b6044820152606401610724565b83606001518460400151166001600160401b0316600014611f7a5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f0000000000006044820152606401610724565b50505050565b60008160000151826020015183604001518460600151604051602001611fcb949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611ff0613303565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152825190830151604084015160608501516106659385939092909160806001612b38565b612068613303565b6120706132e4565b600061207b84612c51565b90506120a98160406120906104006004613971565b61209a91906139b0565b6120a49088613971565b612c6d565b60005b60808110156121395760408083208352822060208301528681608081106120d5576120d5613a66565b60200201518251188382608081106120ef576120ef613a66565b602002015286600182016080811061210957612109613a66565b602002015182600160200201511883826001016080811061212c5761212c613a66565b60200201526002016120ac565b506121cc81604061214d6104006004613971565b61215791906139b0565b6001886121676104006010613971565b612175610400610100613971565b61217f91906139b0565b61218c6104006004613971565b61219a610400610100613971565b6121a491906139b0565b6121ae91906139b0565b6121b8919061388f565b6121c2919061388f565b6120a49190613971565b6121d581612c51565b925050935093915050565b6000806101006121f261040082613971565b6121fc91906139b0565b846020015161220b91906139b0565b612215908461394a565b6040850151606086015160208701519293508316179061010061223a61040082613971565b61224491906139b0565b612257906001600160401b038416613971565b11156122a55760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e64000000006044820152606401610724565b6101006122b461040082613971565b6122be91906139b0565b6122d1906001600160401b038316613971565b85516122dd919061395e565b95945050505050565b60006122f0613303565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528451908501516123569183918891906000608081612b38565b9050612360613321565b6080600060206123736104006004613971565b61237d91906139b0565b612388906020613971565b61239390608061395e565b90506000601c8401601f8501602086016060870160e0880160e1890160f08a018d600c87538c51865260208d015160208701525b88198a8c1016156124325760808b019a5060ff8b1684538a60081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050898b0361241857600182535b60408660d58a6009600019fa61242d57600198505b6123c7565b505050505050505080156124945760405162461bcd60e51b815260206004820152602360248201527f626c616b65326220696e7465726e616c206572726f7220617420506f524120686044820152620c2e6d60eb1b6064820152608401610724565b5050506020015195945050505050565b60006114208383612c8e565b6000600f546000036124c3575060001990565b600f546124d2906000196139b0565b905090565b606081015160009019815b6001600160401b03821615612512576124fc600183613990565b909116908061250a81613a7c565b9150506124e2565b600160ff9091161b9392505050565b6125296132e4565b60408083015160c08401516080850151925161255993906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e084018051519091188352519060009061258f6104006004613971565b61259991906139b0565b905081836020600184030281015b808210156125c6576020808420938101805190941892019182526125a7565b5050505050919050565b6000805b60206125e36104006004613971565b6125ed91906139b0565b81101561263b57610100602082028401208084836080811061261157612611613a66565b60200201818152505050602061010061262a91906139b0565b612634908261395e565b90506125d4565b50600061264b60206101006139b0565b90505b602061265d6104006004613971565b61266791906139b0565b81101561273a5760005b60206126806104006004613971565b61268a91906139b0565b8110156127315760008482608081106126a5576126a5613a66565b602002015190506000856126b9858561395e565b608081106126c9576126c9613a66565b6020020151905081816040516020016126ec929190918252602082015260400190565b6040516020818303038152906040528051906020012086846080811061271457612714613a66565b60200201525061272a9050600183901b8261395e565b9050612671565b5060011b61264e565b5081516127456132e4565b925060006101006127596104006004613971565b61276391906139b0565b856080015161277291906139b0565b905060005b856101000151518110156128395760008061279360028561394a565b6000036127c35784915087610100015183815181106127b4576127b4613a66565b602002602001015190506127e8565b87610100015183815181106127da576127da613a66565b602002602001015191508490505b604080516020810184905290810182905260600160405160208183030381529060405280519060200120945060028461282191906139b0565b93505050600181612832919061395e565b9050612777565b5090949350505050565b60008061010061285561040080613971565b61286190610400613971565b61286d90610400613971565b612878906008613971565b61288291906139b0565b831161288e57826128ca565b61010061289d61040080613971565b6128a990610400613971565b6128b590610400613971565b6128c0906008613971565b6128ca91906139b0565b905060006128d7856124d7565b6128e190856139b0565b905060006101006128f461040080613971565b61290090610400613971565b61290c90610400613971565b612917906008613971565b61292191906139b0565b821161292d5781612969565b61010061293c61040080613971565b61294890610400613971565b61295490610400613971565b61295f906008613971565b61296991906139b0565b905061297981604085901b6139b0565b9695505050505050565b6000610665825490565b6129978282611427565b610d7a576129a481612cb8565b6129af836020612cca565b6040516020016129c0929190613abf565b60408051601f198184030181529082905262461bcd60e51b825261072491600401613b34565b600c5460009015612a135760006010600d54901c9050612a0b81600654600c54612e65565b915050612a1d565b506001600160f01b035b611c6581612f14565b612a308282611427565b610d7a5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611420836001600160a01b038416612ff9565b612ab08282611427565b15610d7a5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611420836001600160a01b038416613048565b6000818310612b315781611420565b5090919050565b612b40613303565b600c6000612b4d85613142565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f59094018252939450600092909187919085016009600019fa905080600003612c425760405162461bcd60e51b815260206004820152602260248201527f626c616b65326220696e7465726e616c206572726f7220617420626c616b6532604482015261312360f11b6064820152608401610724565b50505050979650505050505050565b612c59613303565b815181526020918201519181019190915290565b60005b81811015610cfb576040808420845283206020840152600101612c70565b6000826000018281548110612ca557612ca5613a66565b9060005260206000200154905092915050565b60606106656001600160a01b03831660145b60606000612cd9836002613971565b612ce490600261395e565b6001600160401b03811115612cfb57612cfb613422565b6040519080825280601f01601f191660200182016040528015612d25576020820181803683370190505b509050600360fc1b81600081518110612d4057612d40613a66565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d6f57612d6f613a66565b60200101906001600160f81b031916908160001a9053506000612d93846002613971565b612d9e90600161395e565b90505b6001811115612e16576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612dd257612dd2613a66565b1a60f81b828281518110612de857612de8613a66565b60200101906001600160f81b031916908160001a90535060049490941c93612e0f81613b67565b9050612da1565b5083156114205760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610724565b6000808060001985870985870292508281108382030391505080600003612e9f57838281612e9557612e95613934565b0492505050611420565b808411612eab57600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015612f3d5750565b600d5460095460109190911c9060008184612f5960018361388f565b612f639086613971565b612f6d919061395e565b612f7791906139b0565b9050612f84836002613971565b811115612f9957612f96836002613971565b90505b612fa46002846139b0565b811015612fb957612fb66002846139b0565b90505b6001600160f01b03811115612fd257506001600160f01b035b601081901b600d556000612fe46124b0565b905080600d54111561101957600d5550505050565b600081815260018301602052604081205461304057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610665565b506000610665565b6000818152600183016020526040812054801561313157600061306c60018361388f565b85549091506000906130809060019061388f565b90508181146130e55760008660000182815481106130a0576130a0613a66565b90600052602060002001549050808760000184815481106130c3576130c3613a66565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806130f6576130f6613b7e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610665565b6000915050610665565b5092915050565b61314a613303565b6201000082101561318e57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b6401000000008210156131ce57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916613176565b680100000000000000008210156131e8576131768261327e565b600160801b821015613238576001600160401b038216604083901c61320c8261327e565b6001600160c01b03191683526132218161327e565b6001600160c01b0319166020840152506132799050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b6044820152606401610724565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60006020828403121561335257600080fd5b81356001600160e01b03198116811461142057600080fd5b80356001600160a01b038116811461327957600080fd5b80356001600160401b038116811461327957600080fd5b600080604083850312156133ab57600080fd5b6133b48361336a565b91506133c260208401613381565b90509250929050565b6000602082840312156133dd57600080fd5b5035919050565b6000602082840312156133f657600080fd5b61142082613381565b6000806040838503121561341257600080fd5b823591506133c26020840161336a565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561345b5761345b613422565b60405290565b60006080828403121561347357600080fd5b604051608081018181106001600160401b038211171561349557613495613422565b806040525080915082358152602083013560208201526134b760408401613381565b60408201526134c860608401613381565b60608201525092915050565b600082601f8301126134e557600080fd5b6040516110008082018281106001600160401b038211171561350957613509613422565b6040528301818582111561351c57600080fd5b845b8281101561353657803582526020918201910161351e565b509195945050505050565b600082601f83011261355257600080fd5b813560206001600160401b038083111561356e5761356e613422565b8260051b604051601f19603f8301168101818110848211171561359357613593613422565b6040529384528581018301938381019250878511156135b157600080fd5b83870191505b848210156135d0578135835291830191908301906135b7565b979650505050505050565b600061116082840312156135ee57600080fd5b6135f6613438565b905081358152602082013560208201526040820135604082015261361d8360608401613461565b606082015260e082013560808201526101008083013560a083015261012083013560c08301526136518461014085016134d4565b60e08301526111408301356001600160401b0381111561367057600080fd5b61367c85828601613541565b82840152505092915050565b600060c0828403121561369a57600080fd5b60405160c081018181106001600160401b03821117156136bc576136bc613422565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b60008060e0838503121561371457600080fd5b82356001600160401b0381111561372a57600080fd5b613736858286016135db565b9250506133c28460208501613688565b60008060e0838503121561375957600080fd5b6137638484613688565b9460c0939093013593505050565b6000806040838503121561378457600080fd5b82356001600160401b0381111561379a57600080fd5b6137a6858286016135db565b95602094909401359450505050565b600080604083850312156137c857600080fd5b50508035926020909101359150565b6000602082840312156137e957600080fd5b81356001600160401b038111156137ff57600080fd5b61380b848285016135db565b949350505050565b6000806040838503121561382657600080fd5b61382f8361336a565b946020939093013593505050565b60008060006060848603121561385257600080fd5b833592506138626020850161336a565b91506138706040850161336a565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561066557610665613879565b6000602082840312156138b457600080fd5b5051919050565b600060c082840312156138cd57600080fd5b60405160c081018181106001600160401b03821117156138ef576138ef613422565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261395957613959613934565b500690565b8082018082111561066557610665613879565b600081600019048311821515161561398b5761398b613879565b500290565b6001600160401b0382811682821603908082111561313b5761313b613879565b6000826139bf576139bf613934565b500490565b80516001600160801b038116811461327957600080fd5b6000604082840312156139ed57600080fd5b604051604081018181106001600160401b0382111715613a0f57613a0f613422565b604052613a1b836139c4565b8152613a29602084016139c4565b60208201529392505050565b60408101818360005b6002811015613a5d578151835260209283019290910190600101613a3e565b50505092915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103613a9257613a92613879565b60010192915050565b60005b83811015613ab6578181015183820152602001613a9e565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613af7816017850160208801613a9b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b28816028840160208801613a9b565b01602801949350505050565b6020815260008251806020840152613b53816040850160208701613a9b565b601f01601f19169190910160400192915050565b600081613b7657613b76613879565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a2646970667358221220626175fa9d9ac039060aa53d295ec36d797621c45b14b0ac421bfa1e774a56f264736f6c63430008100033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|