30 txs
31 calls
constructor
constructor()
functions
ArbDatabaseAddr
viewfunction ArbDatabaseAddr() view returns (address)
ArbSelectAddress
viewfunction ArbSelectAddress() view returns (address)
calculate_score
viewfunction calculate_score(uint256 _correct_votes, uint256 _total_cases, uint256 _complete, uint256 _total_amount, uint256 _view_score) view returns (uint256)
CaseVoteLists
viewfunction CaseVoteLists(uint256) view returns (uint256 pass_vote, uint256 reject_vote, uint256 is_support, bool is_complete)
get_arbtr_case_ratings
viewfunction get_arbtr_case_ratings(uint256 _case_id, address _arbtr) view returns (tuple[])
get_arbtr_rating_stats
viewfunction get_arbtr_rating_stats(address _arbtr) view returns (uint256 rating_count, uint256 total_rating, uint256 average_rating)
get_arbtr_rating
viewfunction get_arbtr_rating(uint256 _case_id, uint256 _start, uint256 _end) view returns (tuple[])
get_case_vote_info
viewfunction get_case_vote_info(uint256 _case_id) view returns (uint256, uint256, uint256, bool)
get_user_rating
viewfunction get_user_rating(uint256 _case_id, uint256 _index) view returns (tuple)
GetArbtrVoteResult
viewfunction GetArbtrVoteResult(uint256 _case_id, address _arbtr) view returns (uint256 userVote, uint256 is_support, bool isCorrect)
GetCasesVoteStatus
viewfunction GetCasesVoteStatus(uint256[] _case_ids) view returns (uint256[] is_support, bool[] completeStatus)
GetCaseVoteLists
viewfunction GetCaseVoteLists(uint256 _case_id) view returns (uint256 pass_vote, uint256 reject_vote, uint256 is_support, bool is_complete)
GetUserVote
viewfunction GetUserVote(uint256 _case_id, address _voter) view returns (uint256 support, uint256 is_check, string cms_id, uint256 addtime)
has_user_rated
viewfunction has_user_rated(uint256 _case_id, address _user, address _arbtr) view returns (bool)
HasUserVoted
viewfunction HasUserVoted(uint256 _case_id, address _addr) view returns (bool)
is_check_complete_all
viewfunction is_check_complete_all(uint256 _arb_id, uint256 start_index, uint256 end_index) view returns (uint256, uint256[], uint256[])
is_check_complete
viewfunction is_check_complete(uint256 _arb_id, address _addr, uint256 start_index, uint256 end_index) view returns (uint256, uint256[], uint256[])
IsRate
viewfunction IsRate(uint256, address, address) view returns (uint256)
MaxValueArr
viewfunction MaxValueArr(uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
ShopOrderArr
viewfunction ShopOrderArr() view returns (address)
simulate_score_calculation
viewfunction simulate_score_calculation(uint256 _correct_votes, uint256 _total_cases, uint256 _complete, uint256 _total_amount, uint256 _view_score) view returns (uint256)
update_score_test
viewfunction update_score_test(address _arbtr) view returns (uint256)
UserRateCaseLen
viewfunction UserRateCaseLen(uint256) view returns (uint256)
UserRating
viewfunction UserRating(uint256, uint256) view returns (address from_addr, address to_addr, uint256 Rating, string Comment, uint256 Addtime)
UserRatingCount
viewfunction UserRatingCount(address) view returns (uint256)
UserTotalRating
viewfunction UserTotalRating(address) view returns (uint256)
VoteLists
viewfunction VoteLists(uint256, address) view returns (uint256 support, uint256 is_check, string cms_id, uint256 addtime)
WeightArr
viewfunction WeightArr(uint256) view returns (uint256)
batch_update_scores
nonpayablefunction batch_update_scores(address[] _arbiters)
check_vote_urgent
nonpayablefunction check_vote_urgent(uint256 _case_id, uint256 _support, string _cms_id) returns (bool)
check_vote
nonpayablefunction check_vote(uint256 _case_id) returns (bool)
clear_score
nonpayablefunction clear_score(address _arbtr)
complete_for_order
nonpayablefunction complete_for_order(uint256[] _case_id_lists)
force_complete_case_vote
nonpayablefunction force_complete_case_vote(uint256 _case_id)
on_arbtr_data_updated
nonpayablefunction on_arbtr_data_updated(address _arbtr)
rate_arbtr
nonpayablefunction rate_arbtr(uint256 _case_id, address _arbtr, uint256 _rating, string _comment)
set_addr
nonpayablefunction set_addr(address _arb_select_addr, address _arb_database_addr, address _ShopOrderArr)
set_max_value_arr
nonpayablefunction set_max_value_arr(uint256[4] _max_values)
set_weights
nonpayablefunction set_weights(uint256[4] _weights)
transfer_ownership
nonpayablefunction transfer_ownership(address _new_owner)
update_global_max_values
nonpayablefunction update_global_max_values(uint256 start_index, uint256 end_index)
update_score_test_score
nonpayablefunction update_score_test_score(address _arbtr, uint256 _score)
update_vote_result
nonpayablefunction update_vote_result(uint256 _case_id, uint256 _support, string _cms_id)
events
ArbtrcoreUpdated
event ArbtrcoreUpdated(address indexed _Arbtr, uint256 _newScore)
ArbtrRated
event ArbtrRated(uint256 indexed _case_id, uint256 indexed arb_log_id, address indexed _user, address _arbtr, uint256 _rating, string _comment)
GlobalMaxValuesUpdated
event GlobalMaxValuesUpdated(uint256 _maxCorrectVoteRate, uint256 _maxSingleAmount, uint256 _maxCompleteRate, uint256 _maxViewScore)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UrgentVoteSubmitted
event UrgentVoteSubmitted(uint256 indexed _case_id, address indexed voter, uint256 support)
VoteCompleted
event VoteCompleted(uint256 indexed _case_id, uint256 arbLogId, uint256 final_support, uint256 pass_vote, uint256 reject_vote)
VoteSubmitted
event VoteSubmitted(uint256 indexed _case_id, address indexed voter, uint256 support, string cmsId)
errors
No errors.
creation bytecode
0x608060405234801561000f575f80fd5b505f8054336001600160a01b03199091161790556001808055601e601081905560146011819055601255601355600c819055600d819055600e55611388600f5561437d8061005c5f395ff3fe608060405234801561000f575f80fd5b506004361061026b575f3560e01c80638da5cb5b1161014b578063d373c775116100bf578063dc5b125b11610084578063dc5b125b14610700578063e8eaec3314610713578063f0350c0414610726578063fa0de54f14610739578063fb485b311461074c578063fee517df1461075f575f80fd5b8063d373c77514610684578063d498f2b414610697578063d8ca4f70146106aa578063db50b7aa146106da578063db547427146106ed575f80fd5b80639b0a0233116101105780639b0a023314610606578063a177b20114610619578063a515ddfd1461062c578063a8c2e16f1461063f578063ae7af8d514610652578063bddd450314610665575f80fd5b80638da5cb5b146105965780638daa2940146105ba5780638e041946146105cd57806392028b30146105e05780639372b570146105f3575f80fd5b806347e0361b116101e257806369c5b9ad116101a757806369c5b9ad146104e75780636dc2ca7f1461051e57806377beb6f01461053d57806383225b591461055057806386b70b01146105635780638cd3994f14610576575f80fd5b806347e0361b146104865780634cd3e0751461049b5780635512c13d146104ae578063597ae505146104c157806365793280146104d4575f80fd5b8063189de0f411610233578063189de0f4146103a25780632d6c55eb146103c25780633f057cab146104005780633fa233741461042157806340154b61146104405780634108033314610463575f80fd5b80630102d6551461026f57806305d322161461029a5780630968b2c7146102c85780630bbb1390146103465780631293363f1461036a575b5f80fd5b61028261027d3660046137a9565b610772565b6040516102919392919061380c565b60405180910390f35b6102ad6102a8366004613857565b610abd565b60408051938452602084019290925290820152606001610291565b6103246102d6366004613872565b5f90815260086020908152604091829020825160808101845281548082526001830154938201849052600283015494820185905260039092015460ff16151560609091018190529093919291565b6040805194855260208501939093529183015215156060820152608001610291565b610359610354366004613889565b610aff565b6040516102919594939291906138f6565b610324610378366004613872565b5f908152600860205260409020805460018201546002830154600390930154919390929160ff1690565b6103b56103b036600461393a565b610bcc565b60405161029191906139ba565b6103f26103d0366004613a1c565b600b60209081525f938452604080852082529284528284209052825290205481565b604051908152602001610291565b61041361040e366004613a9b565b610de7565b604051610291929190613ad9565b6103f261042f366004613857565b60066020525f908152604090205481565b61045361044e366004613872565b610f0b565b6040519015158152602001610291565b61047661047136600461393a565b610f2d565b6040516102919493929190613b30565b610499610494366004613872565b611008565b005b6104536104a9366004613b9c565b611080565b6103f26104bc366004613872565b611330565b6104996104cf366004613889565b611346565b6104536104e2366004613a1c565b611379565b6103246104f5366004613872565b60086020525f908152604090208054600182015460028301546003909301549192909160ff1684565b6103f261052c366004613857565b60056020525f908152604090205481565b6103b561054b3660046137a9565b6113b2565b61049961055e366004613bea565b6115ad565b610499610571366004613b9c565b611ae7565b610589610584366004613889565b611f8e565b6040516102919190613c4e565b5f546001600160a01b03165b6040516001600160a01b039091168152602001610291565b6002546105a2906001600160a01b031681565b6103f26105db366004613c60565b612089565b6104996105ee366004613a9b565b6120a3565b610499610601366004613857565b6121ce565b610499610614366004613c97565b61222b565b610499610627366004613cc1565b612295565b61028261063a366004613ce6565b6123a6565b61049961064d366004613cc1565b612608565b6103f2610660366004613857565b6126ba565b6103f2610673366004613872565b600a6020525f908152604090205481565b61045361069236600461393a565b61274d565b6004546105a2906001600160a01b031681565b6106bd6106b836600461393a565b612784565b604080519384526020840192909252151590820152606001610291565b6104766106e836600461393a565b6127d2565b6103f26106fb366004613c60565b61288b565b61049961070e366004613d20565b612a54565b6103f2610721366004613872565b612abc565b610499610734366004613857565b612acb565b610499610747366004613a9b565b612ba3565b61049961075a366004613857565b612f1c565b6003546105a2906001600160a01b031681565b60025460405163671ec69b60e11b8152600481018590525f91606091829184916001600160a01b039091169063ce3d8d3690602401602060405180830381865afa1580156107c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e69190613d4d565b905080851561080d57806107fa8888613d78565b101561080d5761080a8787613d78565b90505b5f816001600160401b0381111561082657610826613d8b565b60405190808252806020026020018201604052801561084f578160200160208202803683370190505b5090505f826001600160401b0381111561086b5761086b613d8b565b604051908082528060200260200182016040528015610894578160200160208202803683370190505b5090505f895b85811015610aad578981101580156108b157505f8a115b610aad5760025460405163dea069cf60e01b8152600481018e9052602481018390525f916001600160a01b03169063dea069cf90604401602060405180830381865afa158015610903573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109279190613d4d565b6002546040516363a5ad1560e11b8152600481018390529192505f916001600160a01b039091169063c74b5a2a90602401602060405180830381865afa158015610973573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109979190613d4d565b90505f5b81811015610aa257600254604051638ade600960e01b815260048101859052602481018390525f916001600160a01b031690638ade600990604401602060405180830381865afa1580156109f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a159190613daa565b5f8581526007602090815260408083206001600160a01b03851684529091529020600181015489519293509091899088908110610a5457610a54613dc5565b60200260200101818152505084898781518110610a7357610a73613dc5565b60200260200101818152505080600101545f03610a985786610a9481613dd9565b9750505b505060010161099b565b50505060010161089a565b509a919950975095505050505050565b6001600160a01b0381165f908152600560209081526040808320546006909252822054909182610aed575f610af7565b610af78383613df1565b929491935050565b600960209081525f928352604080842090915290825290208054600182015460028301546003840180546001600160a01b039485169594909316939192610b4590613e10565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7190613e10565b8015610bbc5780601f10610b9357610100808354040283529160200191610bbc565b820191905f5260205f20905b815481529060010190602001808311610b9f57829003601f168201915b5050505050908060040154905085565b5f828152600a6020526040812054606091805b82811015610c2b575f8681526009602090815260408083208484529091529020600101546001600160a01b03808716911603610c235781610c1f81613dd9565b9250505b600101610bdf565b505f816001600160401b03811115610c4557610c45613d8b565b604051908082528060200260200182016040528015610c7e57816020015b610c6b61371a565b815260200190600190039081610c635790505b5090505f805b84811015610dd9575f8881526009602090815260408083208484529091529020600101546001600160a01b03808916911603610dd1575f888152600960209081526040808320848452825291829020825160a08101845281546001600160a01b03908116825260018301541692810192909252600281015492820192909252600382018054919291606084019190610d1b90613e10565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4790613e10565b8015610d925780601f10610d6957610100808354040283529160200191610d92565b820191905f5260205f20905b815481529060010190602001808311610d7557829003601f168201915b50505050508152602001600482015481525050838381518110610db757610db7613dc5565b60200260200101819052508180610dcd90613dd9565b9250505b600101610c84565b509093505050505b92915050565b606080826001600160401b03811115610e0257610e02613d8b565b604051908082528060200260200182016040528015610e2b578160200160208202803683370190505b509150826001600160401b03811115610e4657610e46613d8b565b604051908082528060200260200182016040528015610e6f578160200160208202803683370190505b5090505f5b83811015610f02575f60085f878785818110610e9257610e92613dc5565b9050602002013581526020019081526020015f2090508060020154848381518110610ebf57610ebf613dc5565b60209081029190910101526003810154835160ff90911690849084908110610ee957610ee9613dc5565b9115156020928302919091019091015250600101610e74565b505b9250929050565b5f610f1461300d565b610f1d82613066565b9050610f2860018055565b919050565b5f8281526007602090815260408083206001600160a01b03851684529091528120805460018201546003830154600284018054869560609587959194909391928290610f7890613e10565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa490613e10565b8015610fef5780601f10610fc657610100808354040283529160200191610fef565b820191905f5260205f20905b815481529060010190602001808311610fd257829003601f168201915b5050505050915094509450945094505092959194509250565b5f546001600160a01b0316331461103a5760405162461bcd60e51b815260040161103190613e42565b60405180910390fd5b5f818152600860205260409020600381015460ff1661107c5760038101805460ff19166001908117909155600282015482549183015461107c9285929161320e565b5050565b5f61108961300d565b60025460408051638da5cb5b60e01b815290516001600160a01b03909216918291638da5cb5b9160048083019260209291908290030181865afa1580156110d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f69190613daa565b6001600160a01b0316336001600160a01b0316146111435760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606401611031565b61114d8686613282565b5f86815260086020526040808220905163895efdf960e01b8152600481018990529091906001600160a01b0384169063895efdf990602401602060405180830381865afa1580156111a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c49190613d4d565b90505f81116112065760405162461bcd60e51b815260206004820152600e60248201526d10d85cd9481b9bdd08199bdd5b9960921b6044820152606401611031565b804210156112565760405162461bcd60e51b815260206004820152601e60248201527f4e6f726d616c20766f74696e672074696d65206e6f74206578706972656400006044820152606401611031565b60405180608001604052808881526020015f815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250938552505042602093840152508a81526007825260408082203383528352908190208351815591830151600183015582015160028201906112df9082613ea9565b5060609190910151600391820155600283018890558201805460ff19166001908117909155825490830154611318918a918a919061320e565b6001935050505061132860018055565b949350505050565b6010816004811061133f575f80fd5b0154905081565b5f546001600160a01b0316331461136f5760405162461bcd60e51b815260040161103190613e42565b61107c8282613316565b5f838152600b602090815260408083206001600160a01b03808716855290835281842090851684529091529020546001145b9392505050565b5f838152600a602052604090205460609080841061140357604080515f80825260208201909252906113fa565b6113e761371a565b8152602001906001900390816113df5790505b509150506113ab565b82158061140f57508083115b15611418578092505b5f6114238585613d78565b90505f816001600160401b0381111561143e5761143e613d8b565b60405190808252806020026020018201604052801561147757816020015b61146461371a565b81526020019060019003908161145c5790505b5090505f5b828110156115a2575f8881526009602052604081209061149c838a613f64565b815260208082019290925260409081015f20815160a08101835281546001600160a01b039081168252600183015416938101939093526002810154918301919091526003810180546060840191906114f390613e10565b80601f016020809104026020016040519081016040528092919081815260200182805461151f90613e10565b801561156a5780601f106115415761010080835404028352916020019161156a565b820191905f5260205f20905b81548152906001019060200180831161154d57829003601f168201915b5050505050815260200160048201548152505082828151811061158f5761158f613dc5565b602090810291909101015260010161147c565b509695505050505050565b6115b561300d565b8415806115c957506001600160a01b038416155b806115d2575082155b806115de575061271083115b156116185760405162461bcd60e51b815260206004820152600a6024820152695261746520506172616d60b01b6044820152606401611031565b60025460405163141c761160e21b8152600481018790525f916001600160a01b031690635071d8449060240161012060405180830381865afa158015611660573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116849190613fc3565b90508060c001516002146116c85760405162461bcd60e51b815260206004820152600b60248201526a436173652053746174757360a81b6044820152606401611031565b5f8681526007602090815260408083206001600160a01b0389168452909152812054908190036117295760405162461bcd60e51b815260206004820152600c60248201526b41726274722053746174757360a01b6044820152606401611031565b6004805483516040516371dba4dd60e11b8152928301525f9182916001600160a01b03169063e3b749ba9060240160c060405180830381865afa158015611772573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611796919061403c565b5050509250925050336001600160a01b0316826001600160a01b031614806117c657506001600160a01b03811633145b156118015760405162461bcd60e51b815260206004820152600b60248201526a416464722053746174757360a81b6044820152606401611031565b5f898152600b6020908152604080832033845282528083206001600160a01b038c1684529091529020546001036118625760405162461bcd60e51b815260206004820152600560248201526414985d195960da1b6044820152606401611031565b5f600a5f8b81526020019081526020015f205490506040518060a00160405280336001600160a01b031681526020018a6001600160a01b0316815260200189815260200188888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250938552505042602093840152508c8152600982526040808220858352835290819020835181546001600160a01b03199081166001600160a01b03928316178355938501516001830180549095169116179092558201516002820155606082015160038201906119469082613ea9565b50608091909101516004909101555f8a8152600a6020526040812080549161196d83613dd9565b90915550505f8a8152600b6020908152604080832033845282528083206001600160a01b038d16845282528083206001908190556005909252909120546119b391613f64565b6001600160a01b038a165f908152600560209081526040808320939093556006905220546119e2908990613f64565b6001600160a01b03808b165f908152600660208181526040808420869055600254600583529320549190529116916348c2182e918c91611a229190613df1565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015611a65575f80fd5b505af1158015611a77573d5f803e3d5ffd5b50505050336001600160a01b031685604001518b7f62eecec743e2947ca7469d909a7b282a37ec9370c649b77e065a8725a097e1588c8c8c8c604051611ac094939291906140c9565b60405180910390a4611ad189613421565b505050505050611ae060018055565b5050505050565b611aef61300d565b611af98484613282565b600254604051631f72dd5960e31b8152600481018690523360248201526001600160a01b0390911690819063fb96eac890604401602060405180830381865afa158015611b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6c91906140ff565b611bb15760405162461bcd60e51b8152602060048201526016602482015275135d5cdd081858d8d95c1d0818d85cd948199a5c9cdd60521b6044820152606401611031565b5f85815260076020908152604080832033845290915290205415801590611c495750806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c339190613daa565b6001600160a01b0316336001600160a01b031614155b15611c7c5760405162461bcd60e51b815260206004820152600360248201526220b93160e91b6044820152606401611031565b60405163895efdf960e01b8152600481018690525f906001600160a01b0383169063895efdf990602401602060405180830381865afa158015611cc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce59190613d4d565b90505f8111611d275760405162461bcd60e51b815260206004820152600e60248201526d10d85cd9481b9bdd08199bdd5b9960921b6044820152606401611031565b6040516377a0362960e01b81523360048201526001600160a01b038316906377a0362990602401602060405180830381865afa158015611d69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8d91906140ff565b158015611e0b5750336001600160a01b0316826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dff9190613daa565b6001600160a01b031614155b15611e5557804210611e555760405162461bcd60e51b8152602060048201526013602482015272159bdd1a5b99c81d1a5b5948195e1c1a5c9959606a1b6044820152606401611031565b5f8681526008602090815260408083208151608081018352898152808401949094528151601f880184900484028101840183528781529093929183019188908890819084018382808284375f92018290525093855250504260209384015250898152600782526040808220338352835290819020835181559183015160018301558201516002820190611ee89082613ea9565b506060820151816003015590505085600103611f15578054815f611f0b83613dd9565b9190505550611f2c565b600181018054905f611f2683613dd9565b91905055505b336001600160a01b0316877f720984a369098f202619f183f07520ac98984c5e167c22397a26892dd4b4592c888888604051611f6a93929190614118565b60405180910390a3611f7b87613066565b50505050611f8860018055565b50505050565b611f9661371a565b5f838152600960209081526040808320858452825291829020825160a08101845281546001600160a01b03908116825260018301541692810192909252600281015492820192909252600382018054919291606084019190611ff790613e10565b80601f016020809104026020016040519081016040528092919081815260200182805461202390613e10565b801561206e5780601f106120455761010080835404028352916020019161206e565b820191905f5260205f20905b81548152906001019060200180831161205157829003601f168201915b50505050508152602001600482015481525050905092915050565b5f612097868686868661288b565b90505b95945050505050565b5f546001600160a01b031633146120cc5760405162461bcd60e51b815260040161103190613e42565b5f5b818110156121c9576002545f906001600160a01b03166369d26aee8585858181106120fb576120fb613dc5565b90506020020160208101906121109190613857565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240161010060405180830381865afa158015612153573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121779190614131565b8051909150801561218a57508060e00151155b156121c0576121be8484848181106121a4576121a4613dc5565b90506020020160208101906121b99190613857565b613421565b505b506001016120ce565b505050565b6002546001600160a01b031633146122195760405162461bcd60e51b815260206004820152600e60248201526d13db9b1e48105c9894d95b1958dd60921b6044820152606401611031565b61222281613576565b61107c81613421565b6002546040516324610c1760e11b81526001600160a01b03848116600483015260248201849052909116906348c2182e906044015f604051808303815f87803b158015612276575f80fd5b505af1158015612288573d5f803e3d5ffd5b505050506121c982613421565b5f546001600160a01b031633146122be5760405162461bcd60e51b815260040161103190613e42565b8035158015906122d15750602081013515155b80156122e05750604081013515155b80156122ef5750606081013515155b6123455760405162461bcd60e51b815260206004820152602160248201527f4d61782076616c756573206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608401611031565b612352600c826004613757565b5060408051823581526020808401359082015282820135818301526060808401359082015290517f3fb656bf8cb1d222a0843524b5351dbd4b95876cf651f778d7ad236069c4c3f39181900360800190a150565b60025460405163671ec69b60e11b8152600481018690525f91606091829184916001600160a01b039091169063ce3d8d3690602401602060405180830381865afa1580156123f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061241a9190613d4d565b9050808515612441578061242e8888613d78565b10156124415761243e8787613d78565b90505b5f816001600160401b0381111561245a5761245a613d8b565b604051908082528060200260200182016040528015612483578160200160208202803683370190505b5090505f826001600160401b0381111561249f5761249f613d8b565b6040519080825280602002602001820160405280156124c8578160200160208202803683370190505b5090505f895b858110156125f7578981101580156124e557505f8a115b6125f75760025460405163dea069cf60e01b8152600481018f9052602481018390525f916001600160a01b03169063dea069cf90604401602060405180830381865afa158015612537573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061255b9190613d4d565b90505f60075f8381526020019081526020015f205f8f6001600160a01b03166001600160a01b031681526020019081526020015f20905080600101548584815181106125a9576125a9613dc5565b602002602001018181525050818684815181106125c8576125c8613dc5565b60200260200101818152505080600101545f036125ed57836125e981613dd9565b9450505b50506001016124ce565b509b919a5098509650505050505050565b5f546001600160a01b031633146126315760405162461bcd60e51b815260040161103190613e42565b6060810135604082013561264a60208401358435613f64565b6126549190613f64565b61265e9190613f64565b6064146126ad5760405162461bcd60e51b815260206004820152601760248201527f57656967687473206d7573742073756d20746f203130300000000000000000006044820152606401611031565b61107c6010826004613757565b6002546040516334e9357760e11b81526001600160a01b0383811660048301525f9283929116906369d26aee9060240161010060405180830381865afa158015612706573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061272a9190614131565b90506113ab81606001518260200151836040015184608001518560a0015161288b565b5f8281526007602090815260408083206001600160a01b0385168452909152812054810361277c57505f610de1565b506001610de1565b5f828152600860209081526040808320600783528184206001600160a01b038616855290925282208054600283015490939092909184158015906127c757508385145b925050509250925092565b600760209081525f92835260408084209091529082529020805460018201546002830180549293919261280490613e10565b80601f016020809104026020016040519081016040528092919081815260200182805461283090613e10565b801561287b5780601f106128525761010080835404028352916020019161287b565b820191905f5260205f20905b81548152906001019060200180831161285e57829003601f168201915b5050505050908060030154905084565b5f845f0361289a57505f61209a565b5f856128a8886127106141c9565b6128b29190613df1565b90505f8086116128c2575f6128cc565b6128cc8686613df1565b90505f876128dc886127106141c9565b6128e69190613df1565b9050845f80600c810154116128fb575f612914565b600c5461290a866127106141c9565b6129149190613df1565b90505f80600c6001015411612929575f612942565b600d54612938866127106141c9565b6129429190613df1565b90505f80600c6002015411612957575f612970565b600e54612966866127106141c9565b6129709190613df1565b90505f80600c6003015411612985575f61299e565b600f54612994866127106141c9565b61299e9190613df1565b90506127108411156129b05761271093505b6127108311156129c05761271092505b6127108211156129d05761271091505b6127108111156129df57506127105b5f60646010600301546129f290846141c9565b6012546129ff90866141c9565b601154612a0c90886141c9565b601054612a19908a6141c9565b612a239190613f64565b612a2d9190613f64565b612a379190613f64565b612a419190613df1565b9f9e505050505050505050505050505050565b5f546001600160a01b03163314612a7d5760405162461bcd60e51b815260040161103190613e42565b600280546001600160a01b039485166001600160a01b031991821617909155600380549385169382169390931790925560048054919093169116179055565b600c816004811061133f575f80fd5b5f546001600160a01b03163314612af45760405162461bcd60e51b815260040161103190613e42565b6001600160a01b038116612b4a5760405162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f20616464726573730000006044820152606401611031565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b612bab61300d565b5f819003612bfb5760405162461bcd60e51b815260206004820152601860248201527f4e6f20636173657320666f756e6420666f72206f7264657200000000000000006044820152606401611031565b5f5b81811015612f12575f838383818110612c1857612c18613dc5565b60025460405163141c761160e21b815260209290920293909301356004820181905293505f926001600160a01b03169150635071d8449060240161012060405180830381865afa158015612c6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c929190613fc3565b60208101516003546040516251971f60e01b81526004810183905292935090915f916001600160a01b0316906251971f906024015f60405180830381865afa158015612ce0573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612d07919081019061425a565b90508061014001515f1480612d1f5750428360e00151115b15612d2d5750505050612f0a565b6002546040516363a5ad1560e11b8152600481018690525f916001600160a01b03169063c74b5a2a90602401602060405180830381865afa158015612d74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d989190613d4d565b90505f5b81811015612f0357600254604051638ade600960e01b815260048101889052602481018390525f916001600160a01b031690638ade600990604401602060405180830381865afa158015612df2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e169190613daa565b5f8881526007602090815260408083206001600160a01b03851684529091529020805460018201549293509091811580612e4f57505f81115b15612e5d5750505050612efb565b5f8761014001518303612e6e575060015b600184810181905560025460608c0151604051630c186b5760e11b81526001600160a01b0389811660048301526024820186905260448201949094526064810191909152911690631830d6ae906084015f604051808303815f87803b158015612ed5575f80fd5b505af1158015612ee7573d5f803e3d5ffd5b50505050612ef485613421565b5050505050505b600101612d9c565b5050505050505b600101612bfd565b5061107c60018055565b6002546001600160a01b03163314612f675760405162461bcd60e51b815260206004820152600e60248201526d13db9b1e48105c9894d95b1958dd60921b6044820152606401611031565b6002546040516387b23abd60e01b81526001600160a01b0383811660048301525f6024830152909116906387b23abd906044015f604051808303815f87803b158015612fb1575f80fd5b505af1158015612fc3573d5f803e3d5ffd5b50505050806001600160a01b03167fdcc9ee494d91c8ad639bf080c7d068f354ab9b2cbf96bb5302cc4cf97c6fc8d05f60405161300291815260200190565b60405180910390a250565b60026001540361305f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611031565b6002600155565b5f818152600860205260408120600381015460ff161561308857505f92915050565b60025460405163141c761160e21b8152600481018590526001600160a01b03909116905f908290635071d8449060240161012060405180830381865afa1580156130d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f89190613fc3565b60808101519091505f81900361311357505f95945050505050565b60018401548454829161312591613f64565b101561313657505f95945050505050565b5f613142600283613df1565b855411156131525750600161316c565b61315d600283613df1565b8560010154111561316c575060025b8015613202576002850181905560038501805460ff1916600190811790915560408481015187549288015482518281526020810186905292830193909352606082019290925288907f906452118e0962d4fb630be9e0d8099ba57cb51e78c3c953b8b8f22ce96dce619060800160405180910390a26131f48883885f0154896001015461320e565b506001979650505050505050565b505f9695505050505050565b600254604051635b9ce91760e01b8152600481018690526024810185905260448101849052606481018390526001600160a01b0390911690635b9ce917906084015f604051808303815f87803b158015613266575f80fd5b505af1158015613278573d5f803e3d5ffd5b5050505050505050565b5f82116132c35760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a590818d85cd9481251608a1b6044820152606401611031565b80600114806132d25750806002145b61107c5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420737570706f72742076616c756560581b6044820152606401611031565b600254604080516361f1aa9b60e01b815290515f926001600160a01b0316916361f1aa9b9160048083019260209291908290030181865afa15801561335d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133819190613d4d565b905081158061338f57508082115b15613398578091505b825b82811015611f88576002546040516393c510db60e01b8152600481018390525f916001600160a01b0316906393c510db90602401602060405180830381865afa1580156133e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061340d9190613daa565b905061341881613576565b5060010161339a565b6002546040516334e9357760e11b81526001600160a01b0383811660048301525f9283929116906369d26aee9060240161010060405180830381865afa15801561346d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134919190614131565b90505f6134b582606001518360200151846040015185608001518660a0015161288b565b90506134c084613576565b8160c0015181146113ab576002546040516387b23abd60e01b81526001600160a01b03868116600483015260248201849052909116906387b23abd906044015f604051808303815f87803b158015613516575f80fd5b505af1158015613528573d5f803e3d5ffd5b50505050836001600160a01b03167fdcc9ee494d91c8ad639bf080c7d068f354ab9b2cbf96bb5302cc4cf97c6fc8d08260405161356791815260200190565b60405180910390a29392505050565b6002546040516334e9357760e11b81526001600160a01b0383811660048301525f9216906369d26aee9060240161010060405180830381865afa1580156135bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135e39190614131565b905080602001515f036135f4575050565b5f8160200151826060015161271061360c91906141c9565b6136169190613df1565b90505f8083604001511161362a575f61363e565b8260200151836080015161363e9190613df1565b90505f8360200151846040015161271061365891906141c9565b6136629190613df1565b90505f600c81015484111561367a5750600c83905560015b600d5483111561368d5750600d82905560015b600e548211156136a05750600e81905560015b600f5460a086015111156136ba575060a0840151600f5560015b801561371257600c54600d54600e54600f546040805194855260208501939093529183015260608201527f3fb656bf8cb1d222a0843524b5351dbd4b95876cf651f778d7ad236069c4c3f39060800160405180910390a15b505050505050565b6040518060a001604052805f6001600160a01b031681526020015f6001600160a01b031681526020015f8152602001606081526020015f81525090565b8260048101928215613785579160200282015b8281111561378557823582559160200191906001019061376a565b50613791929150613795565b5090565b5b80821115613791575f8155600101613796565b5f805f606084860312156137bb575f80fd5b505081359360208301359350604090920135919050565b5f815180845260208085019450602084015f5b83811015613801578151875295820195908201906001016137e5565b509495945050505050565b838152606060208201525f61382460608301856137d2565b828103604084015261383681856137d2565b9695505050505050565b6001600160a01b0381168114613854575f80fd5b50565b5f60208284031215613867575f80fd5b81356113ab81613840565b5f60208284031215613882575f80fd5b5035919050565b5f806040838503121561389a575f80fd5b50508035926020909101359150565b5f5b838110156138c35781810151838201526020016138ab565b50505f910152565b5f81518084526138e28160208601602086016138a9565b601f01601f19169290920160200192915050565b6001600160a01b038681168252851660208201526040810184905260a0606082018190525f90613928908301856138cb565b90508260808301529695505050505050565b5f806040838503121561394b575f80fd5b82359150602083013561395d81613840565b809150509250929050565b5f60018060a01b038083511684528060208401511660208501525060408201516040840152606082015160a060608501526139a660a08501826138cb565b608093840151949093019390935250919050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b82811015613a0f57603f198886030184526139fd858351613968565b945092850192908501906001016139e1565b5092979650505050505050565b5f805f60608486031215613a2e575f80fd5b833592506020840135613a4081613840565b91506040840135613a5081613840565b809150509250925092565b5f8083601f840112613a6b575f80fd5b5081356001600160401b03811115613a81575f80fd5b6020830191508360208260051b8501011115610f04575f80fd5b5f8060208385031215613aac575f80fd5b82356001600160401b03811115613ac1575f80fd5b613acd85828601613a5b565b90969095509350505050565b604081525f613aeb60408301856137d2565b8281036020848101919091528451808352858201928201905f5b81811015613b23578451151583529383019391830191600101613b05565b5090979650505050505050565b848152836020820152608060408201525f613b4e60808301856138cb565b905082606083015295945050505050565b5f8083601f840112613b6f575f80fd5b5081356001600160401b03811115613b85575f80fd5b602083019150836020828501011115610f04575f80fd5b5f805f8060608587031215613baf575f80fd5b843593506020850135925060408501356001600160401b03811115613bd2575f80fd5b613bde87828801613b5f565b95989497509550505050565b5f805f805f60808688031215613bfe575f80fd5b853594506020860135613c1081613840565b93506040860135925060608601356001600160401b03811115613c31575f80fd5b613c3d88828901613b5f565b969995985093965092949392505050565b602081525f6113ab6020830184613968565b5f805f805f60a08688031215613c74575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f8060408385031215613ca8575f80fd5b8235613cb381613840565b946020939093013593505050565b5f60808284031215613cd1575f80fd5b82608083011115613ce0575f80fd5b50919050565b5f805f8060808587031215613cf9575f80fd5b843593506020850135613d0b81613840565b93969395505050506040820135916060013590565b5f805f60608486031215613d32575f80fd5b8335613d3d81613840565b92506020840135613a4081613840565b5f60208284031215613d5d575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610de157610de1613d64565b634e487b7160e01b5f52604160045260245ffd5b8051610f2881613840565b5f60208284031215613dba575f80fd5b81516113ab81613840565b634e487b7160e01b5f52603260045260245ffd5b5f60018201613dea57613dea613d64565b5060010190565b5f82613e0b57634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c90821680613e2457607f821691505b602082108103613ce057634e487b7160e01b5f52602260045260245ffd5b60208082526009908201526827b7363ca7bbb732b960b91b604082015260600190565b601f8211156121c957805f5260205f20601f840160051c81016020851015613e8a5750805b601f840160051c820191505b81811015611ae0575f8155600101613e96565b81516001600160401b03811115613ec257613ec2613d8b565b613ed681613ed08454613e10565b84613e65565b602080601f831160018114613f09575f8415613ef25750858301515b5f19600386901b1c1916600185901b178555613712565b5f85815260208120601f198616915b82811015613f3757888601518255948401946001909101908401613f18565b5085821015613f5457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115610de157610de1613d64565b60405161012081016001600160401b0381118282101715613f9a57613f9a613d8b565b60405290565b60405161018081016001600160401b0381118282101715613f9a57613f9a613d8b565b5f6101208284031215613fd4575f80fd5b613fdc613f77565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b5f805f805f8060c08789031215614051575f80fd5b86519550602087015161406381613840565b604088015190955061407481613840565b606088015190945061408581613840565b809350506080870151915060a087015190509295509295509295565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b0385168152836020820152606060408201525f6120976060830184866140a1565b80518015158114610f28575f80fd5b5f6020828403121561410f575f80fd5b6113ab826140f0565b838152604060208201525f61209a6040830184866140a1565b5f610100808385031215614143575f80fd5b604051908101906001600160401b038211818310171561416557614165613d8b565b81604052614172846140f0565b81526020840151602082015260408401516040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c08201526141bc60e085016140f0565b60e0820152949350505050565b8082028115828204841417610de157610de1613d64565b5f82601f8301126141ef575f80fd5b81516001600160401b038082111561420957614209613d8b565b604051601f8301601f19908116603f0116810190828211818310171561423157614231613d8b565b81604052838152866020858801011115614249575f80fd5b6138368460208301602089016138a9565b5f6020828403121561426a575f80fd5b81516001600160401b0380821115614280575f80fd5b908301906101808286031215614294575f80fd5b61429c613fa0565b825181526142ac60208401613d9f565b602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526142ef60e08401613d9f565b60e08201526101008084015183811115614307575f80fd5b614313888287016141e0565b918301919091525061012083810151908201526101408084015190820152610160928301519281019290925250939250505056fea26469706673582212208b6005bce8f1733be6634859c5e237111f6601c8609e814ef24ea6084eedeb1864736f6c63430008180033