dgf-prototype/backend/contractArtifacts/Rollup.json

267 lines
38 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Rollup",
"sourceName": "contracts/Rollup.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract DAO",
"name": "dao",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
}
],
"name": "AvailabilityStaked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "BatchItemAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "batchWorker",
"type": "address"
}
],
"name": "BatchWorkerAssigned",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "worker",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
}
],
"name": "acceptAvailability",
"outputs": [
{
"internalType": "uint256",
"name": "refund",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "author",
"type": "address"
},
{
"internalType": "uint256",
"name": "stakeAmount",
"type": "uint256"
},
{
"internalType": "string",
"name": "postId",
"type": "string"
}
],
"name": "addItem",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "batchWorker",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "itemCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "items",
"outputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "worker",
"type": "address"
},
{
"internalType": "uint256",
"name": "stakeAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "string",
"name": "postId",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakeCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "stakes",
"outputs": [
{
"internalType": "address",
"name": "worker",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "bool",
"name": "assigned",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "batchPostId",
"type": "string"
},
{
"internalType": "uint256",
"name": "batchSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "poolDuration",
"type": "uint256"
}
],
"name": "submitBatch",
"outputs": [
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a06040523480156200001157600080fd5b50604051620020b4380380620020b48339818101604052810190620000379190620000f4565b80808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050505062000126565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a8826200007b565b9050919050565b6000620000bc826200009b565b9050919050565b620000ce81620000af565b8114620000da57600080fd5b50565b600081519050620000ee81620000c3565b92915050565b6000602082840312156200010d576200010c62000076565b5b60006200011d84828501620000dd565b91505092915050565b608051611f5d620001576000396000818161021c01528181610860015281816109470152610a890152611f5d6000f3fe60806040526004361061007b5760003560e01c8063c4a9e1161161004e578063c4a9e11614610154578063d5a44f861461017f578063da553ec2146101bf578063f85c5a8a146101fc5761007b565b8063216ed6ad1461008057806324364a6b146100bd5780636bfb0d01146100e8578063bfb231d214610113575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a29190611153565b610218565b6040516100b491906111b5565b60405180910390f35b3480156100c957600080fd5b506100d2610561565b6040516100df91906111df565b60405180910390f35b3480156100f457600080fd5b506100fd610587565b60405161010a91906111b5565b60405180910390f35b34801561011f57600080fd5b5061013a600480360381019061013591906111fa565b61058d565b60405161014b9594939291906112b7565b60405180910390f35b34801561016057600080fd5b5061016961068b565b60405161017691906111b5565b60405180910390f35b34801561018b57600080fd5b506101a660048036038101906101a191906111fa565b610691565b6040516101b6949392919061132c565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e191906113d6565b6106ee565b6040516101f391906111b5565b60405180910390f35b6102166004803603810190610211919061144a565b610db8565b005b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029f90611530565b60405180910390fd5b600083116102eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e29061159c565b60405180910390fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811480156103a057508473ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561040757600260008154809291906103b8906115eb565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ab565b60008082815260200190815260200160002060030160009054906101000a900460ff16156104915760026000815480929190610442906115eb565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104aa565b6000808281526020019081526020016000206001015491505b5b60008060008381526020019081526020016000209050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084816001018190555083426105199190611633565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161055091906111b5565b60405180910390a150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201549080600301549080600401805461060890611696565b80601f016020809104026020016040519081016040528092919081815260200182805461063490611696565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905085565b60025481565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b6000600454831115610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072c90611713565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081c57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610812906117a5565b60405180910390fd5b5b600080600090505b8481101561085d5760036000828152602001908152602001600020600301548261084e9190611633565b91508080600101915050610824565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c7382888887604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518a63ffffffff1660e01b81526004016108f5989796959493929190611928565b60206040518083038185885af1158015610913573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061093891906119cb565b915060005b84811015610a30577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3846003600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008681526020019081526020016000206002015460016040518563ffffffff1660e01b81526004016109f194939291906119f8565b600060405180830381600087803b158015610a0b57600080fd5b505af1158015610a1f573d6000803e3d6000fd5b50505050808060010191505061093d565b50600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b53577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008060065481526020019081526020016000206001015460016040518563ffffffff1660e01b8152600401610b2094939291906119f8565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505b600454841015610cc75760005b84600454610b6e9190611a3d565b811015610cad57600360008287610b859190611633565b8152602001908152602001600020600360008381526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600282015481600201556003820154816003015560048201816004019081610c9c9190611c58565b509050508080600101915050610b60565b5083600454610cbc9190611a3d565b600481905550610cd0565b60006004819055505b610cd8610efd565b600681905550600080600654815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f672ebfecd081c72b12452a84f8b6d051a1f32cda55cdf8992251279a5408b5a5600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610da791906111df565b60405180910390a150949350505050565b60006003600060046000815480929190610dd1906115eb565b9190505581526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508381600201819055503481600301819055508282826004019182610e90929190611d4b565b507ff67a2314f80fd951705a8cb64e24285516f2937f5e0db904aa6d29f3bae1d02783838360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460030154604051610eee9493929190611e1b565b60405180910390a15050505050565b6000610f07610f40565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b600254811015610fc45760008082815260200190815260200160002060030160009054906101000a900460ff16610fb757600080828152602001908152602001600020600201544211610fb7576000808281526020019081526020016000206001015482610fb49190611633565b91505b8080600101915050610f46565b5060008111611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90611ea7565b60405180910390fd5b600081446110169190611ef6565b9050600080600090505b6002548110156110ae5760008082815260200190815260200160002060030160009054906101000a900460ff166110a1576000808281526020019081526020016000206002015442116110a157600080828152602001908152602001600020600101548261108e9190611633565b9150828211156110a0578094506110ae565b5b8080600101915050611020565b5050505090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110ea826110bf565b9050919050565b6110fa816110df565b811461110557600080fd5b50565b600081359050611117816110f1565b92915050565b6000819050919050565b6111308161111d565b811461113b57600080fd5b50565b60008135905061114d81611127565b92915050565b60008060006060848603121561116c5761116b6110b5565b5b600061117a86828701611108565b935050602061118b8682870161113e565b925050604061119c8682870161113e565b9150509250925092565b6111af8161111d565b82525050565b60006020820190506111ca60008301846111a6565b92915050565b6111d9816110df565b82525050565b60006020820190506111f460008301846111d0565b92915050565b6000602082840312156112105761120f6110b5565b5b600061121e8482850161113e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611261578082015181840152602081019050611246565b60008484015250505050565b6000601f19601f8301169050919050565b600061128982611227565b6112938185611232565b93506112a3818560208601611243565b6112ac8161126d565b840191505092915050565b600060a0820190506112cc60008301886111d0565b6112d960208301876111d0565b6112e660408301866111a6565b6112f360608301856111a6565b8181036080830152611305818461127e565b90509695505050505050565b60008115159050919050565b61132681611311565b82525050565b600060808201905061134160008301876111d0565b61134e60208301866111a6565b61135b60408301856111a6565b611368606083018461131d565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083601f84011261139657611395611371565b5b8235905067ffffffffffffffff8111156113b3576113b2611376565b5b6020830191508360018202830111156113cf576113ce61137b565b5b9250929050565b600080600080606085870312156113f0576113ef6110b5565b5b600085013567ffffffffffffffff81111561140e5761140d6110ba565b5b61141a87828801611380565b9450945050602061142d8782880161113e565b925050604061143e8782880161113e565b91505092959194509250565b60008060008060608587031215611464576114636110b5565b5b600061147287828801611108565b94505060206114838782880161113e565b935050604085013567ffffffffffffffff8111156114a4576114a36110ba565b5b6114b087828801611380565b925092505092959194509250565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b600061151a603683611232565b9150611525826114be565b604082019050919050565b600060208201905081810360008301526115498161150d565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b6000611586601183611232565b915061159182611550565b602082019050919050565b600060208201905081810360008301526115b581611579565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f68261111d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611628576116276115bc565b5b600182019050919050565b600061163e8261111d565b91506116498361111d565b9250828201905080821115611661576116606115bc565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806116ae57607f821691505b6020821081036116c1576116c0611667565b5b50919050565b7f42617463682073697a6520746f6f206c61726765000000000000000000000000600082015250565b60006116fd601483611232565b9150611708826116c7565b602082019050919050565b6000602082019050818103600083015261172c816116f0565b9050919050565b7f426174636820726573756c74206d757374206265207375626d6974746564206260008201527f792063757272656e7420626174636820776f726b657200000000000000000000602082015250565b600061178f603683611232565b915061179a82611733565b604082019050919050565b600060208201905081810360008301526117be81611782565b9050919050565b82818337600083830152505050565b60006117e08385611232565b93506117ed8385846117c5565b6117f68361126d565b840190509392505050565b600060029050919050565b600081905092915050565b6000819050919050565b61182a8161111d565b82525050565b600061183c8383611821565b60208301905092915050565b6000602082019050919050565b61185e81611801565b611868818461180c565b925061187382611817565b8060005b838110156118a457815161188b8782611830565b965061189683611848565b925050600181019050611877565b505050505050565b6000819050919050565b6000819050919050565b60006118db6118d66118d1846118ac565b6118b6565b61111d565b9050919050565b6118eb816118c0565b82525050565b600082825260208201905092915050565b50565b60006119126000836118f1565b915061191d82611902565b600082019050919050565b6000610140820190508181036000830152611944818a8c6117d4565b905061195360208301896111a6565b6119606040830188611855565b61196d6080830187611855565b61197a60c08301866118e2565b61198760e083018561131d565b61199561010083018461131d565b8181036101208301526119a781611905565b90509998505050505050505050565b6000815190506119c581611127565b92915050565b6000602082840312156119e1576119e06110b5565b5b60006119ef848285016119b6565b91505092915050565b6000608082019050611a0d60008301876111a6565b611a1a60208301866111d0565b611a2760408301856111a6565b611a34606083018461131d565b95945050505050565b6000611a488261111d565b9150611a538361111d565b9250828203905081811115611a6b57611a6a6115bc565b5b92915050565b600081549050611a8081611696565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611b187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611adb565b611b228683611adb565b95508019841693508086168417925050509392505050565b6000611b55611b50611b4b8461111d565b6118b6565b61111d565b9050919050565b6000819050919050565b611b6f83611b3a565b611b83611b7b82611b5c565b848454611ae8565b825550505050565b600090565b611b98611b8b565b611ba3818484611b66565b505050565b5b81811015611bc757611bbc600082611b90565b600181019050611ba9565b5050565b601f821115611c0c57611bdd81611ab6565b611be684611acb565b81016020851015611bf5578190505b611c09611c0185611acb565b830182611ba8565b50505b505050565b600082821c905092915050565b6000611c2f60001984600802611c11565b1980831691505092915050565b6000611c488383611c1e565b9150826002028217905092915050565b818103611c66575050611d3e565b611c6f82611a71565b67ffffffffffffffff811115611c8857611c87611a87565b5b611c928254611696565b611c9d828285611bcb565b6000601f831160018114611ccc5760008415611cba578287015490505b611cc48582611c3c565b865550611d37565b601f198416611cda87611ab6565b9650611ce586611ab6565b60005b82811015611d0d57848901548255600182019150600185019450602081019050611ce8565b86831015611d2a5784890154611d26601f891682611c1e565b8355505b6001600288020188555050505b5050505050505b565b600082905092915050565b611d558383611d40565b67ffffffffffffffff811115611d6e57611d6d611a87565b5b611d788254611696565b611d83828285611bcb565b6000601f831160018114611db25760008415611da0578287013590505b611daa8582611c3c565b865550611e12565b601f198416611dc086611ab6565b60005b82811015611de857848901358255600182019150602085019450602081019050611dc3565b86831015611e055784890135611e01601f891682611c1e565b8355505b6001600288020188555050505b50505050505050565b60006060820190508181036000830152611e368186886117d4565b9050611e4560208301856111d0565b611e5260408301846111a6565b95945050505050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b6000611e91601a83611232565b9150611e9c82611e5b565b602082019050919050565b60006020820190508181036000830152611ec081611e84565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f018261111d565b9150611f0c8361111d565b925082611f1c57611f1b611ec7565b5b82820690509291505056fea264697066735822122095392d734918a8a61988b0f3ab9e926fa8b58c4ae69b87c0c25a151cb04642d364736f6c63430008180033",
"deployedBytecode": "0x60806040526004361061007b5760003560e01c8063c4a9e1161161004e578063c4a9e11614610154578063d5a44f861461017f578063da553ec2146101bf578063f85c5a8a146101fc5761007b565b8063216ed6ad1461008057806324364a6b146100bd5780636bfb0d01146100e8578063bfb231d214610113575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a29190611153565b610218565b6040516100b491906111b5565b60405180910390f35b3480156100c957600080fd5b506100d2610561565b6040516100df91906111df565b60405180910390f35b3480156100f457600080fd5b506100fd610587565b60405161010a91906111b5565b60405180910390f35b34801561011f57600080fd5b5061013a600480360381019061013591906111fa565b61058d565b60405161014b9594939291906112b7565b60405180910390f35b34801561016057600080fd5b5061016961068b565b60405161017691906111b5565b60405180910390f35b34801561018b57600080fd5b506101a660048036038101906101a191906111fa565b610691565b6040516101b6949392919061132c565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e191906113d6565b6106ee565b6040516101f391906111b5565b60405180910390f35b6102166004803603810190610211919061144a565b610db8565b005b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029f90611530565b60405180910390fd5b600083116102eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e29061159c565b60405180910390fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811480156103a057508473ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561040757600260008154809291906103b8906115eb565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ab565b60008082815260200190815260200160002060030160009054906101000a900460ff16156104915760026000815480929190610442906115eb565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104aa565b6000808281526020019081526020016000206001015491505b5b60008060008381526020019081526020016000209050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084816001018190555083426105199190611633565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161055091906111b5565b60405180910390a150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201549080600301549080600401805461060890611696565b80601f016020809104026020016040519081016040528092919081815260200182805461063490611696565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905085565b60025481565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b6000600454831115610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072c90611713565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081c57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610812906117a5565b60405180910390fd5b5b600080600090505b8481101561085d5760036000828152602001908152602001600020600301548261084e9190611633565b91508080600101915050610824565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c7382888887604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518a63ffffffff1660e01b81526004016108f5989796959493929190611928565b60206040518083038185885af1158015610913573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061093891906119cb565b915060005b84811015610a30577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3846003600085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008681526020019081526020016000206002015460016040518563ffffffff1660e01b81526004016109f194939291906119f8565b600060405180830381600087803b158015610a0b57600080fd5b505af1158015610a1f573d6000803e3d6000fd5b50505050808060010191505061093d565b50600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b53577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008060065481526020019081526020016000206001015460016040518563ffffffff1660e01b8152600401610b2094939291906119f8565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505b600454841015610cc75760005b84600454610b6e9190611a3d565b811015610cad57600360008287610b859190611633565b8152602001908152602001600020600360008381526020019081526020016000206000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600282015481600201556003820154816003015560048201816004019081610c9c9190611c58565b509050508080600101915050610b60565b5083600454610cbc9190611a3d565b600481905550610cd0565b60006004819055505b610cd8610efd565b600681905550600080600654815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f672ebfecd081c72b12452a84f8b6d051a1f32cda55cdf8992251279a5408b5a5600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610da791906111df565b60405180910390a150949350505050565b60006003600060046000815480929190610dd1906115eb565b9190505581526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508381600201819055503481600301819055508282826004019182610e90929190611d4b565b507ff67a2314f80fd951705a8cb64e24285516f2937f5e0db904aa6d29f3bae1d02783838360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460030154604051610eee9493929190611e1b565b60405180910390a15050505050565b6000610f07610f40565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b600254811015610fc45760008082815260200190815260200160002060030160009054906101000a900460ff16610fb757600080828152602001908152602001600020600201544211610fb7576000808281526020019081526020016000206001015482610fb49190611633565b91505b8080600101915050610f46565b5060008111611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90611ea7565b60405180910390fd5b600081446110169190611ef6565b9050600080600090505b6002548110156110ae5760008082815260200190815260200160002060030160009054906101000a900460ff166110a1576000808281526020019081526020016000206002015442116110a157600080828152602001908152602001600020600101548261108e9190611633565b9150828211156110a0578094506110ae565b5b8080600101915050611020565b5050505090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110ea826110bf565b9050919050565b6110fa816110df565b811461110557600080fd5b50565b600081359050611117816110f1565b92915050565b6000819050919050565b6111308161111d565b811461113b57600080fd5b50565b60008135905061114d81611127565b92915050565b60008060006060848603121561116c5761116b6110b5565b5b600061117a86828701611108565b935050602061118b8682870161113e565b925050604061119c8682870161113e565b9150509250925092565b6111af8161111d565b82525050565b60006020820190506111ca60008301846111a6565b92915050565b6111d9816110df565b82525050565b60006020820190506111f460008301846111d0565b92915050565b6000602082840312156112105761120f6110b5565b5b600061121e8482850161113e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611261578082015181840152602081019050611246565b60008484015250505050565b6000601f19601f8301169050919050565b600061128982611227565b6112938185611232565b93506112a3818560208601611243565b6112ac8161126d565b840191505092915050565b600060a0820190506112cc60008301886111d0565b6112d960208301876111d0565b6112e660408301866111a6565b6112f360608301856111a6565b8181036080830152611305818461127e565b90509695505050505050565b60008115159050919050565b61132681611311565b82525050565b600060808201905061134160008301876111d0565b61134e60208301866111a6565b61135b60408301856111a6565b611368606083018461131d565b95945050505050565b600080fd5b600080fd5b600080fd5b60008083601f84011261139657611395611371565b5b8235905067ffffffffffffffff8111156113b3576113b2611376565b5b6020830191508360018202830111156113cf576113ce61137b565b5b9250929050565b600080600080606085870312156113f0576113ef6110b5565b5b600085013567ffffffffffffffff81111561140e5761140d6110ba565b5b61141a87828801611380565b9450945050602061142d8782880161113e565b925050604061143e8782880161113e565b91505092959194509250565b60008060008060608587031215611464576114636110b5565b5b600061147287828801611108565b94505060206114838782880161113e565b935050604085013567ffffffffffffffff8111156114a4576114a36110ba565b5b6114b087828801611380565b925092505092959194509250565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b600061151a603683611232565b9150611525826114be565b604082019050919050565b600060208201905081810360008301526115498161150d565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b6000611586601183611232565b915061159182611550565b602082019050919050565b600060208201905081810360008301526115b581611579565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f68261111d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611628576116276115bc565b5b600182019050919050565b600061163e8261111d565b91506116498361111d565b9250828201905080821115611661576116606115bc565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806116ae57607f821691505b6020821081036116c1576116c0611667565b5b50919050565b7f42617463682073697a6520746f6f206c61726765000000000000000000000000600082015250565b60006116fd601483611232565b9150611708826116c7565b602082019050919050565b6000602082019050818103600083015261172c816116f0565b9050919050565b7f426174636820726573756c74206d757374206265207375626d6974746564206260008201527f792063757272656e7420626174636820776f726b657200000000000000000000602082015250565b600061178f603683611232565b915061179a82611733565b604082019050919050565b600060208201905081810360008301526117be81611782565b9050919050565b82818337600083830152505050565b60006117e08385611232565b93506117ed8385846117c5565b6117f68361126d565b840190509392505050565b600060029050919050565b600081905092915050565b6000819050919050565b61182a8161111d565b82525050565b600061183c8383611821565b60208301905092915050565b6000602082019050919050565b61185e81611801565b611868818461180c565b925061187382611817565b8060005b838110156118a457815161188b8782611830565b965061189683611848565b925050600181019050611877565b505050505050565b6000819050919050565b6000819050919050565b60006118db6118d66118d1846118ac565b6118b6565b61111d565b9050919050565b6118eb816118c0565b82525050565b600082825260208201905092915050565b50565b60006119126000836118f1565b915061191d82611902565b600082019050919050565b6000610140820190508181036000830152611944818a8c6117d4565b905061195360208301896111a6565b6119606040830188611855565b61196d6080830187611855565b61197a60c08301866118e2565b61198760e083018561131d565b61199561010083018461131d565b8181036101208301526119a781611905565b90509998505050505050505050565b6000815190506119c581611127565b92915050565b6000602082840312156119e1576119e06110b5565b5b60006119ef848285016119b6565b91505092915050565b6000608082019050611a0d60008301876111a6565b611a1a60208301866111d0565b611a2760408301856111a6565b611a34606083018461131d565b95945050505050565b6000611a488261111d565b9150611a538361111d565b9250828203905081811115611a6b57611a6a6115bc565b5b92915050565b600081549050611a8081611696565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611b187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611adb565b611b228683611adb565b95508019841693508086168417925050509392505050565b6000611b55611b50611b4b8461111d565b6118b6565b61111d565b9050919050565b6000819050919050565b611b6f83611b3a565b611b83611b7b82611b5c565b848454611ae8565b825550505050565b600090565b611b98611b8b565b611ba3818484611b66565b505050565b5b81811015611bc757611bbc600082611b90565b600181019050611ba9565b5050565b601f821115611c0c57611bdd81611ab6565b611be684611acb565b81016020851015611bf5578190505b611c09611c0185611acb565b830182611ba8565b50505b505050565b600082821c905092915050565b6000611c2f60001984600802611c11565b1980831691505092915050565b6000611c488383611c1e565b9150826002028217905092915050565b818103611c66575050611d3e565b611c6f82611a71565b67ffffffffffffffff811115611c8857611c87611a87565b5b611c928254611696565b611c9d828285611bcb565b6000601f831160018114611ccc5760008415611cba578287015490505b611cc48582611c3c565b865550611d37565b601f198416611cda87611ab6565b9650611ce586611ab6565b60005b82811015611d0d57848901548255600182019150600185019450602081019050611ce8565b86831015611d2a5784890154611d26601f891682611c1e565b8355505b6001600288020188555050505b5050505050505b565b600082905092915050565b611d558383611d40565b67ffffffffffffffff811115611d6e57611d6d611a87565b5b611d788254611696565b611d83828285611bcb565b6000601f831160018114611db25760008415611da0578287013590505b611daa8582611c3c565b865550611e12565b601f198416611dc086611ab6565b60005b82811015611de857848901358255600182019150602085019450602081019050611dc3565b86831015611e055784890135611e01601f891682611c1e565b8355505b6001600288020188555050505b50505050505050565b60006060820190508181036000830152611e368186886117d4565b9050611e4560208301856111d0565b611e5260408301846111a6565b95945050505050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b6000611e91601a83611232565b9150611e9c82611e5b565b602082019050919050565b60006020820190508181036000830152611ec081611e84565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f018261111d565b9150611f0c8361111d565b925082611f1c57611f1b611ec7565b5b82820690509291505056fea264697066735822122095392d734918a8a61988b0f3ab9e926fa8b58c4ae69b87c0c25a151cb04642d364736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}