36 txs
113 calls
constructor
constructor()
functions
AmountChangeList
viewfunction AmountChangeList(uint256) view returns (uint256 data_id, uint256 amount, uint256 type_id)
AmountId
viewfunction AmountId() view returns (uint256)
ArbDatabase
viewfunction ArbDatabase() view returns (address)
ArbDatabaseAddr
viewfunction ArbDatabaseAddr() view returns (address)
BUSD_ADDRESS
viewfunction BUSD_ADDRESS() view returns (address)
cal_pay_for_eth
viewfunction cal_pay_for_eth(address _tokenAddr, uint256 _amount) view returns (uint256 requiredWeth, bool isWethRequired)
calculateFee
viewfunction calculateFee(address _tokenAddr, uint256 _amount) view returns (uint256)
DataId
viewfunction DataId() view returns (uint256)
DataIdForAddr
viewfunction DataIdForAddr(uint256) view returns (address)
DataLists
viewfunction DataLists(uint256) view returns (uint256 start_time, uint256 end_time, uint256 old_amount, uint256 amount, uint256 pay_fee, address token_addr, address from_addr, address to_addr, uint256 is_arb, uint256 order_status, address fee_token_addr, uint256 order_type, string cms_id)
DataStatusLists
viewfunction DataStatusLists(uint256) view returns (uint256 data_id, uint256 is_arb, uint256 is_wait_vote, uint256 is_support, uint256 end_time)
EndtimeId
viewfunction EndtimeId() view returns (uint256)
EndtimeLists
viewfunction EndtimeLists(uint256) view returns (uint256 data_id, uint256 end_time, uint256 type_id)
FeeAddr
viewfunction FeeAddr() view returns (address)
FeeDistributor
viewfunction FeeDistributor() view returns (address)
get_order_info
viewfunction get_order_info(uint256 _order_id) view returns (uint256 amount, address token_addr, address from_addr, address to_addr, uint256 end_time, uint256 order_status)
getCaseAmountAndToken
viewfunction getCaseAmountAndToken(uint256 _orderId) view returns (uint256 amount, address tokenAddr)
IsToken
viewfunction IsToken(address) view returns (bool)
MaxBnbFee
viewfunction MaxBnbFee() view returns (uint256)
MaxUSDTFee
viewfunction MaxUSDTFee() view returns (uint256)
MinBnbFee
viewfunction MinBnbFee() view returns (uint256)
ParentAddr
viewfunction ParentAddr(address) view returns (address)
PayFee
viewfunction PayFee() view returns (uint256)
PriceOracle
viewfunction PriceOracle() view returns (address)
PriceOracleAddress
viewfunction PriceOracleAddress() view returns (address)
ShareFee
viewfunction ShareFee() view returns (uint256)
USDC_ADDRESS
viewfunction USDC_ADDRESS() view returns (address)
USDT_ADDRESS
viewfunction USDT_ADDRESS() view returns (address)
WETH_ADDRESS
viewfunction WETH_ADDRESS() view returns (address)
accept_seller_order
payablefunction accept_seller_order(uint256 _order_id) payable returns (bool)
add_arb
nonpayablefunction add_arb(uint256 _orderId, uint256 _returnAmount, uint256 _isBackGoods, string cms_id)
add_order
payablefunction add_order(uint256 _end_time, uint256 _amount, address _token_addr, address _counterpart_addr, uint256 _order_type, address share_addr, address admin_addr, string cms_id) payable returns (uint256)
appeal_end_amount
payablefunction appeal_end_amount(uint256 _id, uint256 _amount) payable returns (bool)
appeal_end_time
nonpayablefunction appeal_end_time(uint256 _id, uint256 _end_time) returns (bool)
arb_pay_amount
nonpayablefunction arb_pay_amount(uint256 _order_id, uint256 arb_id, uint256 _amount, uint256 ArbEndtime) returns (bool)
pay_act
nonpayablefunction pay_act(uint256 _id, uint256 _is_from) returns (bool)
set_addr
nonpayablefunction set_addr(address _ArbDatabaseAddr, address _PriceOracleAddress, address _FeeAddr)
set_IsToken
nonpayablefunction set_IsToken(address _addr, bool _val)
set_parameters
nonpayablefunction set_parameters(uint256 _pay_fee, uint256 _max_bnb_fee, uint256 _max_usdt_fee, uint256 _ShareFee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
_accept
event _accept(uint256 indexed order_id)
_AmountChangeList
event _AmountChangeList(uint256 indexed data_id, uint256 amount, uint256 type_id, address addr, uint256 addtime)
_DataLists
event _DataLists(uint256 indexed data_id, uint256 start_time, uint256 end_time, uint256 amount, uint256 pay_fee, address token_addr, address indexed from_addr, address indexed to_addr, address fee_token_addr, uint256 order_type, string cms_id)
_EndTimeChangeList
event _EndTimeChangeList(uint256 indexed data_id, uint256 end_time, uint256 type_id, address addr, uint256 addtime)
_OrderPaid
event _OrderPaid(uint256 indexed order_id, uint256 amount, uint256 type_id)
_PayOut
event _PayOut(uint256 indexed order_id, address indexed addr, address token_addr, uint256 amount, uint256 type_id)
_ShareOrder
event _ShareOrder(uint256 indexed order_id, uint256 start_time, uint256 end_time, uint256 amount, address token_addr, address indexed share_addr, address indexed admin_addr)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x60806040526101f460075560326008556601c6bf526340006009556801158e460913d00000600a5569021e19e0c9bab2400000600b556001600d555f6012555f60145534801561004d575f80fd5b505f8054336001600160a01b03199182168117835560018055600c8054909216179055613b9890819061007f90395ff3fe608060405260043610610236575f3560e01c8063a7b48cd111610129578063d9de669e116100a8578063ef4c94cd1161006d578063ef4c94cd146107de578063f2fde38b146107f3578063fa102bc914610812578063fee517df14610831578063ff405f0a14610850575f80fd5b8063d9de669e146106fb578063dc5b125b14610710578063dd7a59ee1461072f578063df09aae81461074e578063e3b749ba14610782575f80fd5b8063b622fb98116100ee578063b622fb9814610639578063bb09d9b714610671578063c189205814610698578063c1b19a78146106bf578063ca4dc3f5146106e6575f80fd5b8063a7b48cd114610599578063a8fe5396146105b8578063ac42284a146105e6578063ac79dae314610605578063b210fbb114610624575f80fd5b80635acd3497116101b55780638b28ab1e1161017a5780638b28ab1e146104b15780638e1c4d91146104d0578063995ca2fb1461050a5780639b6bb02d14610529578063a66b77101461055d575f80fd5b80635acd3497146103d05780637380904d1461040457806376aa1991146104195780637a86fc04146104895780638b1689791461049c575f80fd5b80634a61c3ae116101fb5780634a61c3ae146103175780634d48ff121461036c57806350f7c6111461037f578063554cb0f01461039e57806355cad1ad146103bd575f80fd5b8063040141e51461024157806305aeaae31461028557806330d5f4ec146102b457806341aadcfc146102d5578063481f9730146102f8575f80fd5b3661023d57005b5f80fd5b34801561024c575f80fd5b5061026873bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c81565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610290575f80fd5b506102a461029f36600461344b565b610865565b604051901515815260200161027c565b3480156102bf575f80fd5b506102d36102ce36600461346b565b610d07565b005b3480156102e0575f80fd5b506102ea60125481565b60405190815260200161027c565b348015610303575f80fd5b50600554610268906001600160a01b031681565b348015610322575f80fd5b5061035161033136600461349a565b60156020525f908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161027c565b6102a461037a36600461344b565b610d44565b34801561038a575f80fd5b506102d36103993660046134c5565b611080565b3480156103a9575f80fd5b50600354610268906001600160a01b031681565b6102ea6103cb3660046135a2565b611312565b3480156103db575f80fd5b506102686103ea36600461349a565b60106020525f90815260409020546001600160a01b031681565b34801561040f575f80fd5b506102ea600d5481565b348015610424575f80fd5b5061046161043336600461349a565b60116020525f9081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a00161027c565b6102a461049736600461349a565b6119ca565b3480156104a7575f80fd5b506102ea600a5481565b3480156104bc575f80fd5b506102ea6104cb36600461366a565b611c9a565b3480156104db575f80fd5b506103516104ea36600461349a565b60136020525f908152604090208054600182015460029092015490919083565b348015610515575f80fd5b506102d36105243660046136a2565b611e2c565b348015610534575f80fd5b5061054861054336600461366a565b611e7f565b6040805192835290151560208301520161027c565b348015610568575f80fd5b5061057c61057736600461349a565b611eb3565b604080519283526001600160a01b0390911660208301520161027c565b3480156105a4575f80fd5b506102a46105b336600461344b565b611f00565b3480156105c3575f80fd5b506102a46105d23660046136d7565b60166020525f908152604090205460ff1681565b3480156105f1575f80fd5b50600254610268906001600160a01b031681565b348015610610575f80fd5b50600454610268906001600160a01b031681565b34801561062f575f80fd5b506102ea60145481565b348015610644575f80fd5b5061065861065336600461349a565b61212a565b60405161027c9d9c9b9a99989796959493929190613733565b34801561067c575f80fd5b50610268738965349fb649a33a30cbfda057d8ec2c48abe2a281565b3480156106a3575f80fd5b506102687355d398326f99059ff775485246999027b319795581565b3480156106ca575f80fd5b5061026873e9e7cea3dedca5984780bafc599bd69add087d5681565b3480156106f1575f80fd5b506102ea60075481565b348015610706575f80fd5b506102ea60085481565b34801561071b575f80fd5b506102d361072a3660046137b8565b612229565b34801561073a575f80fd5b50600c54610268906001600160a01b031681565b348015610759575f80fd5b506102686107683660046136d7565b600f6020525f90815260409020546001600160a01b031681565b34801561078d575f80fd5b506107a161079c36600461349a565b6122b6565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c00161027c565b3480156107e9575f80fd5b506102ea60095481565b3480156107fe575f80fd5b506102d361080d3660046136d7565b612329565b34801561081d575f80fd5b506102a461082c36600461346b565b612401565b34801561083c575f80fd5b50600654610268906001600160a01b031681565b34801561085b575f80fd5b506102ea600b5481565b5f61086e6126a7565b600d5483106108985760405162461bcd60e51b815260040161088f906137f8565b60405180910390fd5b5f838152600e6020526040902060018314806108b45750826002145b6108f45760405162461bcd60e51b815260206004820152601160248201527024b73b30b634b2103830b930b6b2ba32b960791b604482015260640161088f565b8260010361094d5760068101546001600160a01b031633146109485760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a343290313abcb2b960991b604482015260640161088f565b61099a565b60078101546001600160a01b0316331461099a5760405162461bcd60e51b815260206004820152600e60248201526d2737ba103a34329039b2b63632b960911b604482015260640161088f565b826002036109e25742816001015411156109e25760405162461bcd60e51b8152602060048201526009602482015268074696d657374616d760bc1b604482015260640161088f565b8060080154600103610a065760405162461bcd60e51b815260040161088f90613822565b8060090154600114610a2a5760405162461bcd60e51b815260040161088f90613859565b5f848152600e602090815260409182902060026009909101556003830154825190815290810185905285917fb6bb91af1845f045c1e9045728086bc655f75d8f152cd9e09e373aa5de710014910160405180910390a2604080516101a0810182528254815260018301546020820152600283015491810191909152600382015460608201526004820154608082015260058201546001600160a01b0390811660a08301526006830154811660c08301526007830154811660e083015260088301546101008301526009830154610120830152600a83015416610140820152600b820154610160820152600c820180545f92610bb79288928691610180840191610b3290613885565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5e90613885565b8015610ba95780601f10610b8057610100808354040283529160200191610ba9565b820191905f5260205f20905b815481529060010190602001808311610b8c57829003601f168201915b505050505081525050612700565b604080516101a0810182528454815260018501546020820152600285015491810191909152600384015460608201526004840154608082015260058401546001600160a01b0390811660a08301526006850154811660c08301526007850154811660e083015260088501546101008301526009850154610120830152600a85015416610140820152600b840154610160820152600c84018054929350610cf292889291869161018084019190610c6c90613885565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9890613885565b8015610ce35780601f10610cba57610100808354040283529160200191610ce3565b820191905f5260205f20905b815481529060010190602001808311610cc657829003601f168201915b50505050508152505083612798565b600192505050610d0160018055565b92915050565b5f546001600160a01b03163314610d305760405162461bcd60e51b815260040161088f906138bd565b600793909355600a91909155600b55600855565b5f610d4d6126a7565b600d548310610d6e5760405162461bcd60e51b815260040161088f906137f8565b5f838152600e6020526040902082610dc85760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161088f565b610dd233826127e3565b610e145760405162461bcd60e51b81526020600482015260136024820152722737ba10313abcb2b91037b91039b2b63632b960691b604482015260640161088f565b8281600301541115610e7c5760078101546001600160a01b03163314610e7c5760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c792073656c6c65722063616e20646563726561736520616d6f756e7400604482015260640161088f565b8281600301541015610ee45760068101546001600160a01b03163314610ee45760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792062757965722063616e20696e63726561736520616d6f756e740000604482015260640161088f565b82816003015403610f2d5760405162461bcd60e51b8152602060048201526013602482015272139bc818da185b99d9481a5b88185b5bdd5b9d606a1b604482015260640161088f565b8060080154600103610f515760405162461bcd60e51b815260040161088f90613822565b8060090154600114610f755760405162461bcd60e51b815260040161088f90613859565b6003808201545f868152600e6020526040812090920185905560078301549091906001600160a01b03163314610fac576002610faf565b60015b604080516060808201835289825260208083018a815260ff959095168385018181526014545f9081526015845286902094518555955160018501559451600290930192909255825189815291820184905233828401524290820152905191925087917f70f68817a1f577f1b5c0559ffcbeb02115d4bc70c0c66d892dade8725c7e57869181900360800190a2601454611049906001612819565b6014556005830154600684015461107091879185916001600160a01b03908116911661286d565b60019350505050610d0160018055565b600d5484106110a15760405162461bcd60e51b815260040161088f906137f8565b5f848152600e6020526040902060068101546001600160a01b031633146110fa5760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a343290313abcb2b960991b604482015260640161088f565b838160030154101561113e5760405162461bcd60e51b815260206004820152600d60248201526c17dc995d1d5c9b905b5bdd5b9d609a1b604482015260640161088f565b80600901546001146111625760405162461bcd60e51b815260040161088f90613859565b806008015460010361119f5760405162461bcd60e51b815260206004820152600660248201526534b9afb0b93160d11b604482015260640161088f565b80600101544211156111eb5760405162461bcd60e51b815260206004820152601560248201527413dc99195c88185b1c9958591e48195e1c1a5c9959605a1b604482015260640161088f565b6002546040516313a82a0b60e01b81526001600160a01b03909116906313a82a0b9061122390889088908890339089906004016138e1565b6020604051808303815f875af192505050801561125d575060408051601f3d908101601f1916820190925261125a9181019061391e565b60015b6112a95760405162461bcd60e51b815260206004820152601a60248201527f4172626974726174696f6e20636f6e7472616374206572726f72000000000000604482015260640161088f565b806112f65760405162461bcd60e51b815260206004820152601d60248201527f4172626974726174696f6e20696e6974696174696f6e206661696c6564000000604482015260640161088f565b505050505f91825250600e602052604090206001600890910155565b5f61131b6126a7565b6001600160a01b0387166113715760405162461bcd60e51b815260206004820152601b60248201527f496e76616c696420636f756e7465727061727420616464726573730000000000604482015260640161088f565b6001600160a01b0388166113bf5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b604482015260640161088f565b85600114806113ce5750856002145b61140f5760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206f72646572207479706560701b604482015260640161088f565b6001600160a01b03871633036114715760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f7420637265617465206f72646572207769746820796f757273656c6044820152603360f91b606482015260840161088f565b6001600160a01b0385161580159061149e5750335f908152600f60205260409020546001600160a01b0316155b156114cb57335f908152600f6020526040902080546001600160a01b0319166001600160a01b0387161790555b600160028790036114d957505f5b73bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c6001600160a01b038a161480156115055750806001145b1561150e573499505b8a42106115495760405162461bcd60e51b815260206004820152600960248201526821656e645f74696d6560b81b604482015260640161088f565b5f611554888a612b13565b608081018c905290506115678a8c612b82565b6001600160a01b0316604083015260a082018190525f90611589908c90612cab565b9050604051806101a00160405280836060015181526020018e81526020018d81526020018d81526020018281526020018c6001600160a01b03168152602001835f01516001600160a01b0316815260200183602001516001600160a01b031681526020015f815260200184815260200183604001516001600160a01b031681526020018a815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250939094525050600d548152600e602090815260409182902084518155908401516001820155908301516002820155606083015160038201556080830151600482015560a08301516005820180546001600160a01b039283166001600160a01b03199182161790915560c085015160068401805491841691831691909117905560e085015160078401805491841691831691909117905561010085015160088401556101208501516009840155610140850151600a84018054919093169116179055610160830151600b820155610180830151909150600c8201906117279082613982565b50905050826001148015611758575073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c6001600160a01b038c1614155b156117ed576040516323b872dd60e01b8152336004820152306024820152604481018d90526001600160a01b038c16906323b872dd906064016020604051808303815f875af11580156117ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117d1919061391e565b6117ed5760405162461bcd60e51b815260040161088f90613a42565b600d545f818152600e602090815260409182902082516101a08101845281548152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260058201546001600160a01b0390811660a08301526006830154811660c08301526007830154811660e083015260088301546101008301526009830154610120830152600a83015416610140820152600b820154610160820152600c820180546119659493916101808401916118af90613885565b80601f01602080910402602001604051908101604052809291908181526020018280546118db90613885565b80156119265780601f106118fd57610100808354040283529160200191611926565b820191905f5260205f20905b81548152906001019060200180831161190957829003601f168201915b505050919092525050600d545f908152600e60209081526040808320600601546001600160a01b039081168452600f909252909120541690508a612db6565b600d546001600160a01b0388161561199e575f81815260106020526040902080546001600160a01b0319166001600160a01b038a161790555b600d546119ac906001612819565b600d5593505050506119bd60018055565b9998505050505050505050565b5f6119d36126a7565b600d5482106119f45760405162461bcd60e51b815260040161088f906137f8565b5f828152600e60205260409020600b810154600214611a555760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920666f722073656c6c65722d696e69746961746564206f7264657273604482015260640161088f565b60068101546001600160a01b03163314611ab15760405162461bcd60e51b815260206004820152601860248201527f4e6f74207468652064657369676e617465642062757965720000000000000000604482015260640161088f565b600981015415611b035760405162461bcd60e51b815260206004820152601760248201527f4f7264657220616c72656164792070726f636573736564000000000000000000604482015260640161088f565b80600101544210611b465760405162461bcd60e51b815260206004820152600d60248201526c13dc99195c88195e1c1a5c9959609a1b604482015260640161088f565b600381015460058201546001600160a01b031673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c03611bbf5780341015611bba5760405162461bcd60e51b8152602060048201526014602482015273125b98dbdc9c9958dd0811551208185b5bdd5b9d60621b604482015260640161088f565b611c55565b60058201546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015611c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c39919061391e565b611c555760405162461bcd60e51b815260040161088f90613a42565b6001600983015560405184907f1761a4ddd11b2cb2748c557f5f4447affa5d977f1b8766983d1c07677a4ee5ea905f90a2600192505050611c9560018055565b919050565b5f80611cbd612710611cb760075486612eb890919063ffffffff16565b90612f1e565b9050611cc884612f5f565b15611cd4579050610d01565b600354604051630681320d60e51b81526001600160a01b0386811660048301525f92169063d02641a090602401602060405180830381865afa925050508015611d3a575060408051601f3d908101601f19168201909252611d3791810190613a71565b60015b611d5557600954611d4c906002612eb8565b92505050610d01565b8015611e1457600354604051630681320d60e51b815273bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c60048201525f916001600160a01b03169063d02641a090602401602060405180830381865afa158015611db5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dd99190613a71565b90508015611e12575f611df082611cb78786612eb8565b90506009548110611e015780611e05565b6009545b9550610d01945050505050565b505b50600954611e23906002612eb8565b95945050505050565b5f546001600160a01b03163314611e555760405162461bcd60e51b815260040161088f906138bd565b6001600160a01b03919091165f908152601660205260409020805460ff1916911515919091179055565b5f80611e8a84612f5f565b15611e9957505f905080611eac565b5f611ea48585611c9a565b925060019150505b9250929050565b5f80600d548310611ed65760405162461bcd60e51b815260040161088f906137f8565b50505f908152600e60205260409020600381015460059091015490916001600160a01b0390911690565b5f611f096126a7565b600d548310611f2a5760405162461bcd60e51b815260040161088f906137f8565b5f838152600e60205260409020428311611f865760405162461bcd60e51b815260206004820152601e60248201527f456e642074696d65206d75737420626520696e20746865206675747572650000604482015260640161088f565b611f9033826127e3565b611fd25760405162461bcd60e51b81526020600482015260136024820152722737ba10313abcb2b91037b91039b2b63632b960691b604482015260640161088f565b828160010154101561203a5760078101546001600160a01b0316331461203a5760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c792073656c6c65722063616e20657874656e642074696d650000000000604482015260640161088f565b82816001015411156120a25760068101546001600160a01b031633146120a25760405162461bcd60e51b815260206004820152601a60248201527f4f6e6c792062757965722063616e207265647563652074696d65000000000000604482015260640161088f565b80600801546001036120c65760405162461bcd60e51b815260040161088f90613822565b80600901546001146120ea5760405162461bcd60e51b815260040161088f90613859565b60078101545f906001600160a01b0316331461210757600261210a565b60015b60ff16905061211a858583613019565b50600192505050610d0160018055565b600e6020525f9081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c8d0180549c9d9b9c9a9b999a98996001600160a01b0398891699978916989687169795969495939094169391926121a890613885565b80601f01602080910402602001604051908101604052809291908181526020018280546121d490613885565b801561221f5780601f106121f65761010080835404028352916020019161221f565b820191905f5260205f20905b81548152906001019060200180831161220257829003601f168201915b505050505090508d565b5f546001600160a01b031633146122525760405162461bcd60e51b815260040161088f906138bd565b600280546001600160a01b039485166001600160a01b031991821681179092556006805482169092179091556003805493851693821684179055600580548216909317909255600c8054919093169082168117909255600480549091169091179055565b5f805f805f80600d5487106122dd5760405162461bcd60e51b815260040161088f906137f8565b5050505f9384525050600e60205250604090206003810154600582015460068301546007840154600185015460099095015493956001600160a01b039384169592841694939091169290565b5f546001600160a01b031633146123525760405162461bcd60e51b815260040161088f906138bd565b6001600160a01b0381166123a85760405162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161088f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f61240a6126a7565b600d54851061242b5760405162461bcd60e51b815260040161088f906137f8565b6006546001600160a01b031633146124775760405162461bcd60e51b815260206004820152600f60248201526e20b9312230ba30b130b9b2a0b2323960891b604482015260640161088f565b5f858152600e60205260409020836124d15760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161088f565b80600801546001146124f55760405162461bcd60e51b815260040161088f90613822565b83816003015410156125335760405162461bcd60e51b815260206004820152600760248201526617d85b5bdd5b9d60ca1b604482015260640161088f565b600380820154600260088401555f888152600e602052604090209091015461255c908690613a9c565b5f888152600e602081815260408084206003019485558051606080820183528d82528184018c81528284018e8152601454885260158652848820935184559051600184015551600290920191909155938c90529181529254815190815292830189905233908301524290820152869088907f70f68817a1f577f1b5c0559ffcbeb02115d4bc70c0c66d892dade8725c7e57869060800160405180910390a2601454612608906001612819565b6014555f888152600e60205260409020600301546005840154600685015461263f929185916001600160a01b03918216911661286d565b5f836001015442111561265d576126568642613aaf565b905061267b565b856126684280613a9c565b101561267b576126788642613aaf565b90505b801561268e5761268c898284613019565b505b600194505050505061269f60018055565b949350505050565b6002600154036126f95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161088f565b6002600155565b60808101515f901561271357505f610d01565b5f806127278460a001518560600151612b82565b915091508361014001516001600160a01b0316816001600160a01b031614612773575f858152600e60205260409020600a0180546001600160a01b0319166001600160a01b0383161790555b5f858152600e6020526040902060040182905561279085856130c8565b509392505050565b606082015160a08301516101408401516001600160a01b039182169116036127c7576127c48282613a9c565b90505b6127dd848460a001518560e00151846003613193565b50505050565b60068101545f906001600160a01b0384811691161480612812575060078201546001600160a01b038481169116145b9392505050565b5f826128258382613aaf565b9150811015610d015760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015260640161088f565b82841115612987575f61288085856133ca565b90506001600160a01b03831673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c036128f1578034146128ec5760405162461bcd60e51b8152602060048201526014602482015273125b98dbdc9c9958dd0811551208185b5bdd5b9d60621b604482015260640161088f565b612981565b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038416906323b872dd906064016020604051808303815f875af1158015612941573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612965919061391e565b6129815760405162461bcd60e51b815260040161088f90613a42565b506127dd565b828410156127dd575f61299a84866133ca565b905073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095b196001600160a01b03841601612a5a575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612a0a576040519150601f19603f3d011682016040523d82523d5f602084013e612a0f565b606091505b5050905080612a545760405162461bcd60e51b8152602060048201526011602482015270115512081c99599d5b990819985a5b1959607a1b604482015260640161088f565b50612b0c565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af1158015612aa6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612aca919061391e565b612b0c5760405162461bcd60e51b8152602060048201526013602482015272151bdad95b881c99599d5b990819985a5b1959606a1b604482015260640161088f565b5050505050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915282600103612b63573381526001600160a01b0382166020820152612b76565b6001600160a01b03821681523360208201525b42606082015292915050565b5f80612b9f612710611cb760075486612eb890919063ffffffff16565b915083905073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095b196001600160a01b03821601612bde57600a54821115612bd957600a5491505b611eac565b6001600160a01b0384167355d398326f99059ff775485246999027b31979551480612c2557506001600160a01b03841673e9e7cea3dedca5984780bafc599bd69add087d56145b80612c4c57506001600160a01b038416738965349fb649a33a30cbfda057d8ec2c48abe2a2145b15612c6557600b54821115612bd957600b549150611eac565b612c6e84612f5f565b611eac57612c7c8484611c9a565b9150600a54821115612c8e57600a5491505b5073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c9250929050565b5f612cb583612f5f565b612dae5781341015612d095760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420424e4220666f72206665650000000000000000604482015260640161088f565b81341115612da7575f33612d1d34856133ca565b6040515f81818185875af1925050503d805f8114612d56576040519150601f19603f3d011682016040523d82523d5f602084013e612d5b565b606091505b5050905080612da55760405162461bcd60e51b81526020600482015260166024820152751499599d5b99081d1c985b9cd9995c8819985a5b195960521b604482015260640161088f565b505b5080610d01565b505f92915050565b8260e001516001600160a01b03168360c001516001600160a01b0316857f82820440663f2fe1b398e280b9c1c28555b7ab686a2e154674bf91575a027ddc865f01518760200151886060015189608001518a60a001518b61014001518c61016001518d6101800151604051612e32989796959493929190613ac2565b60405180910390a482516020840151606085015160a08601516040516001600160a01b0380871695908816948a947fb73c76246e9e0f7a7ef5d7adfc0a925453a126520cebcbc5db2a014329cf5b3794612eaa94938452602084019290925260408301526001600160a01b0316606082015260800190565b60405180910390a450505050565b5f811580612edb57508282612ecd8183613b1a565b9250612ed99083613b31565b145b610d015760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161088f565b5f61281283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061341f565b5f6001600160a01b03821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1480612fa757506001600160a01b0382167355d398326f99059ff775485246999027b3197955145b80612fce57506001600160a01b03821673e9e7cea3dedca5984780bafc599bd69add087d56145b80612ff557506001600160a01b038216738965349fb649a33a30cbfda057d8ec2c48abe2a2145b80610d015750506001600160a01b03165f9081526016602052604090205460ff1690565b5f838152600e6020908152604080832060019081018690558151606080820184528882528185018881528285018881526012548852601387528588209351845590519383019390935591516002909101558151868152928301859052338383015242908301525185917f9eac2f52e8388a5c4db49fdf5c28c7e56b7f7541d61442cc495c2236aa888e3d919081900360800190a26012546130bb906001612819565b6012555060019392505050565b6080810151610140820151600c546130ed9185916001600160a01b0316846002613193565b6004805461014084015160c08501516001600160a01b039081165f908152600f60209081526040808320548a845260109092529182902054915163ad3173cf60e01b815295860189905292821660248601526044850186905291811660648501529081166084840152169063ad3173cf9060a4015f604051808303815f87803b158015613178575f80fd5b505af115801561318a573d5f803e3d5ffd5b50505050505050565b8115612b0c5773bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095b196001600160a01b038516016132c0578147101561320e5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e6365000000604482015260640161088f565b5f836001600160a01b0316836040515f6040518083038185875af1925050503d805f8114613257576040519150601f19603f3d011682016040523d82523d5f602084013e61325c565b606091505b505090508060405160200161328c9074022aa24103a3930b739b332b9103330b4b632b21d1605d1b815260150190565b604051602081830303815290604052906132b95760405162461bcd60e51b815260040161088f9190613b50565b5050613372565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905285169063a9059cbb906044016020604051808303815f875af115801561330c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613330919061391e565b6133725760405162461bcd60e51b8152602060048201526013602482015272151bdad95b881c99599d5b990819985a5b1959606a1b604482015260640161088f565b604080516001600160a01b038681168252602082018590529181018390529084169086907f30feb06a00198061de1e810a386e71a8bf5a1f778c29af1840ef68e0455936869060600160405180910390a35050505050565b5f826133d68382613a9c565b9150811115610d015760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161088f565b5f818361343f5760405162461bcd60e51b815260040161088f9190613b50565b505f611e238486613b31565b5f806040838503121561345c575f80fd5b50508035926020909101359150565b5f805f806080858703121561347e575f80fd5b5050823594602084013594506040840135936060013592509050565b5f602082840312156134aa575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f80608085870312156134d8575f80fd5b843593506020850135925060408501359150606085013567ffffffffffffffff80821115613504575f80fd5b818701915087601f830112613517575f80fd5b813581811115613529576135296134b1565b604051601f8201601f19908116603f01168101908382118183101715613551576135516134b1565b816040528281528a6020848701011115613569575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b80356001600160a01b0381168114611c95575f80fd5b5f805f805f805f805f6101008a8c0312156135bb575f80fd5b8935985060208a013597506135d260408b0161358c565b96506135e060608b0161358c565b955060808a013594506135f560a08b0161358c565b935061360360c08b0161358c565b925060e08a013567ffffffffffffffff8082111561361f575f80fd5b818c0191508c601f830112613632575f80fd5b813581811115613640575f80fd5b8d6020828501011115613651575f80fd5b6020830194508093505050509295985092959850929598565b5f806040838503121561367b575f80fd5b6136848361358c565b946020939093013593505050565b801515811461369f575f80fd5b50565b5f80604083850312156136b3575f80fd5b6136bc8361358c565b915060208301356136cc81613692565b809150509250929050565b5f602082840312156136e7575f80fd5b6128128261358c565b5f81518084525f5b81811015613714576020818501810151868301820152016136f8565b505f602082860101526020601f19601f83011685010191505092915050565b5f6101a08f83528e60208401528d60408401528c60608401528b608084015260018060a01b03808c1660a0850152808b1660c0850152808a1660e085015288610100850152876101208501528087166101408501525084610160840152806101808401526137a3818401856136f0565b9150509e9d5050505050505050505050505050565b5f805f606084860312156137ca575f80fd5b6137d38461358c565b92506137e16020850161358c565b91506137ef6040850161358c565b90509250925092565b60208082526010908201526f125b9d985b1a59081bdc99195c88125160821b604082015260600190565b6020808252601a908201527f4f7264657220697320756e646572206172626974726174696f6e000000000000604082015260600190565b60208082526012908201527113dc99195c88185b1c9958591e481c185a5960721b604082015260600190565b600181811c9082168061389957607f821691505b6020821081036138b757634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600a908201526937b7363c9027bbb732b960b11b604082015260600190565b85815284602082015283604082015260018060a01b038316606082015260a060808201525f61391360a08301846136f0565b979650505050505050565b5f6020828403121561392e575f80fd5b815161281281613692565b601f82111561397d57805f5260205f20601f840160051c8101602085101561395e5750805b601f840160051c820191505b81811015612b0c575f815560010161396a565b505050565b815167ffffffffffffffff81111561399c5761399c6134b1565b6139b0816139aa8454613885565b84613939565b602080601f8311600181146139e3575f84156139cc5750858301515b5f19600386901b1c1916600185901b178555613a3a565b5f85815260208120601f198616915b82811015613a11578886015182559484019460019091019084016139f2565b5085821015613a2e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b5f60208284031215613a81575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610d0157610d01613a88565b80820180821115610d0157610d01613a88565b5f6101008a835289602084015288604084015287606084015260018060a01b03808816608085015280871660a0850152508460c08401528060e0840152613b0b818401856136f0565b9b9a5050505050505050505050565b8082028115828204841417610d0157610d01613a88565b5f82613b4b57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f61281260208301846136f056fea26469706673582212205461bbda959d71ae190849183420b64d90c0a7a45d60a0165b192f7f7d34166a64736f6c63430008180033