0 txs
4 calls
constructor
constructor()
functions
bridgeSlippage
viewfunction bridgeSlippage() view returns (uint256)
dstExternalFeeRate
viewfunction dstExternalFeeRate() view returns (uint16)
ETH_PLACEHOLDER_ADDR
viewfunction ETH_PLACEHOLDER_ADDR() view returns (address)
FEE_BASE
viewfunction FEE_BASE() view returns (uint256)
feeAddr
viewfunction feeAddr() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
quoteLayerZeroFee
viewfunction quoteLayerZeroFee(uint256 refId, address to, tuple srcInfo, tuple dstInfo, tuple dstExtSwapInfo) view returns (uint256, uint256)
sgInfo
viewfunction sgInfo() view returns (address)
srcExternalFeeRate
viewfunction srcExternalFeeRate() view returns (uint16)
weth
viewfunction weth() view returns (address)
wooCrossRouters
viewfunction wooCrossRouters(uint32) view returns (address)
woofiRouter
viewfunction woofiRouter() view returns (address)
claimFee
nonpayablefunction claimFee(address token)
crossSwap
payablefunction crossSwap(uint256 refId, address to, tuple srcInfo, tuple dstInfo, tuple srcExtSwapInfo, tuple dstExtSwapInfo) payable
inCaseTokenGotStuck
nonpayablefunction inCaseTokenGotStuck(address stuckToken)
initialize
nonpayablefunction initialize(address _owner, address _weth, address _woofiRouter, address _sgInfo)
lzCompose
payablefunction lzCompose(address _from, bytes32, bytes _message, address, bytes) payable
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setBridgeSlippage
nonpayablefunction setBridgeSlippage(uint256 _bridgeSlippage)
setFeeAddr
nonpayablefunction setFeeAddr(address _feeAddr)
setWooCrossRouter
nonpayablefunction setWooCrossRouter(uint32 _eid, address _crossRouter)
setWOOFiRouter
nonpayablefunction setWOOFiRouter(address _woofiRouter)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
WooCrossSwapOnDstChain
event WooCrossSwapOnDstChain(uint256 indexed refId, address indexed sender, address indexed to, address bridgedToken, uint256 bridgedAmount, address toToken, address realToToken, uint256 minToAmount, uint256 realToAmount, uint8 swapType, uint256 fee)
WooCrossSwapOnSrcChain
event WooCrossSwapOnSrcChain(uint256 indexed refId, address indexed sender, address indexed to, address fromToken, uint256 fromAmount, address bridgeToken, uint256 minBridgeAmount, uint256 realBridgeAmount, uint8 swapType, uint256 fee)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidInitialization
error InvalidInitialization()
InvalidOptionType
error InvalidOptionType(uint16 optionType)
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61512180620000e66000396000f3fe6080604052600436106101a55760003560e01c806383af5550116100e1578063d0a102601161008a578063ecb911de11610064578063ecb911de1461053a578063ecefc70514610555578063f2fde38b1461056c578063f8c8765e1461058c57600080fd5b8063d0a10260146104e7578063d6b4c897146104fa578063e1a4e72a1461051a57600080fd5b80638da5cb5b116100bb5780638da5cb5b14610449578063b2855b4f14610493578063b9292141146104b357600080fd5b806383af5550146103e85780638456cb591461040c57806388c4cb361461042157600080fd5b8063403a01e51161014e5780635c975abb116101285780635c975abb1461032e57806369d2299c146103705780636ebc51e1146103b3578063715018a6146103d357600080fd5b8063403a01e5146102c157806358800adf146102e1578063590bae891461030e57600080fd5b806339e7fddc1161017f57806339e7fddc146102525780633f4ba83a1461027f5780633fc8cef31461029457600080fd5b8063027b4b6f146101b1578063117acd17146102085780631b445c611461023d57600080fd5b366101ac57005b600080fd5b3480156101bd57600080fd5b506000546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561021457600080fd5b50610228610223366004614407565b6105ac565b604080519283526020830191909152016101ff565b61025061024b366004614579565b61096e565b005b34801561025e57600080fd5b506003546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561028b57600080fd5b506102506113e3565b3480156102a057600080fd5b506002546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102cd57600080fd5b506102506102dc366004614682565b6113f5565b3480156102ed57600080fd5b506001546101de9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561031a57600080fd5b5061025061032936600461469b565b611494565b34801561033a57600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1660405190151581526020016101ff565b34801561037c57600080fd5b506101de61038b3660046146ca565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156103bf57600080fd5b506102506103ce36600461469b565b611585565b3480156103df57600080fd5b506102506116d7565b3480156103f457600080fd5b506103fe60045481565b6040519081526020016101ff565b34801561041857600080fd5b506102506116e9565b34801561042d57600080fd5b506101de73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561045557600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff166101de565b34801561049f57600080fd5b506102506104ae36600461469b565b6116f9565b3480156104bf57600080fd5b506005546104d49062010000900461ffff1681565b60405161ffff90911681526020016101ff565b6102506104f5366004614730565b611748565b34801561050657600080fd5b506102506105153660046147d1565b611b5b565b34801561052657600080fd5b5061025061053536600461469b565b611c60565b34801561054657600080fd5b506005546104d49061ffff1681565b34801561056157600080fd5b506103fe620186a081565b34801561057857600080fd5b5061025061058736600461469b565b611d51565b34801561059857600080fd5b506102506105a736600461480a565b611db2565b6000808087876105c2604088016020890161469b565b6105d26060890160408a0161469b565b8860600135886040516020016105ed96959493929190614954565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600061067e8161063360c0890160a08a016149ad565b6000610676604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b929190611fda565b9050600061069260a08801608089016149ad565b6fffffffffffffffffffffffffffffffff1611156106df576106dd6106bd60a08801608089016149ad565b73ffffffffffffffffffffffffffffffffffffffff8a165b83919061205d565b505b6040805160e08101909152600090806106fb60208a018a6146ca565b63ffffffff168152602001610750600660008b600001602081019061072091906146ca565b63ffffffff16815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1690565b81526020018960600135815260200161076c8a606001356120e1565b81526020808201859052604080830187905280518083018252600080825260609094015260015481517f42407dc40000000000000000000000000000000000000000000000000000000081529151949550929373ffffffffffffffffffffffffffffffffffffffff9093169263bb0d15fe9284926342407dc492600480830193928290030181865afa158015610806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082a91906149df565b61083a60408d0160208e0161469b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815263ffffffff92909216600483015273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d391906149fc565b905060008173ffffffffffffffffffffffffffffffffffffffff16633b6f743b8460006040518363ffffffff1660e01b8152600401610913929190614afd565b6040805180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190614b51565b8051602090910151909d909c509a5050505050505050505050565b610976612110565b61097e61216c565b73ffffffffffffffffffffffffffffffffffffffff8516610a00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f576f6f43726f7373436861696e526f7574657256353a2021746f00000000000060448201526064015b60405180910390fd5b835173ffffffffffffffffffffffffffffffffffffffff16610aa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f576f6f43726f7373436861696e526f7574657256353a2021737263496e666f2e60448201527f66726f6d546f6b656e000000000000000000000000000000000000000000000060648201526084016109f7565b6000610ab6606085016040860161469b565b73ffffffffffffffffffffffffffffffffffffffff1603610b59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f576f6f43726f7373436861696e526f7574657256353a2021647374496e666f2e60448201527f746f546f6b656e0000000000000000000000000000000000000000000000000060648201526084016109f7565b600154604080517f42407dc4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163bb0d15fe9183916342407dc49160048083019260209291908290030181865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf591906149df565b60208801516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815263ffffffff92909216600483015273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9391906149fc565b73ffffffffffffffffffffffffffffffffffffffff1603610d36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f576f6f43726f7373436861696e526f7574657256353a2021737263496e666f2e60448201527f627269646765546f6b656e00000000000000000000000000000000000000000060648201526084016109f7565b8351600090819073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff111111111111111111111111111111111111111201610e12573486604001511115610e0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f576f6f43726f7373436861696e526f7574657256353a2021737263496e666f2e60448201527f66726f6d416d6f756e740000000000000000000000000000000000000000000060648201526084016109f7565b610e26565b610e268660000151333089604001516121ed565b856020015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff16146110ba5785516000546040880151610e8c929173ffffffffffffffffffffffffffffffffffffffff169061235e565b855160009073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610ec8576000610ece565b86604001515b90506000610edf602087018761469b565b73ffffffffffffffffffffffffffffffffffffffff1614610fe95760005473ffffffffffffffffffffffffffffffffffffffff1663199b83fa82610f26602089018961469b565b610f3360208a018a61469b565b8b600001518c602001518d604001518e60600151308e8060200190610f589190614b6d565b6040518b63ffffffff1660e01b8152600401610f7c99989796959493929190614bd2565b60206040518083038185885af1158015610f9a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fbf9190614c41565b600554909350620186a090610fd89061ffff1685614c89565b610fe29190614ca0565b91506110b4565b600054875160208901516040808b015160608c015191517f7dc2038200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff94851660048201529284166024840152604483015260648201523060848201528a821660a4820152911690637dc2038290839060c40160206040518083038185885af115801561108c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110b19190614c41565b92505b50611159565b8560600151866040015114611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f576f6f43726f7373436861696e526f7574657256353a2021737263496e666f2e60448201527f6d696e427269646765416d6f756e74000000000000000000000000000000000060648201526084016109f7565b856040015191505b816111688760200151306124ce565b10156111f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f576f6f43726f7373436861696e526f7574657256353a202142616c616e63655f60448201527f456e6f756768000000000000000000000000000000000000000000000000000060648201526084016109f7565b6112008183614cdb565b91508560600151821015611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f576f6f43726f7373436861696e526f7574657256353a2021737263496e666f2e60448201527f6d696e427269646765416d6f756e74000000000000000000000000000000000060648201526084016109f7565b6112a48888848989886125b6565b73ffffffffffffffffffffffffffffffffffffffff87163373ffffffffffffffffffffffffffffffffffffffff16897f546dc08c5438b68796e5047ad2ac863ab74300bdf49457917d47021f090c45c489600001518a604001518b602001518c6060015189600073ffffffffffffffffffffffffffffffffffffffff168d6000016020810190611334919061469b565b73ffffffffffffffffffffffffffffffffffffffff1614611356576001611359565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9788168152602081019690965293909516928401929092526060830152608082015260ff90911660a082015260c0810186905260e00160405180910390a450506113db60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b505050505050565b6113eb612a1d565b6113f3612aab565b565b6113fd612a1d565b61271081111561148f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f576f6f43726f7373436861696e526f7574657256353a20215f6272696467655360448201527f6c6970706167650000000000000000000000000000000000000000000000000060648201526084016109f7565b600455565b61149c612a1d565b73ffffffffffffffffffffffffffffffffffffffff811661153e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f576f6f43726f7373436861696e526f7574657256353a20215f776f6f6669526f60448201527f757465720000000000000000000000000000000000000000000000000000000060648201526084016109f7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61158d61216c565b60035473ffffffffffffffffffffffffffffffffffffffff1661160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f576f6f43726f7373436861696e526f7574657256353a2021666565416464720060448201526064016109f7565b600061161882306124ce565b905080156116aa577fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff831601611685576003546116809073ffffffffffffffffffffffffffffffffffffffff1682612b48565b6116aa565b6003546116aa90839073ffffffffffffffffffffffffffffffffffffffff1683612c31565b506116d460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50565b6116df612a1d565b6113f36000612d9a565b6116f1612a1d565b6113f3612e30565b611701612a1d565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600154604080517f42407dc4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916342407dc49160048083019260209291908290030181865afa1580156117b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117dc91906149df565b6001546040517f73f0c8f500000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015291925073ffffffffffffffffffffffffffffffffffffffff16906373f0c8f590602401602060405180830381865afa158015611851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187591906149fc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461192f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f576f6f43726f7373436861696e526f7574657256353a20494e56414c49445f4360448201527f414c4c455200000000000000000000000000000000000000000000000000000060648201526084016109f7565b600061193b8787612ea9565b90506000806000806000806119508d8d612ec2565b8060200190518101906119639190614cee565b6001546040517fbb0d15fe000000000000000000000000000000000000000000000000000000008152969c50949a509298509096509450925073ffffffffffffffffffffffffffffffffffffffff169063bb0d15fe906119f0908b90889060040163ffffffff92909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b602060405180830381865afa158015611a0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3191906149fc565b73ffffffffffffffffffffffffffffffffffffffff168f73ffffffffffffffffffffffffffffffffffffffff1614611aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f576f6f43726f7373436861696e526f7574657256353a20215f66726f6d5f737460448201527f617267617465000000000000000000000000000000000000000000000000000060648201526084016109f7565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff851601611b3b57611b368686858a8686612f0d565b611b4a565b611b4a868685878b87876138b3565b505050505050505050505050505050565b611b63612a1d565b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f576f6f43726f7373436861696e526f7574657256353a20215f63726f7373526f60448201527f757465720000000000000000000000000000000000000000000000000000000060648201526084016109f7565b63ffffffff91909116600090815260066020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b611c68612a1d565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601611caf576116d43347612b48565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015611d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d409190614c41565b9050611d4d823383612c31565b5050565b611d59612a1d565b73ffffffffffffffffffffffffffffffffffffffff8116611da9576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016109f7565b6116d481612d9a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff16600081158015611dfd5750825b905060008267ffffffffffffffff166001148015611e1a5750303b155b905081158015611e28575080155b15611e5f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315611ec05784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b611ec989614024565b611ed1614035565b611ed9614045565b600280547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8b8116919091179092556000805482168a8416179055600180549091169188169190911790556064600455600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016621900191790558315611fcf5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6060846003611fea826000614055565b61ffff161461203757611ffe816000614055565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016109f7565b60006120448686866140d5565b9050612052876003836141e1565b979650505050505050565b606083600361206d826000614055565b61ffff161461208157611ffe816000614055565b60408051608086901b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016602082015260308082018690528251808303909101815260509091019091526120d7866002836141e1565b9695505050505050565b60006127106004546127106120f69190614cdb565b6121009084614c89565b61210a9190614ca0565b92915050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16156113f3576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016121e7576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052915160009283929088169161228c9190614e2e565b6000604051808303816000865af19150503d80600081146122c9576040519150601f19603f3d011682016040523d82523d6000602084013e6122ce565b606091505b50915091508180156122f85750805115806122f85750808060200190518101906122f89190614e4a565b6113db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f535446000000000000000000000000000000000000000000000000000000000060448201526064016109f7565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905291516000928392908716916123f59190614e2e565b6000604051808303816000865af19150503d8060008114612432576040519150601f19603f3d011682016040523d82523d6000602084013e612437565b606091505b50915091508180156124615750805115806124615750808060200190518101906124619190614e4a565b6124c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f534100000000000000000000000000000000000000000000000000000000000060448201526064016109f7565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14612596576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528416906370a0823190602401602060405180830381865afa15801561256d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125919190614c41565b6125af565b8173ffffffffffffffffffffffffffffffffffffffff16315b9392505050565b600086866125ca604086016020870161469b565b6125da606087016040880161469b565b8660600135866040516020016125f596959493929190614954565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600061263b8161063360c0870160a088016149ad565b9050600061264f60a08601608087016149ad565b6fffffffffffffffffffffffffffffffff1611156126985761269661267a60a08601608087016149ad565b73ffffffffffffffffffffffffffffffffffffffff89166106d5565b505b600154604080517f42407dc4000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163bb0d15fe9183916342407dc49160048083019260209291908290030181865afa158015612710573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273491906149df565b60208901516040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815263ffffffff92909216600483015273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156127ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d291906149fc565b602087015190915073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14612819576128198660200151828961235e565b6040805160e081019091526000908061283560208901896146ca565b63ffffffff16815260200161285a600660008a600001602081019061072091906146ca565b815260200189815260200161286e8a6120e1565b815260200184815260200185815260200160405180602001604052806000815250815250905060008273ffffffffffffffffffffffffffffffffffffffff16633b6f743b8360006040518363ffffffff1660e01b81526004016128d2929190614afd565b6040805180830381865afa1580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190614b51565b90508273ffffffffffffffffffffffffffffffffffffffff1663c7c7f5b373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168a6020015173ffffffffffffffffffffffffffffffffffffffff1614612982578251612984565b345b8484326040518563ffffffff1660e01b81526004016129a593929190614e6c565b60c06040518083038185885af11580156129c3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906129e89190614eb6565b50505050505050505050505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b33612a5c7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146113f3576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016109f7565b612ab361424c565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a150565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff8416908390604051612b7f9190614e2e565b60006040518083038185875af1925050503d8060008114612bbc576040519150601f19603f3d011682016040523d82523d6000602084013e612bc1565b606091505b5050905080612c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f535445000000000000000000000000000000000000000000000000000000000060448201526064016109f7565b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691612cc89190614e2e565b6000604051808303816000865af19150503d8060008114612d05576040519150601f19603f3d011682016040523d82523d6000602084013e612d0a565b606091505b5091509150818015612d34575080511580612d34575080806020019051810190612d349190614e4a565b6124c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f535400000000000000000000000000000000000000000000000000000000000060448201526064016109f7565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b612e38612110565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612b1d565b6000612eb9602c600c8486614f4a565b6125af91614f74565b6060612ed182604c8186614f4a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b3373ffffffffffffffffffffffffffffffffffffffff85167fffffffffffffffffffffffff11111111111111111111111111111111111111120161307b57612f558685612b48565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16887fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee888a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8a8c600073ffffffffffffffffffffffffffffffffffffffff168c6000015173ffffffffffffffffffffffffffffffffffffffff1614613012576001613015565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a4506113db565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156130e557600080fd5b505af11580156130f9573d6000803e3d6000fd5b505060025473ffffffffffffffffffffffffffffffffffffffff9081169089160392506131bb915050576002546131479073ffffffffffffffffffffffffffffffffffffffff168786612c31565b600254825173ffffffffffffffffffffffffffffffffffffffff80891692848216928b927fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c9273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928b928d928116918c9185911615613012576001613015565b815173ffffffffffffffffffffffffffffffffffffffff161561356f57600554600090620186a0906131f79062010000900461ffff1687614c89565b6132019190614ca0565b9050600061320f8287614cdb565b60025460005491925061323c9173ffffffffffffffffffffffffffffffffffffffff91821691168361235e565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663199b83fa85600001518660000151600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b868b8f8c602001516040518963ffffffff1660e01b81526004016132d1989796959493929190614fb0565b6020604051808303816000875af192505050801561332a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261332791810190614c41565b60015b61345a576002546000805461335a9273ffffffffffffffffffffffffffffffffffffffff9081169291169061235e565b60025461337e9073ffffffffffffffffffffffffffffffffffffffff168988612c31565b600254845173ffffffffffffffffffffffffffffffffffffffff808b1692868216928d927fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c9273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928d928f928116918e91859116156133f25760016133f5565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a4613568565b8873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168b7fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee868d8e8d89600073ffffffffffffffffffffffffffffffffffffffff168f6000015173ffffffffffffffffffffffffffffffffffffffff1614613503576001613506565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c082015260e081018990529051908190036101000190a4505b50506138aa565b6002546000546135999173ffffffffffffffffffffffffffffffffffffffff90811691168661235e565b6000546002546040517f7dc2038200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152878216602482015260448101879052606481018690528882166084820181905260a4820152911690637dc203829060c4016020604051808303816000875af192505050801561366c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261366991810190614c41565b60015b61379c576002546000805461369c9273ffffffffffffffffffffffffffffffffffffffff9081169291169061235e565b6002546136c09073ffffffffffffffffffffffffffffffffffffffff168786612c31565b600254825173ffffffffffffffffffffffffffffffffffffffff80891692848216928b927fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c9273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928b928d928116918c9185911615613734576001613737565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a46138aa565b8673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16897fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee898b8c8b89600073ffffffffffffffffffffffffffffffffffffffff168d6000015173ffffffffffffffffffffffffffffffffffffffff1614613845576001613848565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a4505b50505050505050565b3373ffffffffffffffffffffffffffffffffffffffff808616908716036139dc576138df858886612c31565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16897fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c88888b8c8a8c600073ffffffffffffffffffffffffffffffffffffffff168c6000015173ffffffffffffffffffffffffffffffffffffffff1614613974576001613977565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a461401a565b815173ffffffffffffffffffffffffffffffffffffffff1615613d6057600554600090620186a090613a189062010000900461ffff1687614c89565b613a229190614ca0565b9050613a2e8186614cdb565b600054909550613a5690879073ffffffffffffffffffffffffffffffffffffffff168761235e565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663199b83fa84600001518560000151898b8a8a8f8b602001516040518963ffffffff1660e01b8152600401613ac9989796959493929190614fb0565b6020604051808303816000875af1925050508015613b22575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613b1f91810190614c41565b60015b613c605760008054613b4c91889173ffffffffffffffffffffffffffffffffffffffff169061235e565b613b56818661501d565b9450613b63868987612c31565b8773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168a7fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c89898c8c8b8d600073ffffffffffffffffffffffffffffffffffffffff168d6000015173ffffffffffffffffffffffffffffffffffffffff1614613bf8576001613bfb565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a4613d5a565b8873ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168b7fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c8a8a8d8e8c89600073ffffffffffffffffffffffffffffffffffffffff168e6000015173ffffffffffffffffffffffffffffffffffffffff1614613cf5576001613cf8565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c082015260e081018890529051908190036101000190a4505b5061401a565b600054613d8590869073ffffffffffffffffffffffffffffffffffffffff168661235e565b6000546040517f7dc2038200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152888116602483015260448201879052606482018690528981166084830181905260a483015290911690637dc203829060c4016020604051808303816000875af1925050508015613e56575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613e5391810190614c41565b60015b613f205760008054613e8091879173ffffffffffffffffffffffffffffffffffffffff169061235e565b613e8b858886612c31565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16897fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c88888b8b8a8c600073ffffffffffffffffffffffffffffffffffffffff168c6000015173ffffffffffffffffffffffffffffffffffffffff1614613974576001613977565b8773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168a7fe025e234368c681f94aa603de304cf6708c5638fe7454d6ed22a55430776a71c89898c8d8b89600073ffffffffffffffffffffffffffffffffffffffff168d6000015173ffffffffffffffffffffffffffffffffffffffff1614613fb5576001613fb8565b60005b6040805173ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975294871686860152929095166060850152608084015260a083019390935260ff90921660c0820152600060e08201529051908190036101000190a4505b5050505050505050565b61402c6142a7565b6116d48161430e565b61403d6142a7565b6113f3614316565b61404d6142a7565b6113f3614367565b600061406282600261501d565b835110156140cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016109f7565b50016002015190565b60606fffffffffffffffffffffffffffffffff82161561416b576040517fffff00000000000000000000000000000000000000000000000000000000000060f086901b1660208201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085811b8216602284015284901b1660328201526042016040516020818303038152906040526141d9565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f086901b1660208201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b1660228201526032016040516020818303038152906040525b949350505050565b60608360036141f1826000614055565b61ffff161461420557611ffe816000614055565b846001614212855161436f565b61421d906001615030565b8686604051602001614233959493929190615052565b6040516020818303038152906040529150509392505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff166113f3576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166113f3576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d596142a7565b61431e6142a7565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6129f76142a7565b600061ffff8211156143b7576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260106004820152602481018390526044016109f7565b5090565b73ffffffffffffffffffffffffffffffffffffffff811681146116d457600080fd5b600060c082840312156143ef57600080fd5b50919050565b6000604082840312156143ef57600080fd5b60008060008060008587036101a081121561442157600080fd5b863595506020870135614433816143bb565b945060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561446557600080fd5b506040860192506144798760c088016143dd565b915061018086013567ffffffffffffffff81111561449657600080fd5b6144a2888289016143f5565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715614501576145016144af565b60405290565b6040805190810167ffffffffffffffff81118282101715614501576145016144af565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614571576145716144af565b604052919050565b6000806000806000808688036101c081121561459457600080fd5b8735965060208801356145a6816143bb565b955060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0820112156145d857600080fd5b506145e16144de565b60408801356145ef816143bb565b815260608801356145ff816143bb565b60208201526080880135604082015260a0880135606082015293506146278860c089016143dd565b925061018087013567ffffffffffffffff8082111561464557600080fd5b6146518a838b016143f5565b93506101a089013591508082111561466857600080fd5b5061467589828a016143f5565b9150509295509295509295565b60006020828403121561469457600080fd5b5035919050565b6000602082840312156146ad57600080fd5b81356125af816143bb565b63ffffffff811681146116d457600080fd5b6000602082840312156146dc57600080fd5b81356125af816146b8565b60008083601f8401126146f957600080fd5b50813567ffffffffffffffff81111561471157600080fd5b60208301915083602082850101111561472957600080fd5b9250929050565b600080600080600080600060a0888a03121561474b57600080fd5b8735614756816143bb565b965060208801359550604088013567ffffffffffffffff8082111561477a57600080fd5b6147868b838c016146e7565b909750955060608a0135915061479b826143bb565b909350608089013590808211156147b157600080fd5b506147be8a828b016146e7565b989b979a50959850939692959293505050565b600080604083850312156147e457600080fd5b82356147ef816146b8565b915060208301356147ff816143bb565b809150509250929050565b6000806000806080858703121561482057600080fd5b843561482b816143bb565b9350602085013561483b816143bb565b9250604085013561484b816143bb565b9150606085013561485b816143bb565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600081356148bc816143bb565b73ffffffffffffffffffffffffffffffffffffffff1683526020820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261490a57600080fd5b820160208101903567ffffffffffffffff81111561492757600080fd5b80360382131561493657600080fd5b6040602086015261494b604086018284614866565b95945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff8088166020840152808716604084015280861660608401525083608083015260c060a08301526149a160c08301846148af565b98975050505050505050565b6000602082840312156149bf57600080fd5b81356fffffffffffffffffffffffffffffffff811681146125af57600080fd5b6000602082840312156149f157600080fd5b81516125af816146b8565b600060208284031215614a0e57600080fd5b81516125af816143bb565b60005b83811015614a34578181015183820152602001614a1c565b50506000910152565b60008151808452614a55816020860160208601614a19565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b63ffffffff81511682526020810151602083015260408101516040830152606081015160608301526000608082015160e06080850152614aca60e0850182614a3d565b905060a083015184820360a0860152614ae38282614a3d565b91505060c083015184820360c086015261494b8282614a3d565b604081526000614b106040830185614a87565b905082151560208301529392505050565b600060408284031215614b3357600080fd5b614b3b614507565b9050815181526020820151602082015292915050565b600060408284031215614b6357600080fd5b6125af8383614b21565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ba257600080fd5b83018035915067ffffffffffffffff821115614bbd57600080fd5b60200191503681900382131561472957600080fd5b600061010073ffffffffffffffffffffffffffffffffffffffff808d168452808c166020850152808b166040850152808a1660608501528860808501528760a085015280871660c0850152508060e0840152614c318184018587614866565b9c9b505050505050505050505050565b600060208284031215614c5357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761210a5761210a614c5a565b600082614cd6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8181038181111561210a5761210a614c5a565b60008060008060008060c08789031215614d0757600080fd5b86519550602080880151614d1a816143bb565b6040890151909650614d2b816143bb565b6060890151909550614d3c816143bb565b608089015160a08a0151919550935067ffffffffffffffff80821115614d6157600080fd5b908901906040828c031215614d7557600080fd5b614d7d614507565b8251614d88816143bb565b81528284015182811115614d9b57600080fd5b8084019350508b601f840112614db057600080fd5b825182811115614dc257614dc26144af565b614df2857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161452a565b92508083528c85828601011115614e0857600080fd5b614e1781868501878701614a19565b508184820152809450505050509295509295509295565b60008251614e40818460208701614a19565b9190910192915050565b600060208284031215614e5c57600080fd5b815180151581146125af57600080fd5b608081526000614e7f6080830186614a87565b9050835160208301526020840151604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b60008082840360c0811215614eca57600080fd5b6080811215614ed857600080fd5b506040516060810167ffffffffffffffff8282108183111715614efd57614efd6144af565b8160405285518352602086015191508082168214614f1a57600080fd5b506020820152614f2d8560408601614b21565b60408201529150614f418460808501614b21565b90509250929050565b60008085851115614f5a57600080fd5b83861115614f6757600080fd5b5050820193919092039150565b8035602083101561210a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600061010073ffffffffffffffffffffffffffffffffffffffff808c168452808b166020850152808a16604085015280891660608501528760808501528660a085015280861660c0850152508060e084015261500e81840185614a3d565b9b9a5050505050505050505050565b8082018082111561210a5761210a614c5a565b61ffff81811683821601908082111561504b5761504b614c5a565b5092915050565b60008651615064818460208b01614a19565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b1660038301525083516150dc816004840160208801614a19565b0160040197965050505050505056fea2646970667358221220676d2ccbd8daa7ed3d1b5b19e55502799cf1bd1e1ab0e7298f9a23dcbce24d7764736f6c63430008160033