21 txs
24 calls
constructor
constructor(uint16 _lzChainId, address _lzEndpoint, address _gaugeController, address _gaugeCheckpointer)
functions
authorizedKeepers
viewfunction authorizedKeepers(address) view returns (bool)
DEFAULT_PAYLOAD_SIZE_LIMIT
viewfunction DEFAULT_PAYLOAD_SIZE_LIMIT() view returns (uint256)
gaugeCheckpointer
viewfunction gaugeCheckpointer() view returns (address)
gaugeController
viewfunction gaugeController() view returns (address)
gaugeTypes
viewfunction gaugeTypes(uint16) view returns (string)
getConfig
viewfunction getConfig(uint16 _version, uint16 _chainId, address, uint256 _configType) view returns (bytes)
getTrustedRemoteAddress
viewfunction getTrustedRemoteAddress(uint16 _remoteChainId) view returns (bytes)
isTrustedRemote
viewfunction isTrustedRemote(uint16 _srcChainId, bytes _srcAddress) view returns (bool)
lzChainId
viewfunction lzChainId() view returns (uint16)
lzEndpoint
viewfunction lzEndpoint() view returns (address)
minDstGasLookup
viewfunction minDstGasLookup(uint16, uint16) view returns (uint256)
NO_EXTRA_GAS
viewfunction NO_EXTRA_GAS() view returns (uint256)
owner
viewfunction owner() view returns (address)
payloadSizeLimitLookup
viewfunction payloadSizeLimitLookup(uint16) view returns (uint256)
precrime
viewfunction precrime() view returns (address)
protectAddPool
viewfunction protectAddPool() view returns (bool)
PT_SEND
viewfunction PT_SEND() view returns (uint16)
trustedRemoteLookup
viewfunction trustedRemoteLookup(uint16) view returns (bytes)
addPool
payablefunction addPool(address _gauge, uint16 _dstChainId, address _zroPaymentAddress, bytes _adapterParams) payable returns (bool)
addPools
payablefunction addPools(address[] _gauges, uint16 _dstChainId, address _zroPaymentAddress, bytes _adapterParams) payable returns (bool)
forceResumeReceive
nonpayablefunction forceResumeReceive(uint16 _srcChainId, bytes _srcAddress)
lzReceive
nonpayablefunction lzReceive(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload)
renounceOwnership
nonpayablefunction renounceOwnership()
setConfig
nonpayablefunction setConfig(uint16 _version, uint16 _chainId, uint256 _configType, bytes _config)
setGaugeType
nonpayablefunction setGaugeType(uint16 _lzChainId, string gaugeType)
setMinDstGas
nonpayablefunction setMinDstGas(uint16 _dstChainId, uint16 _packetType, uint256 _minGas)
setPayloadSizeLimit
nonpayablefunction setPayloadSizeLimit(uint16 _dstChainId, uint256 _size)
setPrecrime
nonpayablefunction setPrecrime(address _precrime)
setProtectPool
nonpayablefunction setProtectPool(bool _protectAddPool)
setReceiveVersion
nonpayablefunction setReceiveVersion(uint16 _version)
setSendVersion
nonpayablefunction setSendVersion(uint16 _version)
setTrustedRemote
nonpayablefunction setTrustedRemote(uint16 _srcChainId, bytes _path)
setTrustedRemoteAddress
nonpayablefunction setTrustedRemoteAddress(uint16 _remoteChainId, bytes _remoteAddress)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateAuthorizedKeepers
nonpayablefunction updateAuthorizedKeepers(address _keeper, bool _authorized)
events
AddSidechainPool
event AddSidechainPool(uint16 indexed dstChainId, address rootGauge, address dstGauge)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetMinDstGas
event SetMinDstGas(uint16 _dstChainId, uint16 _type, uint256 _minDstGas)
SetPrecrime
event SetPrecrime(address precrime)
SetTrustedRemote
event SetTrustedRemote(uint16 _remoteChainId, bytes _path)
SetTrustedRemoteAddress
event SetTrustedRemoteAddress(uint16 _remoteChainId, bytes _remoteAddress)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162002d2538038062002d258339810160408190526200003491620001ba565b33620000408162000087565b6200004b8162000087565b5061ffff84166080526200005f83620000d7565b6007805460ff191660011790556001600160a01b0391821660a0521660c052506200021f9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001546001600160a01b031615620001365760405162461bcd60e51b815260206004820152601360248201527f616c726561647920696e697469616c697a65640000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166200017b5760405162461bcd60e51b815260206004820152600a6024820152690656e64706f696e743d360b41b60448201526064016200012d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b80516001600160a01b0381168114620001b557600080fd5b919050565b60008060008060808587031215620001d157600080fd5b845161ffff81168114620001e457600080fd5b9350620001f4602086016200019d565b925062000204604086016200019d565b915062000214606086016200019d565b905092959194509250565b60805160a05160c051612ac162000264600039600081816103f10152611b6c01526000818161051c0152611c520152600081816104c80152611a8e0152612ac16000f3fe6080604052600436106102375760003560e01c8063950c8a7411610138578063c56f264d116100b0578063e15c1d8f1161007f578063f2fde38b11610064578063f2fde38b146106d1578063f597a94d146106f1578063f5ecbdbc1461070457600080fd5b8063e15c1d8f14610691578063eb8d72b7146106b157600080fd5b8063c56f264d1461060e578063cbed8b9c1461063e578063d52927da1461065e578063df2a5b3b1461067157600080fd5b8063b1a2df6011610107578063b7606aa3116100ec578063b7606aa3146105be578063baf3292d146105d8578063c4461834146105f857600080fd5b8063b1a2df601461057e578063b353aaa71461059e57600080fd5b8063950c8a74146104ea57806399eecb3b1461050a5780639f38369a1461053e578063a6c3d1651461055e57600080fd5b806344770515116101cb578063715018a61161019a5780638cfd8f5c1161017f5780638cfd8f5c146104605780638da5cb5b14610498578063917c4156146104b657600080fd5b8063715018a61461042b5780637533d7881461044057600080fd5b806344770515146103755780634c42899a1461038a5780635f491786146103b25780636a2a68f1146103df57600080fd5b80631dc70366116102075780631dc70366146102c55780633d8b38f6146102e55780633f1f4fa41461031a57806342d65a8d1461035557600080fd5b80621d35671461024357806307e0db17146102655780630df374831461028557806310ddb137146102a557600080fd5b3661023e57005b600080fd5b34801561024f57600080fd5b5061026361025e3660046121c6565b610724565b005b34801561027157600080fd5b50610263610280366004612260565b610957565b34801561029157600080fd5b506102636102a036600461227b565b610a04565b3480156102b157600080fd5b506102636102c0366004612260565b610a63565b3480156102d157600080fd5b506102636102e03660046122b3565b610adf565b3480156102f157600080fd5b506103056103003660046122d0565b610b3a565b60405190151581526020015b60405180910390f35b34801561032657600080fd5b50610347610335366004612260565b60046020526000908152604090205481565b604051908152602001610311565b34801561036157600080fd5b506102636103703660046122d0565b610c06565b34801561038157600080fd5b50610347600081565b34801561039657600080fd5b5061039f600081565b60405161ffff9091168152602001610311565b3480156103be57600080fd5b506103d26103cd366004612260565b610cb0565b604051610311919061237b565b3480156103eb57600080fd5b506104137f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610311565b34801561043757600080fd5b50610263610d4a565b34801561044c57600080fd5b506103d261045b366004612260565b610d9e565b34801561046c57600080fd5b5061034761047b36600461238e565b600360209081526000928352604080842090915290825290205481565b3480156104a457600080fd5b506000546001600160a01b0316610413565b3480156104c257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b50600554610413906001600160a01b031681565b34801561051657600080fd5b506104137f000000000000000000000000000000000000000000000000000000000000000081565b34801561054a57600080fd5b506103d2610559366004612260565b610db7565b34801561056a57600080fd5b506102636105793660046122d0565b610ece565b34801561058a57600080fd5b506102636105993660046123e1565b610fa1565b3480156105aa57600080fd5b50600154610413906001600160a01b031681565b3480156105ca57600080fd5b506007546103059060ff1681565b3480156105e457600080fd5b506102636105f336600461241a565b611014565b34801561060457600080fd5b5061034761271081565b34801561061a57600080fd5b5061030561062936600461241a565b60066020526000908152604090205460ff1681565b34801561064a57600080fd5b50610263610659366004612437565b6110bd565b61030561066c366004612573565b611176565b34801561067d57600080fd5b5061026361068c3660046125e6565b611239565b34801561069d57600080fd5b506102636106ac366004612622565b611333565b3480156106bd57600080fd5b506102636106cc3660046122d0565b6113a4565b3480156106dd57600080fd5b506102636106ec36600461241a565b61143e565b6103056106ff366004612684565b61150e565b34801561071057600080fd5b506103d261071f366004612740565b6115a6565b6001546001600160a01b0316336001600160a01b03161461078c5760405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c6572000060448201526064015b60405180910390fd5b61ffff8616600090815260026020526040812080546107aa9061278d565b80601f01602080910402602001604051908101604052809291908181526020018280546107d69061278d565b80156108235780601f106107f857610100808354040283529160200191610823565b820191906000526020600020905b81548152906001019060200180831161080657829003601f168201915b5050505050905080518686905014801561083e575060008151115b801561086657508051602082012060405161085c90889088906127c8565b6040518091039020145b6108d85760405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610783565b61094e8787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a93509150889088908190840183828082843760009201919091525061163992505050565b50505050505050565b6000546001600160a01b0316331461099f5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001546040516307e0db1760e01b815261ffff831660048201526001600160a01b03909116906307e0db17906024015b600060405180830381600087803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b5050505050565b6000546001600160a01b03163314610a4c5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b61ffff909116600090815260046020526040902055565b6000546001600160a01b03163314610aab5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001546040516310ddb13760e01b815261ffff831660048201526001600160a01b03909116906310ddb137906024016109cf565b6000546001600160a01b03163314610b275760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6007805460ff1916911515919091179055565b61ffff831660009081526002602052604081208054829190610b5b9061278d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b879061278d565b8015610bd45780601f10610ba957610100808354040283529160200191610bd4565b820191906000526020600020905b815481529060010190602001808311610bb757829003601f168201915b505050505090508383604051610beb9291906127c8565b60405180910390208180519060200120149150509392505050565b6000546001600160a01b03163314610c4e5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001546040516342d65a8d60e01b81526001600160a01b03909116906342d65a8d90610c8290869086908690600401612801565b600060405180830381600087803b158015610c9c57600080fd5b505af115801561094e573d6000803e3d6000fd5b60086020526000908152604090208054610cc99061278d565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf59061278d565b8015610d425780601f10610d1757610100808354040283529160200191610d42565b820191906000526020600020905b815481529060010190602001808311610d2557829003601f168201915b505050505081565b6000546001600160a01b03163314610d925760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b610d9c600061163f565b565b60026020526000908152604090208054610cc99061278d565b61ffff8116600090815260026020526040812080546060929190610dda9061278d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061278d565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b50505050509050805160001415610eac5760405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f72640000006044820152606401610783565b610ec7600060148351610ebf9190612835565b83919061169c565b9392505050565b6000546001600160a01b03163314610f165760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b818130604051602001610f2b9392919061284c565b60408051601f1981840301815291815261ffff85166000908152600260209081529190208251610f6093919290910190612059565b507f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce838383604051610f9493929190612801565b60405180910390a1505050565b6000546001600160a01b03163314610fe95760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461105c5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b9060200160405180910390a150565b6000546001600160a01b031633146111055760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001546040516332fb62e760e21b81526001600160a01b039091169063cbed8b9c9061113d9088908890889088908890600401612872565b600060405180830381600087803b15801561115757600080fd5b505af115801561116b573d6000803e3d6000fd5b505050505050505050565b60075460009060ff16156111cd573360009081526006602052604090205460ff166111cd5760405162461bcd60e51b815260206004820152600760248201526610b5b2b2b832b960c91b6044820152606401610783565b604080516001808252818301909252600091602080830190803683370190505090508581600081518110611203576112036128ab565b60200260200101906001600160a01b031690816001600160a01b03168152505061122f818686866117c4565b9695505050505050565b6000546001600160a01b031633146112815760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b600081116112d15760405162461bcd60e51b815260206004820152601560248201527f4c7a4170703a20696e76616c6964206d696e47617300000000000000000000006044820152606401610783565b61ffff83811660008181526003602090815260408083209487168084529482529182902085905581519283528201929092529081018290527f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac090606001610f94565b6000546001600160a01b0316331461137b5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b61ffff82166000908152600860209081526040909120825161139f92840190612059565b505050565b6000546001600160a01b031633146113ec5760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b61ffff8316600090815260026020526040902061140a9083836120dd565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab838383604051610f9493929190612801565b6000546001600160a01b031633146114865760405162461bcd60e51b81526020600482018190526024820152600080516020612a958339815191526044820152606401610783565b6001600160a01b0381166115025760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610783565b61150b8161163f565b50565b60075460009060ff1615611565573360009081526006602052604090205460ff166115655760405162461bcd60e51b815260206004820152600760248201526610b5b2b2b832b960c91b6044820152606401610783565b61122f8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791508690506117c4565b600154604051633d7b2f6f60e21b815261ffff808716600483015285166024820152306044820152606481018390526060916001600160a01b03169063f5ecbdbc90608401600060405180830381865afa158015611608573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261163091908101906128c1565b95945050505050565b50505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060816116aa81601f61292f565b10156116f85760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610783565b611702828461292f565b845110156117525760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610783565b60608215801561177157604051915060008252602082016040526117bb565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156117aa578051835260209283019201611792565b5050858452601f01601f1916604052505b50949350505050565b60006117d48460008460006119e2565b845160008167ffffffffffffffff8111156117f1576117f16124a6565b60405190808252806020026020018201604052801561181a578160200160208202803683370190505b50905060005b828110156119a757600088828151811061183c5761183c6128ab565b6020026020010151905061185088826119ee565b6000816001600160a01b0316631b88094d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b49190612947565b90506001600160a01b03811661190c5760405162461bcd60e51b815260206004820152600960248201527f21647374476175676500000000000000000000000000000000000000000000006044820152606401610783565b8084848151811061191f5761191f6128ab565b60200260200101906001600160a01b031690816001600160a01b0316815250508861ffff167fdb5a8f67110c50976bcef245c53c1b8fde37ad2b1e19f8f191774c242ac9135f838360405161198a9291906001600160a01b0392831681529116602082015260400190565b60405180910390a25050808061199f90612964565b915050611820565b506119d586826040516020016119bd919061297f565b60405160208183030381529060405233888834611d11565b5060019695505050505050565b61163984848484611ea8565b61ffff821660009081526008602052604081208054611a0c9061278d565b80601f0160208091040260200160405190810160405280929190818152602001828054611a389061278d565b8015611a855780601f10611a5a57610100808354040283529160200191611a85565b820191906000526020600020905b815481529060010190602001808311611a6857829003601f168201915b505050505090507f000000000000000000000000000000000000000000000000000000000000000061ffff168361ffff161415611b045760405162461bcd60e51b815260206004820152600b60248201527f21647374436861696e49640000000000000000000000000000000000000000006044820152606401610783565b6000815111611b555760405162461bcd60e51b815260206004820152600a60248201527f21676175676554797065000000000000000000000000000000000000000000006044820152606401610783565b60405163c91be04360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c91be04390611ba390849086906004016129cc565b602060405180830381865afa158015611bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be491906129f7565b611c305760405162461bcd60e51b815260206004820152600d60248201527f21636865636b706f696e746572000000000000000000000000000000000000006044820152606401610783565b60405163273c8d1d60e11b81526001600160a01b0383811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690634e791a3a90602401602060405180830381865afa158015611c9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbf9190612a14565b9050600081116116395760405162461bcd60e51b815260206004820152601060248201527f6d757374206861766520776569676874000000000000000000000000000000006044820152606401610783565b61ffff861660009081526002602052604081208054611d2f9061278d565b80601f0160208091040260200160405190810160405280929190818152602001828054611d5b9061278d565b8015611da85780601f10611d7d57610100808354040283529160200191611da8565b820191906000526020600020905b815481529060010190602001808311611d8b57829003601f168201915b50505050509050805160001415611e275760405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201527f61207472757374656420736f75726365000000000000000000000000000000006064820152608401610783565b611e32878751611f8f565b60015460405162c5803160e81b81526001600160a01b039091169063c5803100908490611e6d908b9086908c908c908c908c90600401612a2d565b6000604051808303818588803b158015611e8657600080fd5b505af1158015611e9a573d6000803e3d6000fd5b505050505050505050505050565b6000611eb383611ffd565b61ffff808716600090815260036020908152604080832093891683529290529081205491925090611ee590849061292f565b905060008111611f375760405162461bcd60e51b815260206004820152601a60248201527f4c7a4170703a206d696e4761734c696d6974206e6f74207365740000000000006044820152606401610783565b80821015611f875760405162461bcd60e51b815260206004820152601b60248201527f4c7a4170703a20676173206c696d697420697320746f6f206c6f7700000000006044820152606401610783565b505050505050565b61ffff821660009081526004602052604090205480611fad57506127105b8082111561139f5760405162461bcd60e51b815260206004820181905260248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c617267656044820152606401610783565b60006022825110156120515760405162461bcd60e51b815260206004820152601c60248201527f4c7a4170703a20696e76616c69642061646170746572506172616d73000000006044820152606401610783565b506022015190565b8280546120659061278d565b90600052602060002090601f01602090048101928261208757600085556120cd565b82601f106120a057805160ff19168380011785556120cd565b828001600101855582156120cd579182015b828111156120cd5782518255916020019190600101906120b2565b506120d9929150612151565b5090565b8280546120e99061278d565b90600052602060002090601f01602090048101928261210b57600085556120cd565b82601f106121245782800160ff198235161785556120cd565b828001600101855582156120cd579182015b828111156120cd578235825591602001919060010190612136565b5b808211156120d95760008155600101612152565b803561ffff8116811461217857600080fd5b919050565b60008083601f84011261218f57600080fd5b50813567ffffffffffffffff8111156121a757600080fd5b6020830191508360208285010111156121bf57600080fd5b9250929050565b600080600080600080608087890312156121df57600080fd5b6121e887612166565b9550602087013567ffffffffffffffff8082111561220557600080fd5b6122118a838b0161217d565b909750955060408901359150808216821461222b57600080fd5b9093506060880135908082111561224157600080fd5b5061224e89828a0161217d565b979a9699509497509295939492505050565b60006020828403121561227257600080fd5b610ec782612166565b6000806040838503121561228e57600080fd5b61229783612166565b946020939093013593505050565b801515811461150b57600080fd5b6000602082840312156122c557600080fd5b8135610ec7816122a5565b6000806000604084860312156122e557600080fd5b6122ee84612166565b9250602084013567ffffffffffffffff81111561230a57600080fd5b6123168682870161217d565b9497909650939450505050565b60005b8381101561233e578181015183820152602001612326565b838111156116395750506000910152565b60008151808452612367816020860160208601612323565b601f01601f19169290920160200192915050565b602081526000610ec7602083018461234f565b600080604083850312156123a157600080fd5b6123aa83612166565b91506123b860208401612166565b90509250929050565b6001600160a01b038116811461150b57600080fd5b8035612178816123c1565b600080604083850312156123f457600080fd5b82356123ff816123c1565b9150602083013561240f816122a5565b809150509250929050565b60006020828403121561242c57600080fd5b8135610ec7816123c1565b60008060008060006080868803121561244f57600080fd5b61245886612166565b945061246660208701612166565b935060408601359250606086013567ffffffffffffffff81111561248957600080fd5b6124958882890161217d565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156124e5576124e56124a6565b604052919050565b600067ffffffffffffffff821115612507576125076124a6565b50601f01601f191660200190565b6000612528612523846124ed565b6124bc565b905082815283838301111561253c57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261256457600080fd5b610ec783833560208501612515565b6000806000806080858703121561258957600080fd5b8435612594816123c1565b93506125a260208601612166565b925060408501356125b2816123c1565b9150606085013567ffffffffffffffff8111156125ce57600080fd5b6125da87828801612553565b91505092959194509250565b6000806000606084860312156125fb57600080fd5b61260484612166565b925061261260208501612166565b9150604084013590509250925092565b6000806040838503121561263557600080fd5b61263e83612166565b9150602083013567ffffffffffffffff81111561265a57600080fd5b8301601f8101851361266b57600080fd5b61267a85823560208401612515565b9150509250929050565b60008060008060006080868803121561269c57600080fd5b853567ffffffffffffffff808211156126b457600080fd5b818801915088601f8301126126c857600080fd5b8135818111156126d757600080fd5b8960208260051b85010111156126ec57600080fd5b6020830197508096505061270260208901612166565b9450612710604089016123d6565b9350606088013591508082111561272657600080fd5b5061273388828901612553565b9150509295509295909350565b6000806000806080858703121561275657600080fd5b61275f85612166565b935061276d60208601612166565b9250604085013561277d816123c1565b9396929550929360600135925050565b600181811c908216806127a157607f821691505b602082108114156127c257634e487b7160e01b600052602260045260246000fd5b50919050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff841681526040602082015260006116306040830184866127d8565b634e487b7160e01b600052601160045260246000fd5b6000828210156128475761284761281f565b500390565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b600061ffff8088168352808716602084015250846040830152608060608301526128a06080830184866127d8565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156128d357600080fd5b815167ffffffffffffffff8111156128ea57600080fd5b8201601f810184136128fb57600080fd5b8051612909612523826124ed565b81815285602083850101111561291e57600080fd5b611630826020830160208601612323565b600082198211156129425761294261281f565b500190565b60006020828403121561295957600080fd5b8151610ec7816123c1565b60006000198214156129785761297861281f565b5060010190565b6020808252825182820181905260009190848201906040850190845b818110156129c05783516001600160a01b03168352928401929184019160010161299b565b50909695505050505050565b6040815260006129df604083018561234f565b90506001600160a01b03831660208301529392505050565b600060208284031215612a0957600080fd5b8151610ec7816122a5565b600060208284031215612a2657600080fd5b5051919050565b61ffff8716815260c060208201526000612a4a60c083018861234f565b8281036040840152612a5c818861234f565b6001600160a01b0387811660608601528616608085015283810360a08501529050612a87818561234f565b999850505050505050505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a164736f6c634300080b000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd675000000000000000000000000c128468b7ce63ea702c1f104d55a2566b13d3abd0000000000000000000000000c8f71d19f87c0bd1b9bad2484ecc3388d5dbb98