5 txs
38 calls
constructor
constructor()
functions
currIFOAddress
viewfunction currIFOAddress() view returns (address)
MAX_BUFFER_SECONDS_VESTING
viewfunction MAX_BUFFER_SECONDS_VESTING() view returns (uint256)
MAX_BUFFER_SECONDS
viewfunction MAX_BUFFER_SECONDS() view returns (uint256)
owner
viewfunction owner() view returns (address)
createIFO
nonpayablefunction createIFO(address[] _addresses, uint256[] _startAndEndTimestamps, uint8 _maxPoolId, uint256 _pointThreshold, uint256 _vestingStartTime)
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMaxBuffer
nonpayablefunction updateMaxBuffer(uint256 newMaxBuffer)
events
AdminTokenRecovery
event AdminTokenRecovery(address indexed tokenRecovered, uint256 amount)
NewIFOContract
event NewIFOContract(address indexed ifoAddress)
NewMaxBuffer
event NewMaxBuffer(uint256 maxBuffer)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
AdminAddressIsNull
error AdminAddressIsNull()
EndTimeTooFar
error EndTimeTooFar()
LpTokenSameWithOfferingToken
error LpTokenSameWithOfferingToken()
StartTimeMustGreaterThanCurrentBlockTime
error StartTimeMustGreaterThanCurrentBlockTime()
StartTimeMustInferiorToEndTime
error StartTimeMustInferiorToEndTime()
VestingStartTimeMustGreaterThanEndTime
error VestingStartTimeMustGreaterThanEndTime()
VestingStartTimeTooFar
error VestingStartTimeTooFar()
creation bytecode
0x608060405234801561001057600080fd5b5061001a33610026565b62278d00600155610076565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b615762806100856000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063114c0fa81461008857806354070e39146100b8578063715018a6146100cf578063746268cc146100d957806387b7db5c146100ec5780638da5cb5b146100ff578063d04cbeb314610107578063eec784bd14610111578063f2fde38b14610124575b600080fd5b60025461009b906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c160015481565b6040519081526020016100af565b6100d7610137565b005b6100d76100e7366004610c18565b61017b565b6100d76100fa366004610c33565b6102c2565b61009b61032c565b6100c162278d0081565b6100d761011f366004610c98565b61033b565b6100d7610132366004610c18565b610853565b3361014061032c565b6001600160a01b03161461016f5760405162461bcd60e51b815260040161016690610d34565b60405180910390fd5b61017960006108f3565b565b3361018461032c565b6001600160a01b0316146101aa5760405162461bcd60e51b815260040161016690610d34565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156101f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102159190610d69565b9050600081116102675760405162461bcd60e51b815260206004820152601f60248201527f4f7065726174696f6e733a2042616c616e6365206d757374206265203e2030006044820152606401610166565b61027b6001600160a01b0383163383610943565b816001600160a01b03167f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab78129826040516102b691815260200190565b60405180910390a25050565b336102cb61032c565b6001600160a01b0316146102f15760405162461bcd60e51b815260040161016690610d34565b60018190556040518181527f6d0e750dce5e074f2672f12d0fd1de4bab34323530b02e094e59481a0850df609060200160405180910390a150565b6000546001600160a01b031690565b3361034461032c565b6001600160a01b03161461036a5760405162461bcd60e51b815260040161016690610d34565b60008787600081811061037f5761037f610d82565b90506020020160208101906103949190610c18565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f59190610d69565b101561040057600080fd5b60008787600181811061041557610415610d82565b905060200201602081019061042a9190610c18565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048b9190610d69565b101561049657600080fd5b868660018181106104a9576104a9610d82565b90506020020160208101906104be9190610c18565b6001600160a01b0316878760008181106104da576104da610d82565b90506020020160208101906104ef9190610c18565b6001600160a01b0316141561051757604051637299907360e11b815260040160405180910390fd5b60008787600481811061052c5761052c610d82565b90506020020160208101906105419190610c18565b6001600160a01b0316141561056957604051630e8f677560e21b815260040160405180910390fd5b6001546105769042610d98565b8585600181811061058957610589610d82565b90506020020135106105ae5760405163eb47c4f360e01b815260040160405180910390fd5b848460018181106105c1576105c1610d82565b90506020020135858560008181106105db576105db610d82565b9050602002013510610600576040516311af708560e21b815260040160405180910390fd5b428585600081811061061457610614610d82565b90506020020135116106395760405163582314d560e11b815260040160405180910390fd5b80156106875762278d008585600181811061065657610656610d82565b905060200201356106679190610d98565b8111156106875760405163934d841560e01b815260040160405180910390fd5b60006040518060200161069990610bef565b601f1982820381018352601f9091011660405290506000888882816106c0576106c0610d82565b90506020020160208101906106d59190610c18565b898960018181106106e8576106e8610d82565b90506020020160208101906106fd9190610c18565b8888600081811061071057610710610d82565b6040516bffffffffffffffffffffffff19606096871b81166020838101919091529590961b90951660348601529290920201356048830152506068016040516020818303038152906040528051906020012090506000818351602085016000f5600154604051636865f6e960e01b81529192506001600160a01b03831691636865f6e9916107ae918e918e918e918e918e908e908e90600401610dbe565b600060405180830381600087803b1580156107c857600080fd5b505af11580156107dc573d6000803e3d6000fd5b50506002546001600160a01b038481169116149150610813905057600280546001600160a01b0319166001600160a01b0383161790555b6040516001600160a01b038216907f3b823f91f23e8f12a60f36282813ffed043efcb2101731734672a4726c08645490600090a250505050505050505050565b3361085c61032c565b6001600160a01b0316146108825760405162461bcd60e51b815260040161016690610d34565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610166565b6108f0816108f3565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261099590849061099a565b505050565b60006109ef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a6c9092919063ffffffff16565b8051909150156109955780806020019051810190610a0d9190610e64565b6109955760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610166565b6060610a7b8484600085610a85565b90505b9392505050565b606082471015610ae65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610166565b6001600160a01b0385163b610b3d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610166565b600080866001600160a01b03168587604051610b599190610eb6565b60006040518083038185875af1925050503d8060008114610b96576040519150601f19603f3d011682016040523d82523d6000602084013e610b9b565b606091505b5091509150610bab828286610bb6565b979650505050505050565b60608315610bc5575081610a7e565b825115610bd55782518084602001fd5b8160405162461bcd60e51b81526004016101669190610ed2565b61482780610f0683390190565b80356001600160a01b0381168114610c1357600080fd5b919050565b600060208284031215610c2a57600080fd5b610a7e82610bfc565b600060208284031215610c4557600080fd5b5035919050565b60008083601f840112610c5e57600080fd5b50813567ffffffffffffffff811115610c7657600080fd5b6020830191508360208260051b8501011115610c9157600080fd5b9250929050565b600080600080600080600060a0888a031215610cb357600080fd5b873567ffffffffffffffff80821115610ccb57600080fd5b610cd78b838c01610c4c565b909950975060208a0135915080821115610cf057600080fd5b50610cfd8a828b01610c4c565b909650945050604088013560ff81168114610d1757600080fd5b969995985093969295946060840135945060809093013592915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610d7b57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60008219821115610db957634e487b7160e01b600052601160045260246000fd5b500190565b60c0808252810188905260008960e08301825b8b811015610dff576001600160a01b03610dea84610bfc565b16825260209283019290910190600101610dd1565b5083810360208501528881526001600160fb1b03891115610e1f57600080fd5b8860051b9150818a602083013760009101602001908152604083018790529050610e4e606083018660ff169052565b608082019390935260a001529695505050505050565b600060208284031215610e7657600080fd5b81518015158114610a7e57600080fd5b60005b83811015610ea1578181015183820152602001610e89565b83811115610eb0576000848401525b50505050565b60008251610ec8818460208701610e86565b9190910192915050565b6020815260008251806020840152610ef1816040850160208701610e86565b601f01601f1916919091016040019291505056fe60a06040523480156200001157600080fd5b50600160005562000022336200002c565b336080526200007e565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60805161478d6200009a6000396000611340015261478d6000f3fe608060405234801561001057600080fd5b50600436106102ab5760003560e01c80638da5cb5b11610172578063ca463ca4116100d9578063ea1bb3d511610092578063ea1bb3d514610673578063edf26d9b14610686578063f2fde38b14610699578063f51321d7146106ac578063f7c469f0146106bf578063f9cd5c12146106d2578063feebf529146106f257600080fd5b8063ca463ca4146105fe578063caa7f2321461061e578063d04dac1514610631578063e2ec6ec314610644578063e6fd48bc14610657578063e90507631461066057600080fd5b8063ae8973a01161012b578063ae8973a014610575578063b0adb22014610588578063b1ced5e714610591578063b6549f75146105b0578063b86c6f14146105b8578063c0297737146105eb57600080fd5b80638da5cb5b146104bd5780639ef346b4146104c55780639f1b524814610523578063a47ff7e514610536578063a85adeab14610563578063a8660a781461056c57600080fd5b806349032cdb11610216578063760b3180116101cf578063760b31801461043d57806379795108146104465780637b9417c81461044e5780637f1bdd76146104615780638518b3c5146104745780638af104da146104aa57600080fd5b806349032cdb146103c55780634af3c9b7146103e557806354070e391461040657806367d42a8b1461040f5780636865f6e914610422578063715018a61461043557600080fd5b806328fddfaf1161026857806328fddfaf1461033857806337f859b8146103455780633af32abf146103585780633f138d4b1461038457806346ab91bf1461039757806348deb471146103bd57600080fd5b806306cec857146102b057806313083617146102d85780631e3bba08146102ea5780632374876c146102fd57806324953eaa14610312578063286dd3f514610325575b600080fd5b6102c36102be366004613ef1565b610712565b60405190151581526020015b60405180910390f35b6032545b6040519081526020016102cf565b6102dc6102f8366004613f1f565b610735565b61031061030b366004613f54565b6107e3565b005b610310610320366004613fba565b610c09565b610310610333366004613ef1565b610d0b565b6031546102c39060ff1681565b6102dc610353366004613ffb565b610d83565b6102c3610366366004613ef1565b6001600160a01b031660009081526002602052604090205460ff1690565b610310610392366004614014565b610e34565b6103aa6103a5366004613ffb565b610ef5565b6040516102cf9796959493929190614056565b6034546102dc565b6102dc6103d3366004613ef1565b602f6020526000908152604090205481565b6103f86103f33660046140b1565b610fd8565b6040516102cf929190614140565b6102dc600c5481565b61031061041d366004613ffb565b611175565b610310610430366004614199565b611334565b61031061161d565b6102dc60125481565b6102dc611658565b61031061045c366004613ef1565b6116dd565b61031061046f366004614234565b611758565b61049d610482366004613ffb565b602e602052600090815260409020546001600160a01b031681565b6040516102cf9190614257565b6102dc6104b8366004614014565b611d26565b61049d611d6d565b6104d86104d3366004613ffb565b611d7c565b6040516102cf91908151151581526020808301516001600160a01b03169082015260408083015160ff1690820152606080830151908201526080918201519181019190915260a00190565b61031061053136600461426b565b611de8565b600f5460105460115461054892919083565b604080519384526020840192909252908201526060016102cf565b6102dc600b5481565b6102dc60305481565b61031061058336600461428d565b611f38565b6102dc600e5481565b600d5461059e9060ff1681565b60405160ff90911681526020016102cf565b610310611fa9565b6105cb6105c6366004613ffb565b61200d565b6040805194855260208501939093529183015260608201526080016102cf565b6102c36105f9366004613ef1565b61209a565b61061161060c3660046140b1565b61228e565b6040516102cf91906142a5565b61031061062c366004613fba565b6123d9565b6102c361063f366004613ef1565b6124cf565b610310610652366004613fba565b6126d2565b6102dc600a5481565b61031061066e36600461431d565b6127cf565b6102dc610681366004613ffb565b612a34565b61049d610694366004613ffb565b612ab8565b6103106106a7366004613ef1565b612ad8565b6104d86106ba366004614014565b612b78565b6102dc6106cd366004613ef1565b612b8d565b6106e56106e03660046140b1565b612bb1565b6040516102cf91906143ac565b6102dc610700366004613ef1565b602d6020526000908152604090205481565b6001600160a01b03811660009081526002602052604081205460ff165b92915050565b600d5460009060ff90811690831611156107515750600061072f565b600061075e846000611d26565b600081815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90048316938101849052600182015460608201526002909101546080820152929350851614156107cf5750905061072f565b6107da856001611d26565b95945050505050565b6002600054141561080f5760405162461bcd60e51b8152600401610806906143bf565b60405180910390fd5b600260005561081d81612c6c565b600b54336000908152602c6020908152604080832060ff868116855292529091208054600190910154610851939216612c96565b336000908152602f6020526040902054156109af57600080806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd5906108b1903390600401614257565b602060405180830381865afa1580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f2919061440c565b6040518263ffffffff1660e01b815260040161090e9190614257565b60c060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190614429565b95509550955050505080158061097357506009546001600160a01b03848116911614155b8061098d5750336000908152602f60205260409020548214155b156109ab576040516319a9a2ef60e01b815260040160405180910390fd5b5050505b6109b833612cf3565b336000908152602c6020908152604080832060ff8516845290915290206001908101805460ff191690911790556030546109f157426030555b6000806000610a003385612eaa565b919450925090508015610a58578060138560ff1660028110610a2457610a246143f6565b600c020160060154610a36919061449e565b60138560ff1660028110610a4c57610a4c6143f6565b600c0201600601819055505b8215610bea57600060138560ff1660028110610a7657610a766143f6565b600c0201600801600001546064610a8d91906144b6565b1115610b38576000606460138660ff1660028110610aad57610aad6143f6565b600c0201600801600001546064610ac491906144b6565b610ace90866144cd565b610ad891906144ec565b9050610af63382600460015b01546001600160a01b031691906130eb565b604080518281526020810185905260ff87169133917f51524c2e5edfedf8b01b29719c661e4fbe27e71734e7cd773dabb7cb712fb3b3910160405180910390a3505b600060138560ff1660028110610b5057610b506143f6565b600c0201600801600001541115610bea576000606460138660ff1660028110610b7b57610b7b6143f6565b600c02016008016000015485610b9191906144cd565b610b9b91906144ec565b9050610ba833868361314e565b604080518281526020810185905260ff87169133917f4b386667138d87683f75b2e46ad8ac192b053af4c8875da8689415997663a950910160405180910390a3505b8115610bfe57610bfe338360046000610ae4565b505060016000555050565b33610c12611d6d565b6001600160a01b031614610c385760405162461bcd60e51b81526004016108069061450e565b60005b81811015610d0657600060026000858585818110610c5b57610c5b6143f6565b9050602002016020810190610c709190613ef1565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610caa57610caa6143f6565b9050602002016020810190610cbf9190613ef1565b6001600160a01b03167ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a60405160405180910390a280610cfe81614543565b915050610c3b565b505050565b33610d14611d6d565b6001600160a01b031614610d3a5760405162461bcd60e51b81526004016108069061450e565b6001600160a01b038116600081815260026020526040808220805460ff19169055517ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a9190a250565b600060138260028110610d9857610d986143f6565b600c02016003015460ff16610daf57506000919050565b600060138360028110610dc457610dc46143f6565b600c0201600401541115610df45760138260028110610de557610de56143f6565b600c0201600401549050919050565b61072f60138360028110610e0a57610e0a6143f6565b600c02016005015460138460028110610e2557610e256143f6565b600c020154613356565b919050565b610e3c6133f4565b6004546001600160a01b0383811691161415610e6b576040516310da472360e01b815260040160405180910390fd5b6005546001600160a01b0383811691161415610e9a5760405163a8dfadb960e01b815260040160405180910390fd5b610eae6001600160a01b03831633836130eb565b604080516001600160a01b0384168152602081018390527f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab7812991015b60405180910390a15050565b600080600080600080600060138860028110610f1357610f136143f6565b600c02015460138960028110610f2b57610f2b6143f6565b600c02016001015460138a60028110610f4657610f466143f6565b600c02016002015460138b60028110610f6157610f616143f6565b600c02016003015460ff1660138c60028110610f7f57610f7f6143f6565b600c02016005015460138d60028110610f9a57610f9a6143f6565b600c02016006015460138e60028110610fb557610fb56143f6565b600c020160070154959e949d50929b509099509750955060ff9091169350915050565b6060806000836001600160401b03811115610ff557610ff561455e565b60405190808252806020026020018201604052801561101e578160200160208202803683370190505b5090506000846001600160401b0381111561103b5761103b61455e565b604051908082528060200260200182016040528015611064578160200160208202803683370190505b50905060005b60ff811686111561116857600087878360ff1681811061108c5761108c6143f6565b90506020020160208101906110a19190613f54565b600d5490915060ff90811690821611611155576001600160a01b0389166000908152602c6020908152604080832060ff80861685529252909120548551909186919085169081106110f4576110f46143f6565b6020908102919091018101919091526001600160a01b038a166000908152602c8252604080822060ff808616845293529020600101548451908216918591908516908110611144576111446143f6565b911515602092830291909101909101525b508061116081614574565b91505061106a565b5090969095509350505050565b600260005414156111985760405162461bcd60e51b8152600401610806906143bf565b60026000908155818152603360205260409020546111b89060ff16613424565b6000818152603360205260408120805490916101009091046001600160a01b03163314906111e4611d6d565b6001600160a01b0316336001600160a01b031614905081158015611206575080155b15611224576040516361c042c160e01b815260040160405180910390fd5b6040805160a081018252845460ff808216151583526001600160a01b036101008304166020840152600160a81b9091041691810191909152600184015460608201526002840154608082015260009061127c90613442565b90506000811161129f57604051632d973f4d60e11b815260040160405180910390fd5b8084600201546112af919061449e565b60028501556034546112c29082906144b6565b60345583546112e39061010090046001600160a01b03168260046001610ae4565b83546040518281526101009091046001600160a01b0316907fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e9060200160405180910390a250506001600055505050565b6003546113679060ff167f0000000000000000000000000000000000000000000000000000000000000000898887613597565b6003805460ff19166001179055600088886002818110611389576113896143f6565b905060200201602081019061139e9190613ef1565b6001600160a01b03161461144957878760028181106113bf576113bf6143f6565b90506020020160208101906113d49190613ef1565b60405163aee2f47f60e01b8152600160048201526001600160a01b03919091169063aee2f47f90602401600060405180830381865afa15801561141b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114439190810190614647565b50505050505b60008888600381811061145e5761145e6143f6565b90506020020160208101906114739190613ef1565b6001600160a01b03161461150c5787876003818110611494576114946143f6565b90506020020160208101906114a99190613ef1565b6001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a919061440c565b505b60005b60ff811688111561158b5788888260ff1681811061152f5761152f6143f6565b90506020020160208101906115449190613ef1565b60048260ff166006811061155a5761155a6143f6565b0180546001600160a01b0319166001600160a01b03929092169190911790558061158381614574565b91505061150f565b508585600081811061159f5761159f6143f6565b6020029190910135600a5550858560018181106115be576115be6143f6565b6020029190910135600b5550600c849055600d805460ff191660ff8516179055600e8290556030819055611613888860048181106115fe576115fe6143f6565b90506020020160208101906106a79190613ef1565b5050505050505050565b33611626611d6d565b6001600160a01b03161461164c5760405162461bcd60e51b81526004016108069061450e565b611656600061364b565b565b6034546005546040516370a0823160e01b8152600092916001600160a01b0316906370a082319061168d903090600401614257565b602060405180830381865afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce91906146d2565b6116d891906144b6565b905090565b336116e6611d6d565b6001600160a01b03161461170c5760405162461bcd60e51b81526004016108069061450e565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f9190a250565b6002600054141561177b5760405162461bcd60e51b8152600401610806906143bf565b600260005561178981612c6c565b61180b826004600201546001600160a01b0316601360ff8516600281106117b2576117b26143f6565b600c020160070160009054906101000a900460ff1660138560ff16600281106117dd576117dd6143f6565b600c02016001015460138660ff16600281106117fb576117fb6143f6565b600c020154600a54600b5461369d565b6012546005546040516370a0823160e01b81526001600160a01b03909116906370a082319061183e903090600401614257565b602060405180830381865afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f91906146d2565b101561189e5760405163726da7d560e11b815260040160405180910390fd5b600060138260ff16600281106118b6576118b66143f6565b600c02016007015460ff1660028111156118d2576118d2614040565b148061190f5750600260138260ff16600281106118f1576118f16143f6565b600c02016007015460ff16600281111561190d5761190d614040565b145b15611a93576007546001600160a01b0316158015906119605750600260138260ff1660028110611941576119416143f6565b600c02016007015460ff16600281111561195d5761195d614040565b14155b15611a18576007546040516336b5bc3760e21b81526000916001600160a01b03169063dad6f0dc90611996903390600401614257565b602060405180830381865afa1580156119b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d791906146d2565b336000908152602d602052604090205490915081906119f790859061449e565b1115611a1657604051630448a42b60e21b815260040160405180910390fd5b505b611a2282826137e7565b600060138260ff1660028110611a3a57611a3a6143f6565b600c02016007015460ff166002811115611a5657611a56614040565b14611a62576000611a64565b815b336000908152602d6020526040902054611a7e919061449e565b336000908152602d6020526040902055611d1d565b6006546001600160a01b031615611d135760008080806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd590611af0903390600401614257565b602060405180830381865afa158015611b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b31919061440c565b6040518263ffffffff1660e01b8152600401611b4d9190614257565b60c060405180830381865afa158015611b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8e9190614429565b9550955095505094505080611bb65760405163f7bd660760e01b815260040160405180910390fd5b611bbf8461395b565b158015611bd25750611bd033610712565b155b8015611be65750611be4338484613974565b155b15611c04576040516309a318fb60e31b815260040160405180910390fd5b611c0d8461395b565b158015611c205750611c1e33610712565b155b8015611c3957506009546001600160a01b038481169116145b15611d0e576000828152602e60205260409020546001600160a01b0316611c7d576000828152602e6020526040902080546001600160a01b03191633179055611cb4565b6000828152602e60205260409020546001600160a01b03163314611cb45760405163d69933c360e01b815260040160405180910390fd5b336000908152602f6020526040902054611cdf57336000908152602f60205260409020829055611d0e565b336000908152602f60205260409020548214611d0e57604051630236c46360e51b815260040160405180910390fd5b505050505b611d1d82826137e7565b50506001600055565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031690565b611d84613e90565b50600090815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015290565b611df06133f4565b600480546040516370a0823160e01b8152611eda9285926001600160a01b0316916370a0823191611e2391309101614257565b602060405180830381865afa158015611e40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6491906146d2565b6005546040516370a0823160e01b815285916001600160a01b0316906370a0823190611e94903090600401614257565b602060405180830381865afa158015611eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed591906146d2565b6139d5565b8115611eee57611eee338360046000610ae4565b8015611f0257611f02338260046001610ae4565b60408051838152602081018390527f94ebb62a252249c867ecb758d386f50a95be7e8df9e1c52917c9cf494327dd7d9101610ee9565b611f406133f4565b611f4b600b54613a1d565b60208181013560108190558235600f819055604080850135601181905581519283529382019290925280820192909252517f2058a318dbdfd2edd92a32cfa0ee233a30b165b83b421830109cb22ae86f67459181900360600190a150565b611fb16133f4565b60315460ff1615611fd557604051630476d49560e21b815260040160405180910390fd5b6031805460ff191660011790556040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a1565b60008060008060138560028110612026576120266143f6565b600c02016008016000015460138660028110612044576120446143f6565b600c02016008016001015460138760028110612062576120626143f6565b600c02016008016002015460138860028110612080576120806143f6565b600c02016008016003015493509350935093509193509193565b6006546000906001600160a01b03166120b557506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd5906120f0908790600401614257565b602060405180830381865afa15801561210d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612131919061440c565b6040518263ffffffff1660e01b815260040161214d9190614257565b602060405180830381865afa15801561216a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218e91906146eb565b61219a57506000919050565b6006546007546040516316fc4fd560e01b81526000926001600160a01b039081169263987ee156929116906316fc4fd5906121d9908890600401614257565b602060405180830381865afa1580156121f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221a919061440c565b6040518263ffffffff1660e01b81526004016122369190614257565b60c060405180830381865afa158015612253573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122779190614429565b505050509150506122878161395b565b9392505050565b60606000826001600160401b038111156122aa576122aa61455e565b6040519080825280602002602001820160405280156122e357816020015b6122d0613ebe565b8152602001906001900390816122c85790505b50905060005b60ff81168411156123d057600080600080601389898760ff16818110612311576123116143f6565b90506020020160208101906123269190613f54565b60ff1660028110612339576123396143f6565b600c020154111561237f576123778989898760ff1681811061235d5761235d6143f6565b90506020020160208101906123729190613f54565b612eaa565b919450925090505b604051806060016040528084815260200183815260200182815250858560ff16815181106123af576123af6143f6565b602002602001018190525050505080806123c890614574565b9150506122e9565b50949350505050565b6123e16133f4565b612427600c5483839050600a5485856000818110612401576124016143f6565b905060200201358686600181811061241b5761241b6143f6565b90506020020135613a3d565b8181600081811061243a5761243a6143f6565b6020029190910135600a555081816001818110612459576124596143f6565b6020029190910135600b55507f57df350cfad05a64accd73700fee8a7febd6d8430e035e45f0599ca62494aa8b8282600081612497576124976143f6565b90506020020135838360018181106124b1576124b16143f6565b90506020020135604051610ee9929190918252602082015260400190565b6006546000906001600160a01b03166124ea57506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd590612525908790600401614257565b602060405180830381865afa158015612542573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612566919061440c565b6040518263ffffffff1660e01b81526004016125829190614257565b602060405180830381865afa15801561259f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c391906146eb565b6125cf57506000919050565b6000806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd590612619908990600401614257565b602060405180830381865afa158015612636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265a919061440c565b6040518263ffffffff1660e01b81526004016126769190614257565b60c060405180830381865afa158015612693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b79190614429565b50945094505050506126ca848383613974565b949350505050565b336126db611d6d565b6001600160a01b0316146127015760405162461bcd60e51b81526004016108069061450e565b60005b81811015610d0657600160026000858585818110612724576127246143f6565b90506020020160208101906127399190613ef1565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110612773576127736143f6565b90506020020160208101906127889190613ef1565b6001600160a01b03167fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f60405160405180910390a2806127c781614543565b915050612704565b6127d76133f4565b6127e083612c6c565b600a546127fa908686843560408601356060870135613ae7565b8760138460ff1660028110612811576128116143f6565b600c0201600101819055508660138460ff1660028110612833576128336143f6565b600c02015585601360ff85166002811061284f5761284f6143f6565b600c0201600201819055508460138460ff1660028110612871576128716143f6565b600c020160030160006101000a81548160ff0219169083151502179055508360138460ff16600281106128a6576128a66143f6565b600c0201600401819055508160138460ff16600281106128c8576128c86143f6565b600c020160070160006101000a81548160ff021916908360028111156128f0576128f0614040565b02179055508035601360ff85166002811061290d5761290d6143f6565b600c020160080160000181905550806020013560138460ff1660028110612936576129366143f6565b600c020160080160010181905550806040013560138460ff166002811061295f5761295f6143f6565b600c020160080160020181905550806060013560138460ff1660028110612988576129886143f6565b600c0201600b01556000805b600d5460ff908116908216116129e15760138160ff16600281106129ba576129ba6143f6565b600c020160010154826129cd919061449e565b9150806129d981614574565b915050612994565b506012819055604080518a8152602081018a905260ff86168183015290517fddaf243a142670be60c19ff7116b5d8b124717b29bb4cc03cead42161614105b9181900360600190a1505050505050505050565b600081815260336020526040812054612a4f9060ff16613424565b600082815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015261072f90613442565b60048160068110612ac857600080fd5b01546001600160a01b0316905081565b33612ae1611d6d565b6001600160a01b031614612b075760405162461bcd60e51b81526004016108069061450e565b6001600160a01b038116612b6c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610806565b612b758161364b565b50565b612b80613e90565b6122876104d38484611d26565b6001600160a01b03811660009081526035602052604081205461072f908390611d26565b60606000826001600160401b03811115612bcd57612bcd61455e565b604051908082528060200260200182016040528015612bf6578160200160208202803683370190505b50905060005b60ff81168411156123d057612c3a8686868460ff16818110612c2057612c206143f6565b9050602002016020810190612c359190613f54565b613bd3565b828260ff1681518110612c4f57612c4f6143f6565b602090810291909101015280612c6481614574565b915050612bfc565b600d5460ff9081169082161115612b7557604051630a26ca2560e31b815260040160405180910390fd5b824211612cb65760405163085de62560e01b815260040160405180910390fd5b81612cd4576040516337191a8560e21b815260040160405180910390fd5b8015610d06576040516302cce53760e21b815260040160405180910390fd5b6006546001600160a01b031615612b75576001600160a01b0381166000908152602b602052604090205460ff16158015612d2e575060105415155b15612b75576000805b600d5460ff90811690821611612d8357336000908152602c6020908152604080832060ff85168452909152902054612d6f908361449e565b915080612d7b81614574565b915050612d37565b50601154811115612ea6576001600160a01b0382166000908152602b60205260409020805460ff191660011790556004600201546001600160a01b0316631bdc17f66004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd590612df8903390600401614257565b602060405180830381865afa158015612e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e39919061440c565b601054600f5460405160e085901b6001600160e01b03191681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015612e8d57600080fd5b505af1158015612ea1573d6000803e3d6000fd5b505050505b5050565b60008060008060008060138760ff1660028110612ec957612ec96143f6565b600c020154601360ff891660028110612ee457612ee46143f6565b600c0201600501541115613066576000612efe8989613bd3565b905064e8d4a510008160138a60ff1660028110612f1d57612f1d6143f6565b600c020160010154612f2f91906144cd565b612f3991906144ec565b9350600064e8d4a510008260138b60ff1660028110612f5a57612f5a6143f6565b600c020154612f6991906144cd565b612f7391906144ec565b6001600160a01b038b166000908152602c6020908152604080832060ff8e168452909152902054909150612fa89082906144b6565b935060138960ff1660028110612fc057612fc06143f6565b600c02016003015460ff161561305f57600060138a60ff1660028110612fe857612fe86143f6565b600c020160040154905080600014156130355761303260138b60ff1660028110613014576130146143f6565b600c02016005015460138c60ff1660028110610e2557610e256143f6565b90505b64e8d4a5100061304582876144cd565b61304f91906144ec565b935061305b84866144b6565b9450505b50506130dd565b60138760ff166002811061307c5761307c6143f6565b600c020154601360ff891660028110613097576130976143f6565b600c0201600101546001600160a01b038a166000908152602c6020908152604080832060ff8d1684529091529020546130d091906144cd565b6130da91906144ec565b92505b919450925090509250925092565b6040516001600160a01b038316602482015260448101829052610d0690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613c82565b80613157611658565b10156131c45760405162461bcd60e51b815260206004820152603660248201527f63616e206e6f74206372656174652076657374696e67207363686564756c6520604482015275776974682073756666696369656e7420746f6b656e7360501b6064820152608401610806565b60006131cf84612b8d565b60008181526033602052604090205490915061010090046001600160a01b0316156132465760405162461bcd60e51b815260206004820152602160248201527f76657374696e675363686564756c654964206973206265656e206372656174656044820152601960fa1b6064820152608401610806565b6040805160a08101825260018082526001600160a01b03878116602080850191825260ff898116868801908152606087018a81526000608089018181528b825260339095529890982096518754945191516001600160a81b0319909516901515610100600160a81b0319161761010091909516029390931760ff60a81b1916600160a81b929093169190910291909117835592519082015590516002909101556034546132f490839061449e565b60345560328054600181019091557f11df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697018190556001600160a01b038416600090815260356020526040812080549161334b83614543565b919050555050505050565b60008061336383856144ec565b90506105dc811061337b57630ee6b28091505061072f565b6103e8811061339157631dcd650091505061072f565b6101f481106133a757633b9aca0091505061072f565b60fa81106133bc57634a817c8091505061072f565b606481106133d1576359682f0091505061072f565b603281106133e657639502f90091505061072f565b64012a05f20091505061072f565b336133fd611d6d565b6001600160a01b03161461165657604051635fc483c560e01b815260040160405180910390fd5b80612b7557604051638bc0c80560e01b815260040160405180910390fd5b60006013826040015160ff166002811061345e5761345e6143f6565b600c020160080160010154603054613476919061449e565b42101561348557506000919050565b6013826040015160ff166002811061349f5761349f6143f6565b600c0201600801600201546030546134b7919061449e565b421015806134c7575060315460ff165b156134e0578160800151826060015161072f91906144b6565b6000603054426134f091906144b6565b905060006013846040015160ff166002811061350e5761350e6143f6565b600c02016008016003015490506000818361352991906144ec565b9050600061353783836144cd565b905060006013876040015160ff1660028110613555576135556143f6565b600c02016008016002015482886060015161357091906144cd565b61357a91906144ec565b905086608001518161358c91906144b6565b979650505050505050565b84156135b55760405162dc149f60e41b815260040160405180910390fd5b336001600160a01b038516146135de57604051631966391b60e11b815260040160405180910390fd5b826006146135ff57604051633b9b621f60e01b815260040160405180910390fd5b8160021461362057604051631397ee3560e31b815260040160405180910390fd5b60028160ff16106136445760405163a854b3bd60e01b815260040160405180910390fd5b5050505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038616158015906136c7575060028560028111156136c4576136c4614040565b14155b156137565760405163ea0d5dcd60e01b81526001600160a01b0387169063ea0d5dcd906136f8903390600401614257565b602060405180830381865afa158015613715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061373991906146eb565b6137565760405163645bb1bd60e11b815260040160405180910390fd5b831580613761575082155b1561377f57604051633c67586360e01b815260040160405180910390fd5b81421161379f5760405163085de62560e01b815260040160405180910390fd5b804211156137c05760405163ecdd1c2960e01b815260040160405180910390fd5b866137de57604051639e6c689560e01b815260040160405180910390fd5b50505050505050565b6004546137ff906001600160a01b0316333085613d54565b336000908152602c6020908152604080832060ff8516845290915290205461382890839061449e565b336000908152602c6020908152604080832060ff86168085529252822092909255906013906002811061385d5761385d6143f6565b600c02016002015411156138c65760138160ff1660028110613881576138816143f6565b600c020160020154336000908152602c6020908152604080832060ff8616845290915290205411156138c65760405163037351d360e11b815260040160405180910390fd5b8160138260ff16600281106138dd576138dd6143f6565b600c0201600501546138ef919061449e565b60138260ff1660028110613905576139056143f6565b600c0201600501819055508060ff16336001600160a01b03167ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd4180458460405161394f91815260200190565b60405180910390a35050565b6000600e5460001415801561072f575050600e54111590565b60006004600501546001600160a01b0384811691161480156126ca57506000828152602e60205260409020546001600160a01b031615806126ca57506000828152602e60205260409020546001600160a01b03858116911614949350505050565b828411156139f6576040516330a3824960e21b815260040160405180910390fd5b80821115613a1757604051632af9b86160e01b815260040160405180910390fd5b50505050565b804210612b7557604051630ffe6bd560e21b815260040160405180910390fd5b83600214613a5e57604051631397ee3560e31b815260040160405180910390fd5b613a68854261449e565b8110613a875760405163eb47c4f360e01b815260040160405180910390fd5b824210613aa7576040516365be5cfd60e11b815260040160405180910390fd5b808210613ac7576040516311af708560e21b815260040160405180910390fd5b8142106136445760405163582314d560e11b815260040160405180910390fd5b854210613b07576040516365be5cfd60e11b815260040160405180910390fd5b64e8d4a510008410613b2c57604051634494446160e11b815260040160405180910390fd5b6064831115613b4e57604051630e07a92f60e01b815260040160405180910390fd5b81613b6c57604051630914cb9d60e41b815260040160405180910390fd5b6001811015613b8e57604051631018767560e11b815260040160405180910390fd5b81811115613baf57604051630cdbeed760e01b815260040160405180910390fd5b84612ea1578315612ea1576040516355d8bb6760e01b815260040160405180910390fd5b600d5460009060ff9081169083161115613bef5750600061072f565b600060138360ff1660028110613c0757613c076143f6565b600c0201600501541115613c7a5760138260ff1660028110613c2b57613c2b6143f6565b600c0201600501546001600160a01b0384166000908152602c6020908152604080832060ff87168452909152902054613c699064e8d4a510006144cd565b613c7391906144ec565b905061072f565b50600061072f565b6000613cd7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d8c9092919063ffffffff16565b805190915015610d065780806020019051810190613cf591906146eb565b610d065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610806565b6040516001600160a01b0380851660248301528316604482015260648101829052613a179085906323b872dd60e01b90608401613117565b60606126ca8484600085856001600160a01b0385163b613dee5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610806565b600080866001600160a01b03168587604051613e0a9190614708565b60006040518083038185875af1925050503d8060008114613e47576040519150601f19603f3d011682016040523d82523d6000602084013e613e4c565b606091505b509150915061358c82828660608315613e66575081612287565b825115613e765782518084602001fd5b8160405162461bcd60e51b81526004016108069190614724565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b0381168114612b7557600080fd5b600060208284031215613f0357600080fd5b813561228781613edc565b803560ff81168114610e2f57600080fd5b60008060408385031215613f3257600080fd5b8235613f3d81613edc565b9150613f4b60208401613f0e565b90509250929050565b600060208284031215613f6657600080fd5b61228782613f0e565b60008083601f840112613f8157600080fd5b5081356001600160401b03811115613f9857600080fd5b6020830191508360208260051b8501011115613fb357600080fd5b9250929050565b60008060208385031215613fcd57600080fd5b82356001600160401b03811115613fe357600080fd5b613fef85828601613f6f565b90969095509350505050565b60006020828403121561400d57600080fd5b5035919050565b6000806040838503121561402757600080fd5b823561403281613edc565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b600060e08201905088825287602083015286604083015285151560608301528460808301528360a08301526003831061409f57634e487b7160e01b600052602160045260246000fd5b8260c083015298975050505050505050565b6000806000604084860312156140c657600080fd5b83356140d181613edc565b925060208401356001600160401b038111156140ec57600080fd5b6140f886828701613f6f565b9497909650939450505050565b600081518084526020808501945080840160005b8381101561413557815187529582019590820190600101614119565b509495945050505050565b6040815260006141536040830185614105565b82810360208481019190915284518083528582019282019060005b8181101561418c57845115158352938301939183019160010161416e565b5090979650505050505050565b60008060008060008060008060c0898b0312156141b557600080fd5b88356001600160401b03808211156141cc57600080fd5b6141d88c838d01613f6f565b909a50985060208b01359150808211156141f157600080fd5b506141fe8b828c01613f6f565b9097509550506040890135935061421760608a01613f0e565b92506080890135915060a089013590509295985092959890939650565b6000806040838503121561424757600080fd5b82359150613f4b60208401613f0e565b6001600160a01b0391909116815260200190565b6000806040838503121561427e57600080fd5b50508035926020909101359150565b60006060828403121561429f57600080fd5b50919050565b602080825282518282018190526000919084820190604085019084805b8281101561430257845184835b60038110156142ec578251825291880191908801906001016142cf565b50505093850193606093909301926001016142c2565b5091979650505050505050565b8015158114612b7557600080fd5b600080600080600080600080888a0361016081121561433b57600080fd5b8935985060208a0135975060408a0135965060608a013561435b8161430f565b955060808a0135945061437060a08b01613f0e565b935060c08a01356003811061438457600080fd5b9250608060df198201121561439857600080fd5b5060e0890190509295985092959890939650565b6020815260006122876020830184614105565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561441e57600080fd5b815161228781613edc565b60008060008060008060c0878903121561444257600080fd5b865195506020870151945060408701519350606087015161446281613edc565b608088015160a0890151919450925061447a8161430f565b809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b600082198211156144b1576144b1614488565b500190565b6000828210156144c8576144c8614488565b500390565b60008160001904831182151516156144e7576144e7614488565b500290565b60008261450957634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060001982141561455757614557614488565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060ff821660ff81141561458b5761458b614488565b60010192915050565b60005b838110156145af578181015183820152602001614597565b83811115613a175750506000910152565b600082601f8301126145d157600080fd5b81516001600160401b03808211156145eb576145eb61455e565b604051601f8301601f19908116603f011681019082821181831017156146135761461361455e565b8160405283815286602085880101111561462c57600080fd5b61463d846020830160208901614594565b9695505050505050565b600080600080600060a0868803121561465f57600080fd5b85516001600160401b038082111561467657600080fd5b61468289838a016145c0565b9650602088015191508082111561469857600080fd5b506146a5888289016145c0565b945050604086015192506060860151915060808601516146c48161430f565b809150509295509295909350565b6000602082840312156146e457600080fd5b5051919050565b6000602082840312156146fd57600080fd5b81516122878161430f565b6000825161471a818460208701614594565b9190910192915050565b6020815260008251806020840152614743816040850160208701614594565b601f01601f1916919091016040019291505056fea2646970667358221220bb914ae346e060dc9e6848e049ea8ca10f75380cf4ec9dda997c92f283d05b0064736f6c634300080a0033a264697066735822122013747cd11b409e5a9cdb49035b03400c301fee42ea448f0a015b667da512af7164736f6c634300080a0033