0 txs
0 calls
constructor
constructor(address _oldTreasury)
functions
getCreditTokensByUser
viewfunction getCreditTokensByUser(address _user) view returns (address[])
getTotalCreditTokensByUser
viewfunction getTotalCreditTokensByUser(address _user) view returns (address[])
getWhitelistedServices
viewfunction getWhitelistedServices() view returns (address[])
maxFee
viewfunction maxFee() view returns (uint256)
MIN_SHARES_IN_TREASURY
viewfunction MIN_SHARES_IN_TREASURY() view returns (uint256)
oldTreasury
viewfunction oldTreasury() view returns (address)
shares
viewfunction shares(address, address) view returns (uint256)
totalShares
viewfunction totalShares(address) view returns (uint256)
totalUserTokenBalance
viewfunction totalUserTokenBalance(address _user, address _token) view returns (uint256)
userTokenBalance
viewfunction userTokenBalance(address _user, address _token) view returns (uint256)
depositFunds
payablefunction depositFunds(address _receiver, address _token, uint256 _amount) payable
initialize
nonpayablefunction initialize(uint256 _maxFee)
updateMaxFee
nonpayablefunction updateMaxFee(uint256 _newMaxFee)
updateWhitelistedService
nonpayablefunction updateWhitelistedService(address _service, bool _add)
useFunds
nonpayablefunction useFunds(address _user, address _token, uint256 _amount)
withdrawFunds
nonpayablefunction withdrawFunds(address _receiver, address _token, uint256 _amount)
events
FundsDeposited
event FundsDeposited(address indexed sender, address indexed token, uint256 indexed amount)
FundsWithdrawn
event FundsWithdrawn(address indexed receiver, address indexed initiator, address indexed token, uint256 amount)
LogDeductFees
event LogDeductFees(address indexed user, address indexed executor, address indexed token, uint256 fees, address service)
UpdatedMaxFee
event UpdatedMaxFee(uint256 indexed maxFee)
UpdatedService
event UpdatedService(address indexed service, bool add)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162003cc038038062003cc08339818101604052810190620000379190620000f0565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505062000122565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a48262000077565b9050919050565b6000620000b88262000097565b9050919050565b620000ca81620000ab565b8114620000d657600080fd5b50565b600081519050620000ea81620000bf565b92915050565b60006020828403121562000109576200010862000072565b5b60006200011984828501620000d9565b91505092915050565b608051613b586200016860003960008181610ab501528181610b520152818161104e0152818161198f015281816119cb01528181611d560152611d920152613b586000f3fe6080604052600436106100f75760003560e01c8063a3f1233e1161008a578063c1461d5711610059578063c1461d5714610378578063cf0ef51614610394578063d147adb9146103bf578063fe4b84df146103fc5761011d565b8063a3f1233e14610298578063b0da8d0b146102c1578063b47064c8146102fe578063bf6b874e1461033b5761011d565b80632bf30a0e116100c65780632bf30a0e146101ca578063550dddeb146102075780635dfad06a146102305780637df446471461025b5761011d565b806301f59d161461012257806303c845961461014d5780630a9b1803146101785780631c20fadd146101a15761011d565b3661011d5761011b3373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34610425565b005b600080fd5b34801561012e57600080fd5b506101376106d2565b60405161014491906126a6565b60405180910390f35b34801561015957600080fd5b506101626106d8565b60405161016f91906126a6565b60405180910390f35b34801561018457600080fd5b5061019f600480360381019061019a919061276b565b6106e1565b005b3480156101ad57600080fd5b506101c860048036038101906101c39190612815565b6107de565b005b3480156101d657600080fd5b506101f160048036038101906101ec9190612868565b6108c9565b6040516101fe9190612953565b60405180910390f35b34801561021357600080fd5b5061022e60048036038101906102299190612975565b610919565b005b34801561023c57600080fd5b506102456109c5565b6040516102529190612953565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d91906129a2565b6109d6565b60405161028f91906126a6565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba91906129e2565b6109fb565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190612868565b610c7b565b6040516102f59190612953565b60405180910390f35b34801561030a57600080fd5b50610325600480360381019061032091906129a2565b610f57565b60405161033291906126a6565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190612868565b611034565b60405161036f91906126a6565b60405180910390f35b610392600480360381019061038d91906129e2565b610425565b005b3480156103a057600080fd5b506103a961104c565b6040516103b69190612a94565b60405180910390f35b3480156103cb57600080fd5b506103e660048036038101906103e191906129a2565b611070565b6040516103f391906126a6565b60405180910390f35b34801561040857600080fd5b50610423600480360381019061041e9190612975565b6110a9565b005b60026001540361046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046190612b0c565b60405180910390fd5b600260018190555060008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036104c457349150610647565b60003414610507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fe90612b78565b60405180910390fd5b600084905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105479190612ba7565b602060405180830381865afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105889190612bd7565b90506105b73330878573ffffffffffffffffffffffffffffffffffffffff1661119d909392919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105f29190612ba7565b602060405180830381865afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190612bd7565b905081816106419190612c33565b94505050505b8161065185611226565b61065b9190612c33565b9050610669858584846112f9565b818473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ff0d0e99cae184d0187b093b48894117462462379674a6e11d89c3fbb618e96b060405160405180910390a4505060018081905550505050565b60335481565b64e8d4a5100081565b6106e961151d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d90612cb3565b60405180910390fd5b80156107765761077082603761154690919063ffffffff16565b5061078c565b61078a82603761157690919063ffffffff16565b505b8173ffffffffffffffffffffffffffffffffffffffff167f112acfcc345761cf642cf6d7086cc68572679c383746552dcf2f71b26623c158826040516107d29190612ce2565b60405180910390a25050565b600260015403610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90612b0c565b60405180910390fd5b60026001819055506108363383836115a6565b610841838383611819565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc322efa58c9cb2c39cfffdac61d35c8643f5cbf13c6a7d0034de2cf18923aff3846040516108b591906126a6565b60405180910390a460018081905550505050565b6060610912603660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611923565b9050919050565b61092161151d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461098e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098590612cb3565b60405180910390fd5b80603381905550807fd4710696fc3761c070b614c80e5020d726828d5f75aa8a6b8287c4194dfe6da260405160405180910390a250565b60606109d16037611923565b905090565b6034602052816000526040600020602052806000526040600020600091509150505481565b610a0f33603761194490919063ffffffff16565b610a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4590612d6f565b60405180910390fd5b600060335414610a9e57806033541015610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490612ddb565b60405180910390fd5b5b6000610aaa8484611974565b9050808211610b47577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f192acc8484876040518463ffffffff1660e01b8152600401610b1093929190612dfb565b600060405180830381600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b50505050610bf7565b6000811115610be0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f192acc8483876040518463ffffffff1660e01b8152600401610bad93929190612dfb565b600060405180830381600087803b158015610bc757600080fd5b505af1158015610bdb573d6000803e3d6000fd5b505050505b610bf684848385610bf19190612c33565b611a77565b5b8273ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe06da4bed68570a3adccb02d0aed523ccc1dd372f85808168917d1c4a7e78acb8533604051610c6d929190612e32565b60405180910390a450505050565b60606000610cc6603660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611923565b90506000610cd384611d3a565b90506000805b8251811015610ddb57610d4d838281518110610cf857610cf7612e5b565b5b6020026020010151603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061194490919063ffffffff16565b610dc857828181518110610d6457610d63612e5b565b5b6020026020010151838381518110610d7f57610d7e612e5b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508180610dc490612e8a565b9250505b8080610dd390612e8a565b915050610cd9565b506000818451610deb9190612ed2565b905060008167ffffffffffffffff811115610e0957610e08612f28565b5b604051908082528060200260200182016040528015610e375781602001602082028036833780820191505090505b50905060005b82811015610f49578551811015610ebb57858181518110610e6157610e60612e5b565b5b6020026020010151828281518110610e7c57610e7b612e5b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610f36565b6000865182610eca9190612c33565b9050858181518110610edf57610ede612e5b565b5b6020026020010151838381518110610efa57610ef9612e5b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b8080610f4190612e8a565b915050610e3d565b508095505050505050919050565b600080610f6383611226565b905061102b603460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054603560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e88565b91505092915050565b60356020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061107d8484610f57565b9050600061108b8585611974565b90506000818361109b9190612ed2565b905080935050505092915050565b600060019054906101000a900460ff166110d15760008054906101000a900460ff16156110da565b6110d9611ecd565b5b611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090612fc9565b60405180910390fd5b60008060019054906101000a900460ff161590508015611169576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b81603381905550611178611ede565b80156111995760008060016101000a81548160ff0219169083151502179055505b5050565b611220846323b872dd60e01b8585856040516024016111be93929190612fe9565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611f37565b50505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611277574790506112f4565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112b09190612ba7565b602060405180830381865afa1580156112cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f19190612bd7565b90505b919050565b6000603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061134b85858486611ffe565b90506000820361139e5764e8d4a5100081101561139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139490613092565b60405180910390fd5b5b600081116113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d890613124565b60405180910390fd5b80603460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461146d9190612ed2565b9250508190555080826114809190612ed2565b603560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151485603660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061154690919063ffffffff16565b50505050505050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354905090565b600061156e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61205f565b905092915050565b600061159e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6120cf565b905092915050565b60006115b183611226565b90506000603560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061160585858486611ffe565b905064e8d4a5100081836116199190612c33565b101561165a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611651906131b6565b60405180910390fd5b6000603460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081816116e79190612c33565b603460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836117739190612c33565b603560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508181036118105761180e86603660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061157690919063ffffffff16565b505b50505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119125760008373ffffffffffffffffffffffffffffffffffffffff168260405161188690613207565b60006040518083038185875af1925050503d80600081146118c3576040519150601f19603f3d011682016040523d82523d6000602084013e6118c8565b606091505b505090508061190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613268565b60405180910390fd5b5061191e565b61191d8284836121e3565b5b505050565b6060600061193383600001612269565b905060608190508092505050919050565b600061196c836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6122c5565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614611a6c577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b47064c884846040518363ffffffff1660e01b8152600401611a24929190613288565b602060405180830381865afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a659190612bd7565b9050611a71565b600090505b92915050565b6000611a8161151d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae8906132fd565b60405180910390fd5b6000611afc84611226565b90506000611b4b8585603560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485611ffe565b905080603460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390613369565b60405180910390fd5b80603460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c989190612c33565b9250508190555080603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d2b9190612ed2565b92505081905550505050505050565b6060600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614611e36577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632bf30a0e836040518263ffffffff1660e01b8152600401611de99190612ba7565b600060405180830381865afa158015611e06573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611e2f91906134c8565b9050611e83565b600067ffffffffffffffff811115611e5157611e50612f28565b5b604051908082528060200260200182016040528015611e7f5781602001602082028036833780820191505090505b5090505b919050565b6000806000841480611e9a5750600083145b15611ea85760009050611ec2565b838386611eb59190613511565b611ebf919061359a565b90505b809150509392505050565b6000611ed8306122e8565b15905090565b600060019054906101000a900460ff16611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f249061363d565b60405180910390fd5b611f356122fb565b565b6000611f99826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123539092919063ffffffff16565b9050600081511115611ff95780806020019051810190611fb99190613672565b611ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fef90613711565b60405180910390fd5b5b505050565b600080600061200d878761236b565b9050600061201b888661236b565b9050600086148061202c5750600085145b1561203957819250612051565b61204e86836120489190613511565b82612492565b92505b829350505050949350505050565b600061206b83836122c5565b6120c45782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506120c9565b600090505b92915050565b600080836001016000848152602001908152602001600020549050600081146121d75760006001826121019190612c33565b90506000600186600001805490506121199190612c33565b905081811461218857600086600001828154811061213a57612139612e5b565b5b906000526020600020015490508087600001848154811061215e5761215d612e5b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061219c5761219b613731565b5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506121dd565b60009150505b92915050565b6122648363a9059cbb60e01b8484604051602401612202929190613760565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611f37565b505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156122b957602002820191906000526020600020905b8154815260200190600101908083116122a5575b50505050509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600080823b905060008111915050919050565b600060019054906101000a900460ff1661234a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123419061363d565b60405180910390fd5b60018081905550565b606061236284846000856124ef565b90509392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123bc5781905061248c565b60008373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242d9190612bd7565b90506012811015612464578060126124459190612c33565b600a61245191906138bc565b8361245c9190613511565b91505061248c565b6012816124719190612c33565b600a61247d91906138bc565b83612488919061359a565b9150505b92915050565b60008082846124a19190613907565b905060008082036124bf5783856124b8919061359a565b90506124e4565b838483876124cd9190612c33565b6124d79190612ed2565b6124e1919061359a565b90505b809250505092915050565b606082471015612534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252b906139aa565b60405180910390fd5b61253d85612603565b61257c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257390613a16565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125a59190613aa5565b60006040518083038185875af1925050503d80600081146125e2576040519150601f19603f3d011682016040523d82523d6000602084013e6125e7565b606091505b50915091506125f7828286612626565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561263657829050612686565b6000835111156126495782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267d9190613b00565b60405180910390fd5b9392505050565b6000819050919050565b6126a08161268d565b82525050565b60006020820190506126bb6000830184612697565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612700826126d5565b9050919050565b612710816126f5565b811461271b57600080fd5b50565b60008135905061272d81612707565b92915050565b60008115159050919050565b61274881612733565b811461275357600080fd5b50565b6000813590506127658161273f565b92915050565b60008060408385031215612782576127816126cb565b5b60006127908582860161271e565b92505060206127a185828601612756565b9150509250929050565b60006127b6826126d5565b9050919050565b6127c6816127ab565b81146127d157600080fd5b50565b6000813590506127e3816127bd565b92915050565b6127f28161268d565b81146127fd57600080fd5b50565b60008135905061280f816127e9565b92915050565b60008060006060848603121561282e5761282d6126cb565b5b600061283c868287016127d4565b935050602061284d8682870161271e565b925050604061285e86828701612800565b9150509250925092565b60006020828403121561287e5761287d6126cb565b5b600061288c8482850161271e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128ca816126f5565b82525050565b60006128dc83836128c1565b60208301905092915050565b6000602082019050919050565b600061290082612895565b61290a81856128a0565b9350612915836128b1565b8060005b8381101561294657815161292d88826128d0565b9750612938836128e8565b925050600181019050612919565b5085935050505092915050565b6000602082019050818103600083015261296d81846128f5565b905092915050565b60006020828403121561298b5761298a6126cb565b5b600061299984828501612800565b91505092915050565b600080604083850312156129b9576129b86126cb565b5b60006129c78582860161271e565b92505060206129d88582860161271e565b9150509250929050565b6000806000606084860312156129fb576129fa6126cb565b5b6000612a098682870161271e565b9350506020612a1a8682870161271e565b9250506040612a2b86828701612800565b9150509250925092565b6000819050919050565b6000612a5a612a55612a50846126d5565b612a35565b6126d5565b9050919050565b6000612a6c82612a3f565b9050919050565b6000612a7e82612a61565b9050919050565b612a8e81612a73565b82525050565b6000602082019050612aa96000830184612a85565b92915050565b600082825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612af6601f83612aaf565b9150612b0182612ac0565b602082019050919050565b60006020820190508181036000830152612b2581612ae9565b9050919050565b7f5461736b54726561737572793a204e6f20455448000000000000000000000000600082015250565b6000612b62601483612aaf565b9150612b6d82612b2c565b602082019050919050565b60006020820190508181036000830152612b9181612b55565b9050919050565b612ba1816126f5565b82525050565b6000602082019050612bbc6000830184612b98565b92915050565b600081519050612bd1816127e9565b92915050565b600060208284031215612bed57612bec6126cb565b5b6000612bfb84828501612bc2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c3e8261268d565b9150612c498361268d565b925082821015612c5c57612c5b612c04565b5b828203905092915050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b6000612c9d600e83612aaf565b9150612ca882612c67565b602082019050919050565b60006020820190508181036000830152612ccc81612c90565b9050919050565b612cdc81612733565b82525050565b6000602082019050612cf76000830184612cd3565b92915050565b7f5461736b54726561737572793a206f6e6c7957686974656c697374656453657260008201527f7669636573000000000000000000000000000000000000000000000000000000602082015250565b6000612d59602583612aaf565b9150612d6482612cfd565b604082019050919050565b60006020820190508181036000830152612d8881612d4c565b9050919050565b7f5461736b54726561737572793a204f7665726368617267656400000000000000600082015250565b6000612dc5601983612aaf565b9150612dd082612d8f565b602082019050919050565b60006020820190508181036000830152612df481612db8565b9050919050565b6000606082019050612e106000830186612b98565b612e1d6020830185612697565b612e2a6040830184612b98565b949350505050565b6000604082019050612e476000830185612697565b612e546020830184612b98565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e958261268d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ec757612ec6612c04565b5b600182019050919050565b6000612edd8261268d565b9150612ee88361268d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1d57612f1c612c04565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612fb3602e83612aaf565b9150612fbe82612f57565b604082019050919050565b60006020820190508181036000830152612fe281612fa6565b9050919050565b6000606082019050612ffe6000830186612b98565b61300b6020830185612b98565b6130186040830184612697565b949350505050565b7f5461736b54726561737572793a2052657175697265204d494e5f53484152455360008201527f5f494e5f54524541535552590000000000000000000000000000000000000000602082015250565b600061307c602c83612aaf565b915061308782613020565b604082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f5461736b54726561737572793a205a65726f2073686172657320746f2063726560008201527f6469740000000000000000000000000000000000000000000000000000000000602082015250565b600061310e602383612aaf565b9150613119826130b2565b604082019050919050565b6000602082019050818103600083015261313d81613101565b9050919050565b7f5461736b54726561737572793a2042656c6f77204d494e5f5348415245535f4960008201527f4e5f545245415355525900000000000000000000000000000000000000000000602082015250565b60006131a0602a83612aaf565b91506131ab82613144565b604082019050919050565b600060208201905081810360008301526131cf81613193565b9050919050565b600081905092915050565b50565b60006131f16000836131d6565b91506131fc826131e1565b600082019050919050565b6000613212826131e4565b9150819050919050565b7f5f7472616e736665723a20455448207472616e73666572206661696c65640000600082015250565b6000613252601e83612aaf565b915061325d8261321c565b602082019050919050565b6000602082019050818103600083015261328181613245565b9050919050565b600060408201905061329d6000830185612b98565b6132aa6020830184612b98565b9392505050565b7f5461736b54726561737572793a204e6f2070726f78792061646d696e00000000600082015250565b60006132e7601c83612aaf565b91506132f2826132b1565b602082019050919050565b60006020820190508181036000830152613316816132da565b9050919050565b7f5461736b54726561737572793a204e6f7420656e6f7567682066756e64730000600082015250565b6000613353601e83612aaf565b915061335e8261331d565b602082019050919050565b6000602082019050818103600083015261338281613346565b9050919050565b600080fd5b6000601f19601f8301169050919050565b6133a88261338e565b810181811067ffffffffffffffff821117156133c7576133c6612f28565b5b80604052505050565b60006133da6126c1565b90506133e6828261339f565b919050565b600067ffffffffffffffff82111561340657613405612f28565b5b602082029050602081019050919050565b600080fd5b60008151905061342b81612707565b92915050565b600061344461343f846133eb565b6133d0565b9050808382526020820190506020840283018581111561346757613466613417565b5b835b81811015613490578061347c888261341c565b845260208401935050602081019050613469565b5050509392505050565b600082601f8301126134af576134ae613389565b5b81516134bf848260208601613431565b91505092915050565b6000602082840312156134de576134dd6126cb565b5b600082015167ffffffffffffffff8111156134fc576134fb6126d0565b5b6135088482850161349a565b91505092915050565b600061351c8261268d565b91506135278361268d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135605761355f612c04565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135a58261268d565b91506135b08361268d565b9250826135c0576135bf61356b565b5b828204905092915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613627602b83612aaf565b9150613632826135cb565b604082019050919050565b600060208201905081810360008301526136568161361a565b9050919050565b60008151905061366c8161273f565b92915050565b600060208284031215613688576136876126cb565b5b60006136968482850161365d565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006136fb602a83612aaf565b91506137068261369f565b604082019050919050565b6000602082019050818103600083015261372a816136ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006040820190506137756000830185612b98565b6137826020830184612697565b9392505050565b60008160011c9050919050565b6000808291508390505b60018511156137e0578086048111156137bc576137bb612c04565b5b60018516156137cb5780820291505b80810290506137d985613789565b94506137a0565b94509492505050565b6000826137f957600190506138b5565b8161380757600090506138b5565b816001811461381d576002811461382757613856565b60019150506138b5565b60ff84111561383957613838612c04565b5b8360020a9150848211156138505761384f612c04565b5b506138b5565b5060208310610133831016604e8410600b841016171561388b5782820a90508381111561388657613885612c04565b5b6138b5565b6138988484846001613796565b925090508184048111156138af576138ae612c04565b5b81810290505b9392505050565b60006138c78261268d565b91506138d28361268d565b92506138ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846137e9565b905092915050565b60006139128261268d565b915061391d8361268d565b92508261392d5761392c61356b565b5b828206905092915050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613994602683612aaf565b915061399f82613938565b604082019050919050565b600060208201905081810360008301526139c381613987565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613a00601d83612aaf565b9150613a0b826139ca565b602082019050919050565b60006020820190508181036000830152613a2f816139f3565b9050919050565b600081519050919050565b60005b83811015613a5f578082015181840152602081019050613a44565b83811115613a6e576000848401525b50505050565b6000613a7f82613a36565b613a8981856131d6565b9350613a99818560208601613a41565b80840191505092915050565b6000613ab18284613a74565b915081905092915050565b600081519050919050565b6000613ad282613abc565b613adc8185612aaf565b9350613aec818560208601613a41565b613af58161338e565b840191505092915050565b60006020820190508181036000830152613b1a8184613ac7565b90509291505056fea264697066735822122060ffbb1fa091b2edb786ade1b25b1830860b34d3d4204e57546bd644eb4bc8de64736f6c634300080e00330000000000000000000000000000000000000000000000000000000000000000