{ "_format": "hh-sol-artifact-1", "contractName": "Onboarding", "sourceName": "contracts/Onboarding.sol", "abi": [ { "inputs": [ { "internalType": "contract DAO", "name": "dao_", "type": "address" }, { "internalType": "contract Proposals", "name": "proposals_", "type": "address" }, { "internalType": "uint256", "name": "price_", "type": "uint256" } ], "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": "uint256", "name": "priceProposalIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "price", "type": "uint256" } ], "name": "PriceChangeAccepted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "priceProposalIndex", "type": "uint256" } ], "name": "PriceChangeProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "requestIndex", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "approval", "type": "bool" } ], "name": "WorkApprovalSubmitted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "requestIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stakeIndex", "type": "uint256" } ], "name": "WorkAssigned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "requestIndex", "type": "uint256" } ], "name": "WorkEvidenceSubmitted", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "acceptAvailability", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "stakeIndex", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "extendAvailability", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "callbackData", "type": "bytes" } ], "name": "onProposalAccepted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "votePasses", "type": "bool" }, { "internalType": "bool", "name": "quorumMet", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "callbackData", "type": "bytes" } ], "name": "onValidate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "priceProposalCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "priceProposals", "outputs": [ { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "proposalIndex", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" }, { "internalType": "string", "name": "postId", "type": "string" }, { "internalType": "uint256[3]", "name": "durations", "type": "uint256[3]" } ], "name": "proposeNewPrice", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "requestPostId", "type": "string" } ], "name": "requestWork", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "requests", "outputs": [ { "internalType": "address", "name": "customer", "type": "address" }, { "internalType": "uint256", "name": "fee", "type": "uint256" }, { "internalType": "enum Work.WorkStatus", "name": "status", "type": "uint8" }, { "internalType": "uint256", "name": "stakeIndex", "type": "uint256" }, { "internalType": "string", "name": "requestPostId", "type": "string" }, { "internalType": "string", "name": "evidencePostId", "type": "string" }, { "internalType": "bool", "name": "approval", "type": "bool" } ], "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": "uint256", "name": "requestIndex", "type": "uint256" }, { "internalType": "bool", "name": "approval", "type": "bool" } ], "name": "submitWorkApproval", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "requestIndex", "type": "uint256" }, { "internalType": "string", "name": "evidencePostId", "type": "string" }, { "components": [ { "internalType": "int256", "name": "weightPPM", "type": "int256" }, { "internalType": "string", "name": "targetPostId", "type": "string" } ], "internalType": "struct Citation[]", "name": "citations", "type": "tuple[]" } ], "name": "submitWorkEvidence", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60a06040523480156200001157600080fd5b506040516200369e3803806200369e8339818101604052810190620000379190620001c4565b82828282808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050508060038190555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000220565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000f882620000cb565b9050919050565b60006200010c82620000eb565b9050919050565b6200011e81620000ff565b81146200012a57600080fd5b50565b6000815190506200013e8162000113565b92915050565b60006200015182620000eb565b9050919050565b620001638162000144565b81146200016f57600080fd5b50565b600081519050620001838162000158565b92915050565b6000819050919050565b6200019e8162000189565b8114620001aa57600080fd5b50565b600081519050620001be8162000193565b92915050565b600080600060608486031215620001e057620001df620000c6565b5b6000620001f0868287016200012d565b9350506020620002038682870162000172565b92505060406200021686828701620001ad565b9150509250925092565b60805161343862000266600039600081816104c801528181610a3501528181610b0501528181610c2201528181610e330152818161104901526110db01526134386000f3fe6080604052600436106100e85760003560e01c8063a035b1fe1161008a578063cf37625611610059578063cf376256146102ca578063d0fae95f14610308578063d5a44f8614610331578063d76b679414610371576100e8565b8063a035b1fe14610222578063b4e6a1d51461024d578063b5b20c0014610276578063c4a9e1161461029f576100e8565b8063815a0572116100c6578063815a05721461015d57806381d12c581461019a578063854b6a4f146101dd57806399ad6c5614610206576100e8565b80630d0271d6146100ed578063216ed6ad146101095780635badbe4c14610132575b600080fd5b61010760048036038101906101029190611863565b61039c565b005b34801561011557600080fd5b50610130600480360381019061012b9190611944565b6104c6565b005b34801561013e57600080fd5b50610147610666565b60405161015491906119a6565b60405180910390f35b34801561016957600080fd5b50610184600480360381019061017f9190611a17565b61066c565b60405161019191906119a6565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc9190611a8b565b6106eb565b6040516101d49796959493929190611be9565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff9190611c92565b610877565b005b610220600480360381019061021b9190611cf4565b610ce2565b005b34801561022e57600080fd5b50610237610e2b565b60405161024491906119a6565b60405180910390f35b34801561025957600080fd5b50610274600480360381019061026f9190611d68565b610e31565b005b34801561028257600080fd5b5061029d60048036038101906102989190611e02565b6111d3565b005b3480156102ab57600080fd5b506102b4611347565b6040516102c191906119a6565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec9190611a8b565b61134d565b6040516102ff929190611e42565b60405180910390f35b34801561031457600080fd5b5061032f600480360381019061032a9190611ec1565b611371565b005b34801561033d57600080fd5b5061035860048036038101906103539190611a8b565b6115a9565b6040516103689493929190611f56565b60405180910390f35b34801561037d57600080fd5b50610386611606565b60405161039391906119a6565b60405180910390f35b6003543410156103e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d890611fe7565b60405180910390fd5b6000600760008154809291906103f690612036565b9190505590506000600660008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034816001018190555061046761160c565b816003018190555083838260040191826104829291906122c4565b507fd9e7f38a71691fb1db2da17057c03d381a42a9925350883f10e8e5d0bca4a3b48282600301546040516104b8929190611e42565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054b90612406565b60405180910390fd5b60008211610597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058e90612472565b60405180910390fd5b6000600160008154809291906105ac90612036565b91905055905060008060008381526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083816001018190555082426106209190612492565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161065791906119a6565b60405180910390a15050505050565b60075481565b600080838381019061067e9190611a8b565b9050600060046000838152602001908152602001600020905080600001546003819055507f6a3843c02c26620842ae8496fd3afcb44b27463b3808e2ccdae4bcee5a2e3f20826003546040516106d5929190611e42565b60405180910390a1600092505050949350505050565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff1690806003015490806004018054610753906120e7565b80601f016020809104026020016040519081016040528092919081815260200182805461077f906120e7565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050908060050180546107e1906120e7565b80601f016020809104026020016040519081016040528092919081815260200182805461080d906120e7565b801561085a5780601f1061082f5761010080835404028352916020019161085a565b820191906000526020600020905b81548152906001019060200180831161083d57829003601f168201915b5050505050908060070160009054906101000a900460ff16905087565b6000600660008481526020019081526020016000209050600160038111156108a2576108a1611ac7565b5b8160020160009054906101000a900460ff1660038111156108c6576108c5611ac7565b5b14610906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd90612512565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff0219169083600381111561094857610947611ac7565b5b0217905550828260070160006101000a81548160ff0219169083151502179055506000600167ffffffffffffffff81111561098657610985612089565b5b6040519080825280602002602001820160405280156109bf57816020015b6109ac6117c4565b8152602001906001900390816109a45790505b5090506040518060400160405280620f424081526020018360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525081600081518110610a2857610a27612532565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600501866006016040518463ffffffff1660e01b8152600401610a96939291906128cf565b600060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc8585604051610af992919061291b565b60405180910390a160007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a8660010154610b509190612973565b8660010154610b5f91906129a4565b8660050160146040518060400160405280600181526020016003815250604051806040016040528060018152602001600281525060646001808f604051602001610ba991906119a6565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401610bdb989796959493929190612b04565b60206040518083038185885af1158015610bf9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1e9190612ba7565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3828560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015460016040518563ffffffff1660e01b8152600401610ca89493929190612bd4565b600060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050505050505050565b600060056000815480929190610cf790612036565b9190505590506000600460008381526020019081526020016000209050858160000181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cac152a434878787600188604051602001610d7291906119a6565b6040516020818303038152906040526040518763ffffffff1660e01b8152600401610da1959493929190612c6e565b60206040518083038185885af1158015610dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de49190612ba7565b81600101819055507f71eae802097e4e77c5345dee7f35d74ac0ae45eb5a456fdaed0de4d141fc5d8c82604051610e1b91906119a6565b60405180910390a1505050505050565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690612d35565b60405180910390fd5b60008282810190610ed09190611a8b565b90506000600660008381526020019081526020016000209050871580610ef4575086155b15610f7b578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a8360010154610f489190612973565b9081150290604051600060405180830381858888f19350505050158015610f73573d6000803e3d6000fd5b5050506111cb565b60606000600167ffffffffffffffff811115610f9a57610f99612089565b5b604051908082528060200260200182016040528015610fd357816020015b610fc06117c4565b815260200190600190039081610fb85790505b5090506040518060400160405280620f424081526020018460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508160008151811061103c5761103b612532565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600401856040518463ffffffff1660e01b81526004016110a793929190612e7c565b600060405180830381600087803b1580156110c157600080fd5b505af11580156110d5573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a85600101546111269190612973565b856004016014604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518963ffffffff1660e01b81526004016111829796959493929190612eee565b60206040518083038185885af11580156111a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c59190612ba7565b50505050505b505050505050565b600080600084815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127290612fec565b60405180910390fd5b8060030160009054906101000a900460ff16156112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c49061307e565b60405180910390fd5b80600201544211156112f25781426112e59190612492565b816002018190555061130b565b8181600201546113029190612492565b81600201819055505b7fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98360405161133a91906119a6565b60405180910390a1505050565b60015481565b60046020528060005260406000206000915090508060000154908060010154905082565b60006006600087815260200190815260200160002090506000600381111561139c5761139b611ac7565b5b8160020160009054906101000a900460ff1660038111156113c0576113bf611ac7565b5b14611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f7906130ea565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a39061317c565b60405180910390fd5b60018260020160006101000a81548160ff021916908360038111156114d4576114d3611ac7565b5b021790555085858360050191826114ec9291906122c4565b5060005b84849050811015611568578260060185858381811061151257611511612532565b5b905060200281019061152491906131ab565b908060018154018082558091505060019003906000526020600020906002020160009091909190915081816115599190613357565b505080806001019150506114f0565b507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc8760405161159891906119a6565b60405180910390a150505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b60055481565b600061161661164f565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b6001548110156116d35760008082815260200190815260200160002060030160009054906101000a900460ff166116c6576000808281526020019081526020016000206002015442116116c65760008082815260200190815260200160002060010154826116c39190612492565b91505b8080600101915050611655565b5060008111611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e906133b1565b60405180910390fd5b6000814461172591906133d1565b9050600080600090505b6001548110156117bd5760008082815260200190815260200160002060030160009054906101000a900460ff166117b0576000808281526020019081526020016000206002015442116117b057600080828152602001908152602001600020600101548261179d9190612492565b9150828211156117af578094506117bd565b5b808060010191505061172f565b5050505090565b604051806040016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112611823576118226117fe565b5b8235905067ffffffffffffffff8111156118405761183f611803565b5b60208301915083600182028301111561185c5761185b611808565b5b9250929050565b6000806020838503121561187a576118796117f4565b5b600083013567ffffffffffffffff811115611898576118976117f9565b5b6118a48582860161180d565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118db826118b0565b9050919050565b6118eb816118d0565b81146118f657600080fd5b50565b600081359050611908816118e2565b92915050565b6000819050919050565b6119218161190e565b811461192c57600080fd5b50565b60008135905061193e81611918565b92915050565b60008060006060848603121561195d5761195c6117f4565b5b600061196b868287016118f9565b935050602061197c8682870161192f565b925050604061198d8682870161192f565b9150509250925092565b6119a08161190e565b82525050565b60006020820190506119bb6000830184611997565b92915050565b60008083601f8401126119d7576119d66117fe565b5b8235905067ffffffffffffffff8111156119f4576119f3611803565b5b602083019150836001820283011115611a1057611a0f611808565b5b9250929050565b60008060008060608587031215611a3157611a306117f4565b5b6000611a3f8782880161192f565b9450506020611a508782880161192f565b935050604085013567ffffffffffffffff811115611a7157611a706117f9565b5b611a7d878288016119c1565b925092505092959194509250565b600060208284031215611aa157611aa06117f4565b5b6000611aaf8482850161192f565b91505092915050565b611ac1816118d0565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110611b0757611b06611ac7565b5b50565b6000819050611b1882611af6565b919050565b6000611b2882611b0a565b9050919050565b611b3881611b1d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b78578082015181840152602081019050611b5d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ba082611b3e565b611baa8185611b49565b9350611bba818560208601611b5a565b611bc381611b84565b840191505092915050565b60008115159050919050565b611be381611bce565b82525050565b600060e082019050611bfe600083018a611ab8565b611c0b6020830189611997565b611c186040830188611b2f565b611c256060830187611997565b8181036080830152611c378186611b95565b905081810360a0830152611c4b8185611b95565b9050611c5a60c0830184611bda565b98975050505050505050565b611c6f81611bce565b8114611c7a57600080fd5b50565b600081359050611c8c81611c66565b92915050565b60008060408385031215611ca957611ca86117f4565b5b6000611cb78582860161192f565b9250506020611cc885828601611c7d565b9150509250929050565b600081905082602060030282011115611cee57611ced611808565b5b92915050565b60008060008060a08587031215611d0e57611d0d6117f4565b5b6000611d1c8782880161192f565b945050602085013567ffffffffffffffff811115611d3d57611d3c6117f9565b5b611d498782880161180d565b93509350506040611d5c87828801611cd2565b91505092959194509250565b60008060008060008060a08789031215611d8557611d846117f4565b5b6000611d9389828a01611c7d565b9650506020611da489828a01611c7d565b9550506040611db589828a0161192f565b9450506060611dc689828a0161192f565b935050608087013567ffffffffffffffff811115611de757611de66117f9565b5b611df389828a016119c1565b92509250509295509295509295565b60008060408385031215611e1957611e186117f4565b5b6000611e278582860161192f565b9250506020611e388582860161192f565b9150509250929050565b6000604082019050611e576000830185611997565b611e646020830184611997565b9392505050565b60008083601f840112611e8157611e806117fe565b5b8235905067ffffffffffffffff811115611e9e57611e9d611803565b5b602083019150836020820283011115611eba57611eb9611808565b5b9250929050565b600080600080600060608688031215611edd57611edc6117f4565b5b6000611eeb8882890161192f565b955050602086013567ffffffffffffffff811115611f0c57611f0b6117f9565b5b611f188882890161180d565b9450945050604086013567ffffffffffffffff811115611f3b57611f3a6117f9565b5b611f4788828901611e6b565b92509250509295509295909350565b6000608082019050611f6b6000830187611ab8565b611f786020830186611997565b611f856040830185611997565b611f926060830184611bda565b95945050505050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b6000611fd1601083611b49565b9150611fdc82611f9b565b602082019050919050565b6000602082019050818103600083015261200081611fc4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120418261190e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361207357612072612007565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120ff57607f821691505b602082108103612112576121116120b8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261217a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261213d565b612184868361213d565b95508019841693508086168417925050509392505050565b6000819050919050565b60006121c16121bc6121b78461190e565b61219c565b61190e565b9050919050565b6000819050919050565b6121db836121a6565b6121ef6121e7826121c8565b84845461214a565b825550505050565b600090565b6122046121f7565b61220f8184846121d2565b505050565b5b81811015612233576122286000826121fc565b600181019050612215565b5050565b601f8211156122785761224981612118565b6122528461212d565b81016020851015612261578190505b61227561226d8561212d565b830182612214565b50505b505050565b600082821c905092915050565b600061229b6000198460080261227d565b1980831691505092915050565b60006122b4838361228a565b9150826002028217905092915050565b6122ce838361207e565b67ffffffffffffffff8111156122e7576122e6612089565b5b6122f182546120e7565b6122fc828285612237565b6000601f83116001811461232b5760008415612319578287013590505b61232385826122a8565b86555061238b565b601f19841661233986612118565b60005b828110156123615784890135825560018201915060208501945060208101905061233c565b8683101561237e578489013561237a601f89168261228a565b8355505b6001600288020188555050505b50505050505050565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b60006123f0603683611b49565b91506123fb82612394565b604082019050919050565b6000602082019050818103600083015261241f816123e3565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b600061245c601183611b49565b915061246782612426565b602082019050919050565b6000602082019050818103600083015261248b8161244f565b9050919050565b600061249d8261190e565b91506124a88361190e565b92508282019050808211156124c0576124bf612007565b5b92915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006124fc602083611b49565b9150612507826124c6565b602082019050919050565b6000602082019050818103600083015261252b816124ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125968161190e565b82525050565b6125a5816118d0565b82525050565b6040820160008201516125c1600085018261258d565b5060208201516125d4602085018261259c565b50505050565b60006125e683836125ab565b60408301905092915050565b6000602082019050919050565b600061260a82612561565b612614818561256c565b935061261f8361257d565b8060005b8381101561265057815161263788826125da565b9750612642836125f2565b925050600181019050612623565b5085935050505092915050565b6000815461266a816120e7565b6126748186611b49565b9450600182166000811461268f57600181146126a5576126d8565b60ff1983168652811515602002860193506126d8565b6126ae85612118565b60005b838110156126d0578154818901526001820191506020810190506126b1565b808801955050505b50505092915050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008160001c9050919050565b6000819050919050565b600061273c61273783612712565b61271f565b9050919050565b6000819050919050565b61275681612743565b82525050565b600082825260208201905092915050565b6000815461277a816120e7565b612784818661275c565b9450600182166000811461279f57600181146127b5576127e8565b60ff1983168652811515602002860193506127e8565b6127be85612118565b60005b838110156127e0578154818901526001820191506020810190506127c1565b808801955050505b50505092915050565b600060408301600080840154905061280881612729565b612815600087018261274d565b5060018401858303602087015261282c838261276d565b925050819250505092915050565b600061284683836127f1565b905092915050565b6000600282019050919050565b6000612866826126e1565b61287081856126ec565b935083602082028501612882856126fd565b8060005b858110156128bd5784840389528161289e858261283a565b94506128a98361284e565b925060208a01995050600181019050612886565b50829750879550505050505092915050565b600060608201905081810360008301526128e981866125ff565b905081810360208301526128fd818561265d565b90508181036040830152612911818461285b565b9050949350505050565b60006040820190506129306000830185611997565b61293d6020830184611bda565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297e8261190e565b91506129898361190e565b92508261299957612998612944565b5b828204905092915050565b60006129af8261190e565b91506129ba8361190e565b92508282039050818111156129d2576129d1612007565b5b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612a04838361258d565b60208301905092915050565b6000602082019050919050565b612a26816129d8565b612a3081846129e3565b9250612a3b826129ee565b8060005b83811015612a6c578151612a5387826129f8565b9650612a5e83612a10565b925050600181019050612a3f565b505050505050565b6000819050919050565b6000612a99612a94612a8f84612a74565b61219c565b61190e565b9050919050565b612aa981612a7e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612ad682612aaf565b612ae08185612aba565b9350612af0818560208601611b5a565b612af981611b84565b840191505092915050565b6000610140820190508181036000830152612b1f818b61265d565b9050612b2e602083018a611997565b612b3b6040830189612a1d565b612b486080830188612a1d565b612b5560c0830187612aa0565b612b6260e0830186611bda565b612b70610100830185611bda565b818103610120830152612b838184612acb565b90509998505050505050505050565b600081519050612ba181611918565b92915050565b600060208284031215612bbd57612bbc6117f4565b5b6000612bcb84828501612b92565b91505092915050565b6000608082019050612be96000830187611997565b612bf66020830186611ab8565b612c036040830185611997565b612c106060830184611bda565b95945050505050565b82818337600083830152505050565b6000612c348385611b49565b9350612c41838584612c19565b612c4a83611b84565b840190509392505050565b82818337505050565b612c6a60608383612c55565b5050565b600060c0820190508181036000830152612c89818789612c28565b9050612c986020830186612c5e565b612ca56080830185611bda565b81810360a0830152612cb78184612acb565b90509695505050505050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b6000612d1f603183611b49565b9150612d2a82612cc3565b604082019050919050565b60006020820190508181036000830152612d4e81612d12565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000612d7b82611b3e565b612d85818561275c565b9350612d95818560208601611b5a565b612d9e81611b84565b840191505092915050565b6000604083016000830151612dc1600086018261274d565b5060208301518482036020860152612dd98282612d70565b9150508091505092915050565b6000612df28383612da9565b905092915050565b6000602082019050919050565b6000612e1282612d55565b612e1c81856126ec565b935083602082028501612e2e85612d60565b8060005b85811015612e6a5784840389528151612e4b8582612de6565b9450612e5683612dfa565b925060208a01995050600181019050612e32565b50829750879550505050505092915050565b60006060820190508181036000830152612e9681866125ff565b90508181036020830152612eaa818561265d565b90508181036040830152612ebe8184612e07565b9050949350505050565b50565b6000612ed8600083612aba565b9150612ee382612ec8565b600082019050919050565b6000610140820190508181036000830152612f09818a61265d565b9050612f186020830189611997565b612f256040830188612a1d565b612f326080830187612a1d565b612f3f60c0830186612aa0565b612f4c60e0830185611bda565b612f5a610100830184611bda565b818103610120830152612f6c81612ecb565b905098975050505050505050565b7f576f726b65722063616e206f6e6c7920657874656e64207468656972206f776e60008201527f20617661696c6162696c697479207374616b6500000000000000000000000000602082015250565b6000612fd6603383611b49565b9150612fe182612f7a565b604082019050919050565b6000602082019050818103600083015261300581612fc9565b9050919050565b7f5374616b652068617320616c7265616479206265656e2061737369676e65642060008201527f776f726b00000000000000000000000000000000000000000000000000000000602082015250565b6000613068602483611b49565b91506130738261300c565b604082019050919050565b600060208201905081810360008301526130978161305b565b9050919050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b60006130d4601883611b49565b91506130df8261309e565b602082019050919050565b60006020820190508181036000830152613103816130c7565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000613166603a83611b49565b91506131718261310a565b604082019050919050565b6000602082019050818103600083015261319581613159565b9050919050565b600080fd5b600080fd5b600080fd5b6000823560016040038336030381126131c7576131c661319c565b5b80830191505092915050565b6131dc81612743565b81146131e757600080fd5b50565b600081356131f7816131d3565b80915050919050565b60008160001b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61323984613200565b9350801983169250808416831791505092915050565b600061326a61326561326084612743565b61219c565b612743565b9050919050565b6000819050919050565b6132848261324f565b61329761329082613271565b835461320d565b8255505050565b600080833560016020038436030381126132bb576132ba61319c565b5b80840192508235915067ffffffffffffffff8211156132dd576132dc6131a1565b5b6020830192506001820236038313156132f9576132f86131a6565b5b509250929050565b61330c8383836122c4565b505050565b600081016000830180613323816131ea565b905061332f818461327b565b5050506001810160208301613344818561329e565b61334f818386613301565b505050505050565b6133618282613311565b5050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b600061339b601a83611b49565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b60006133dc8261190e565b91506133e78361190e565b9250826133f7576133f6612944565b5b82820690509291505056fea26469706673582212206df67e317ebf3a0b98bea25a97e27222346d7b610a157599ac8e6f50387f2fc364736f6c63430008180033", "deployedBytecode": "0x6080604052600436106100e85760003560e01c8063a035b1fe1161008a578063cf37625611610059578063cf376256146102ca578063d0fae95f14610308578063d5a44f8614610331578063d76b679414610371576100e8565b8063a035b1fe14610222578063b4e6a1d51461024d578063b5b20c0014610276578063c4a9e1161461029f576100e8565b8063815a0572116100c6578063815a05721461015d57806381d12c581461019a578063854b6a4f146101dd57806399ad6c5614610206576100e8565b80630d0271d6146100ed578063216ed6ad146101095780635badbe4c14610132575b600080fd5b61010760048036038101906101029190611863565b61039c565b005b34801561011557600080fd5b50610130600480360381019061012b9190611944565b6104c6565b005b34801561013e57600080fd5b50610147610666565b60405161015491906119a6565b60405180910390f35b34801561016957600080fd5b50610184600480360381019061017f9190611a17565b61066c565b60405161019191906119a6565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc9190611a8b565b6106eb565b6040516101d49796959493929190611be9565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff9190611c92565b610877565b005b610220600480360381019061021b9190611cf4565b610ce2565b005b34801561022e57600080fd5b50610237610e2b565b60405161024491906119a6565b60405180910390f35b34801561025957600080fd5b50610274600480360381019061026f9190611d68565b610e31565b005b34801561028257600080fd5b5061029d60048036038101906102989190611e02565b6111d3565b005b3480156102ab57600080fd5b506102b4611347565b6040516102c191906119a6565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec9190611a8b565b61134d565b6040516102ff929190611e42565b60405180910390f35b34801561031457600080fd5b5061032f600480360381019061032a9190611ec1565b611371565b005b34801561033d57600080fd5b5061035860048036038101906103539190611a8b565b6115a9565b6040516103689493929190611f56565b60405180910390f35b34801561037d57600080fd5b50610386611606565b60405161039391906119a6565b60405180910390f35b6003543410156103e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d890611fe7565b60405180910390fd5b6000600760008154809291906103f690612036565b9190505590506000600660008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034816001018190555061046761160c565b816003018190555083838260040191826104829291906122c4565b507fd9e7f38a71691fb1db2da17057c03d381a42a9925350883f10e8e5d0bca4a3b48282600301546040516104b8929190611e42565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054b90612406565b60405180910390fd5b60008211610597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058e90612472565b60405180910390fd5b6000600160008154809291906105ac90612036565b91905055905060008060008381526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083816001018190555082426106209190612492565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161065791906119a6565b60405180910390a15050505050565b60075481565b600080838381019061067e9190611a8b565b9050600060046000838152602001908152602001600020905080600001546003819055507f6a3843c02c26620842ae8496fd3afcb44b27463b3808e2ccdae4bcee5a2e3f20826003546040516106d5929190611e42565b60405180910390a1600092505050949350505050565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff1690806003015490806004018054610753906120e7565b80601f016020809104026020016040519081016040528092919081815260200182805461077f906120e7565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050908060050180546107e1906120e7565b80601f016020809104026020016040519081016040528092919081815260200182805461080d906120e7565b801561085a5780601f1061082f5761010080835404028352916020019161085a565b820191906000526020600020905b81548152906001019060200180831161083d57829003601f168201915b5050505050908060070160009054906101000a900460ff16905087565b6000600660008481526020019081526020016000209050600160038111156108a2576108a1611ac7565b5b8160020160009054906101000a900460ff1660038111156108c6576108c5611ac7565b5b14610906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd90612512565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff0219169083600381111561094857610947611ac7565b5b0217905550828260070160006101000a81548160ff0219169083151502179055506000600167ffffffffffffffff81111561098657610985612089565b5b6040519080825280602002602001820160405280156109bf57816020015b6109ac6117c4565b8152602001906001900390816109a45790505b5090506040518060400160405280620f424081526020018360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525081600081518110610a2857610a27612532565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600501866006016040518463ffffffff1660e01b8152600401610a96939291906128cf565b600060405180830381600087803b158015610ab057600080fd5b505af1158015610ac4573d6000803e3d6000fd5b505050507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc8585604051610af992919061291b565b60405180910390a160007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a8660010154610b509190612973565b8660010154610b5f91906129a4565b8660050160146040518060400160405280600181526020016003815250604051806040016040528060018152602001600281525060646001808f604051602001610ba991906119a6565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401610bdb989796959493929190612b04565b60206040518083038185885af1158015610bf9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c1e9190612ba7565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3828560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015460016040518563ffffffff1660e01b8152600401610ca89493929190612bd4565b600060405180830381600087803b158015610cc257600080fd5b505af1158015610cd6573d6000803e3d6000fd5b50505050505050505050565b600060056000815480929190610cf790612036565b9190505590506000600460008381526020019081526020016000209050858160000181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cac152a434878787600188604051602001610d7291906119a6565b6040516020818303038152906040526040518763ffffffff1660e01b8152600401610da1959493929190612c6e565b60206040518083038185885af1158015610dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de49190612ba7565b81600101819055507f71eae802097e4e77c5345dee7f35d74ac0ae45eb5a456fdaed0de4d141fc5d8c82604051610e1b91906119a6565b60405180910390a1505050505050565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690612d35565b60405180910390fd5b60008282810190610ed09190611a8b565b90506000600660008381526020019081526020016000209050871580610ef4575086155b15610f7b578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a8360010154610f489190612973565b9081150290604051600060405180830381858888f19350505050158015610f73573d6000803e3d6000fd5b5050506111cb565b60606000600167ffffffffffffffff811115610f9a57610f99612089565b5b604051908082528060200260200182016040528015610fd357816020015b610fc06117c4565b815260200190600190039081610fb85790505b5090506040518060400160405280620f424081526020018460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508160008151811061103c5761103b612532565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600401856040518463ffffffff1660e01b81526004016110a793929190612e7c565b600060405180830381600087803b1580156110c157600080fd5b505af11580156110d5573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a85600101546111269190612973565b856004016014604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518963ffffffff1660e01b81526004016111829796959493929190612eee565b60206040518083038185885af11580156111a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c59190612ba7565b50505050505b505050505050565b600080600084815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127290612fec565b60405180910390fd5b8060030160009054906101000a900460ff16156112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c49061307e565b60405180910390fd5b80600201544211156112f25781426112e59190612492565b816002018190555061130b565b8181600201546113029190612492565b81600201819055505b7fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98360405161133a91906119a6565b60405180910390a1505050565b60015481565b60046020528060005260406000206000915090508060000154908060010154905082565b60006006600087815260200190815260200160002090506000600381111561139c5761139b611ac7565b5b8160020160009054906101000a900460ff1660038111156113c0576113bf611ac7565b5b14611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f7906130ea565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a39061317c565b60405180910390fd5b60018260020160006101000a81548160ff021916908360038111156114d4576114d3611ac7565b5b021790555085858360050191826114ec9291906122c4565b5060005b84849050811015611568578260060185858381811061151257611511612532565b5b905060200281019061152491906131ab565b908060018154018082558091505060019003906000526020600020906002020160009091909190915081816115599190613357565b505080806001019150506114f0565b507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc8760405161159891906119a6565b60405180910390a150505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b60055481565b600061161661164f565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b6001548110156116d35760008082815260200190815260200160002060030160009054906101000a900460ff166116c6576000808281526020019081526020016000206002015442116116c65760008082815260200190815260200160002060010154826116c39190612492565b91505b8080600101915050611655565b5060008111611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e906133b1565b60405180910390fd5b6000814461172591906133d1565b9050600080600090505b6001548110156117bd5760008082815260200190815260200160002060030160009054906101000a900460ff166117b0576000808281526020019081526020016000206002015442116117b057600080828152602001908152602001600020600101548261179d9190612492565b9150828211156117af578094506117bd565b5b808060010191505061172f565b5050505090565b604051806040016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112611823576118226117fe565b5b8235905067ffffffffffffffff8111156118405761183f611803565b5b60208301915083600182028301111561185c5761185b611808565b5b9250929050565b6000806020838503121561187a576118796117f4565b5b600083013567ffffffffffffffff811115611898576118976117f9565b5b6118a48582860161180d565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118db826118b0565b9050919050565b6118eb816118d0565b81146118f657600080fd5b50565b600081359050611908816118e2565b92915050565b6000819050919050565b6119218161190e565b811461192c57600080fd5b50565b60008135905061193e81611918565b92915050565b60008060006060848603121561195d5761195c6117f4565b5b600061196b868287016118f9565b935050602061197c8682870161192f565b925050604061198d8682870161192f565b9150509250925092565b6119a08161190e565b82525050565b60006020820190506119bb6000830184611997565b92915050565b60008083601f8401126119d7576119d66117fe565b5b8235905067ffffffffffffffff8111156119f4576119f3611803565b5b602083019150836001820283011115611a1057611a0f611808565b5b9250929050565b60008060008060608587031215611a3157611a306117f4565b5b6000611a3f8782880161192f565b9450506020611a508782880161192f565b935050604085013567ffffffffffffffff811115611a7157611a706117f9565b5b611a7d878288016119c1565b925092505092959194509250565b600060208284031215611aa157611aa06117f4565b5b6000611aaf8482850161192f565b91505092915050565b611ac1816118d0565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110611b0757611b06611ac7565b5b50565b6000819050611b1882611af6565b919050565b6000611b2882611b0a565b9050919050565b611b3881611b1d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b78578082015181840152602081019050611b5d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ba082611b3e565b611baa8185611b49565b9350611bba818560208601611b5a565b611bc381611b84565b840191505092915050565b60008115159050919050565b611be381611bce565b82525050565b600060e082019050611bfe600083018a611ab8565b611c0b6020830189611997565b611c186040830188611b2f565b611c256060830187611997565b8181036080830152611c378186611b95565b905081810360a0830152611c4b8185611b95565b9050611c5a60c0830184611bda565b98975050505050505050565b611c6f81611bce565b8114611c7a57600080fd5b50565b600081359050611c8c81611c66565b92915050565b60008060408385031215611ca957611ca86117f4565b5b6000611cb78582860161192f565b9250506020611cc885828601611c7d565b9150509250929050565b600081905082602060030282011115611cee57611ced611808565b5b92915050565b60008060008060a08587031215611d0e57611d0d6117f4565b5b6000611d1c8782880161192f565b945050602085013567ffffffffffffffff811115611d3d57611d3c6117f9565b5b611d498782880161180d565b93509350506040611d5c87828801611cd2565b91505092959194509250565b60008060008060008060a08789031215611d8557611d846117f4565b5b6000611d9389828a01611c7d565b9650506020611da489828a01611c7d565b9550506040611db589828a0161192f565b9450506060611dc689828a0161192f565b935050608087013567ffffffffffffffff811115611de757611de66117f9565b5b611df389828a016119c1565b92509250509295509295509295565b60008060408385031215611e1957611e186117f4565b5b6000611e278582860161192f565b9250506020611e388582860161192f565b9150509250929050565b6000604082019050611e576000830185611997565b611e646020830184611997565b9392505050565b60008083601f840112611e8157611e806117fe565b5b8235905067ffffffffffffffff811115611e9e57611e9d611803565b5b602083019150836020820283011115611eba57611eb9611808565b5b9250929050565b600080600080600060608688031215611edd57611edc6117f4565b5b6000611eeb8882890161192f565b955050602086013567ffffffffffffffff811115611f0c57611f0b6117f9565b5b611f188882890161180d565b9450945050604086013567ffffffffffffffff811115611f3b57611f3a6117f9565b5b611f4788828901611e6b565b92509250509295509295909350565b6000608082019050611f6b6000830187611ab8565b611f786020830186611997565b611f856040830185611997565b611f926060830184611bda565b95945050505050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b6000611fd1601083611b49565b9150611fdc82611f9b565b602082019050919050565b6000602082019050818103600083015261200081611fc4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120418261190e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361207357612072612007565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120ff57607f821691505b602082108103612112576121116120b8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261217a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261213d565b612184868361213d565b95508019841693508086168417925050509392505050565b6000819050919050565b60006121c16121bc6121b78461190e565b61219c565b61190e565b9050919050565b6000819050919050565b6121db836121a6565b6121ef6121e7826121c8565b84845461214a565b825550505050565b600090565b6122046121f7565b61220f8184846121d2565b505050565b5b81811015612233576122286000826121fc565b600181019050612215565b5050565b601f8211156122785761224981612118565b6122528461212d565b81016020851015612261578190505b61227561226d8561212d565b830182612214565b50505b505050565b600082821c905092915050565b600061229b6000198460080261227d565b1980831691505092915050565b60006122b4838361228a565b9150826002028217905092915050565b6122ce838361207e565b67ffffffffffffffff8111156122e7576122e6612089565b5b6122f182546120e7565b6122fc828285612237565b6000601f83116001811461232b5760008415612319578287013590505b61232385826122a8565b86555061238b565b601f19841661233986612118565b60005b828110156123615784890135825560018201915060208501945060208101905061233c565b8683101561237e578489013561237a601f89168261228a565b8355505b6001600288020188555050505b50505050505050565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b60006123f0603683611b49565b91506123fb82612394565b604082019050919050565b6000602082019050818103600083015261241f816123e3565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b600061245c601183611b49565b915061246782612426565b602082019050919050565b6000602082019050818103600083015261248b8161244f565b9050919050565b600061249d8261190e565b91506124a88361190e565b92508282019050808211156124c0576124bf612007565b5b92915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006124fc602083611b49565b9150612507826124c6565b602082019050919050565b6000602082019050818103600083015261252b816124ef565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125968161190e565b82525050565b6125a5816118d0565b82525050565b6040820160008201516125c1600085018261258d565b5060208201516125d4602085018261259c565b50505050565b60006125e683836125ab565b60408301905092915050565b6000602082019050919050565b600061260a82612561565b612614818561256c565b935061261f8361257d565b8060005b8381101561265057815161263788826125da565b9750612642836125f2565b925050600181019050612623565b5085935050505092915050565b6000815461266a816120e7565b6126748186611b49565b9450600182166000811461268f57600181146126a5576126d8565b60ff1983168652811515602002860193506126d8565b6126ae85612118565b60005b838110156126d0578154818901526001820191506020810190506126b1565b808801955050505b50505092915050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008160001c9050919050565b6000819050919050565b600061273c61273783612712565b61271f565b9050919050565b6000819050919050565b61275681612743565b82525050565b600082825260208201905092915050565b6000815461277a816120e7565b612784818661275c565b9450600182166000811461279f57600181146127b5576127e8565b60ff1983168652811515602002860193506127e8565b6127be85612118565b60005b838110156127e0578154818901526001820191506020810190506127c1565b808801955050505b50505092915050565b600060408301600080840154905061280881612729565b612815600087018261274d565b5060018401858303602087015261282c838261276d565b925050819250505092915050565b600061284683836127f1565b905092915050565b6000600282019050919050565b6000612866826126e1565b61287081856126ec565b935083602082028501612882856126fd565b8060005b858110156128bd5784840389528161289e858261283a565b94506128a98361284e565b925060208a01995050600181019050612886565b50829750879550505050505092915050565b600060608201905081810360008301526128e981866125ff565b905081810360208301526128fd818561265d565b90508181036040830152612911818461285b565b9050949350505050565b60006040820190506129306000830185611997565b61293d6020830184611bda565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297e8261190e565b91506129898361190e565b92508261299957612998612944565b5b828204905092915050565b60006129af8261190e565b91506129ba8361190e565b92508282039050818111156129d2576129d1612007565b5b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612a04838361258d565b60208301905092915050565b6000602082019050919050565b612a26816129d8565b612a3081846129e3565b9250612a3b826129ee565b8060005b83811015612a6c578151612a5387826129f8565b9650612a5e83612a10565b925050600181019050612a3f565b505050505050565b6000819050919050565b6000612a99612a94612a8f84612a74565b61219c565b61190e565b9050919050565b612aa981612a7e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612ad682612aaf565b612ae08185612aba565b9350612af0818560208601611b5a565b612af981611b84565b840191505092915050565b6000610140820190508181036000830152612b1f818b61265d565b9050612b2e602083018a611997565b612b3b6040830189612a1d565b612b486080830188612a1d565b612b5560c0830187612aa0565b612b6260e0830186611bda565b612b70610100830185611bda565b818103610120830152612b838184612acb565b90509998505050505050505050565b600081519050612ba181611918565b92915050565b600060208284031215612bbd57612bbc6117f4565b5b6000612bcb84828501612b92565b91505092915050565b6000608082019050612be96000830187611997565b612bf66020830186611ab8565b612c036040830185611997565b612c106060830184611bda565b95945050505050565b82818337600083830152505050565b6000612c348385611b49565b9350612c41838584612c19565b612c4a83611b84565b840190509392505050565b82818337505050565b612c6a60608383612c55565b5050565b600060c0820190508181036000830152612c89818789612c28565b9050612c986020830186612c5e565b612ca56080830185611bda565b81810360a0830152612cb78184612acb565b90509695505050505050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b6000612d1f603183611b49565b9150612d2a82612cc3565b604082019050919050565b60006020820190508181036000830152612d4e81612d12565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000612d7b82611b3e565b612d85818561275c565b9350612d95818560208601611b5a565b612d9e81611b84565b840191505092915050565b6000604083016000830151612dc1600086018261274d565b5060208301518482036020860152612dd98282612d70565b9150508091505092915050565b6000612df28383612da9565b905092915050565b6000602082019050919050565b6000612e1282612d55565b612e1c81856126ec565b935083602082028501612e2e85612d60565b8060005b85811015612e6a5784840389528151612e4b8582612de6565b9450612e5683612dfa565b925060208a01995050600181019050612e32565b50829750879550505050505092915050565b60006060820190508181036000830152612e9681866125ff565b90508181036020830152612eaa818561265d565b90508181036040830152612ebe8184612e07565b9050949350505050565b50565b6000612ed8600083612aba565b9150612ee382612ec8565b600082019050919050565b6000610140820190508181036000830152612f09818a61265d565b9050612f186020830189611997565b612f256040830188612a1d565b612f326080830187612a1d565b612f3f60c0830186612aa0565b612f4c60e0830185611bda565b612f5a610100830184611bda565b818103610120830152612f6c81612ecb565b905098975050505050505050565b7f576f726b65722063616e206f6e6c7920657874656e64207468656972206f776e60008201527f20617661696c6162696c697479207374616b6500000000000000000000000000602082015250565b6000612fd6603383611b49565b9150612fe182612f7a565b604082019050919050565b6000602082019050818103600083015261300581612fc9565b9050919050565b7f5374616b652068617320616c7265616479206265656e2061737369676e65642060008201527f776f726b00000000000000000000000000000000000000000000000000000000602082015250565b6000613068602483611b49565b91506130738261300c565b604082019050919050565b600060208201905081810360008301526130978161305b565b9050919050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b60006130d4601883611b49565b91506130df8261309e565b602082019050919050565b60006020820190508181036000830152613103816130c7565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000613166603a83611b49565b91506131718261310a565b604082019050919050565b6000602082019050818103600083015261319581613159565b9050919050565b600080fd5b600080fd5b600080fd5b6000823560016040038336030381126131c7576131c661319c565b5b80830191505092915050565b6131dc81612743565b81146131e757600080fd5b50565b600081356131f7816131d3565b80915050919050565b60008160001b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61323984613200565b9350801983169250808416831791505092915050565b600061326a61326561326084612743565b61219c565b612743565b9050919050565b6000819050919050565b6132848261324f565b61329761329082613271565b835461320d565b8255505050565b600080833560016020038436030381126132bb576132ba61319c565b5b80840192508235915067ffffffffffffffff8211156132dd576132dc6131a1565b5b6020830192506001820236038313156132f9576132f86131a6565b5b509250929050565b61330c8383836122c4565b505050565b600081016000830180613323816131ea565b905061332f818461327b565b5050506001810160208301613344818561329e565b61334f818386613301565b505050505050565b6133618282613311565b5050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b600061339b601a83611b49565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b60006133dc8261190e565b91506133e78361190e565b9250826133f7576133f6612944565b5b82820690509291505056fea26469706673582212206df67e317ebf3a0b98bea25a97e27222346d7b610a157599ac8e6f50387f2fc364736f6c63430008180033", "linkReferences": {}, "deployedLinkReferences": {} }