0 txs
0 calls
constructor
No constructor.
functions
pipelineConvert
payablefunction pipelineConvert(address inputToken, int96[] stems, uint256[] amounts, address outputToken, tuple[] advancedPipeCalls) payable returns (int96 toStem, uint256 fromAmount, uint256 toAmount, uint256 fromBdv, uint256 toBdv)
events
Convert
event Convert(address indexed account, address fromToken, address toToken, uint256 fromAmount, uint256 toAmount)
ConvertDownPenalty
event ConvertDownPenalty(address account, uint256 grownStalkLost, uint256 grownStalkKept)
FarmerGerminatingStalkBalanceChanged
event FarmerGerminatingStalkBalanceChanged(address indexed account, int256 delta, uint8 germ)
RemoveDeposits
event RemoveDeposits(address indexed account, address indexed token, int96[] stems, uint256[] amounts, uint256 amount, uint256[] bdvs)
StalkBalanceChanged
event StalkBalanceChanged(address indexed account, int256 delta, int256 deltaRoots)
TotalGerminatingBalanceChanged
event TotalGerminatingBalanceChanged(uint256 germinationSeason, address indexed token, int256 deltaAmount, int256 deltaBdv)
TotalGerminatingStalkChanged
event TotalGerminatingStalkChanged(uint256 germinationSeason, int256 deltaGerminatingStalk)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
errors
PRBMath__MulDivOverflow
error PRBMath__MulDivOverflow(uint256 prod1, uint256 denominator)
SafeCastOverflowedIntDowncast
error SafeCastOverflowedIntDowncast(uint8 bits, int256 value)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
SafeCastOverflowedUintToInt
error SafeCastOverflowedUintToInt(uint256 value)
T
error T()
creation bytecode
0x6080604052348015600e575f80fd5b5061563a8061001c5f395ff3fe60806040526004361061001d575f3560e01c8063bb25c1c214610021575b5f80fd5b61003461002f3660046147e6565b610065565b60408051600b9690960b86526020860194909452928401919091526060830152608082015260a00160405180910390f35b5f805f805f60025f60010160020154036100c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026003556100d48c61060b565b806100ec57506001546001600160a01b038d81169116145b61014c5760405162461bcd60e51b815260206004820152602b60248201527f436f6e766572743a20496e70757420746f6b656e206d7573742062652042656160448201526a1b881bdc8818481dd95b1b60aa1b60648201526084016100bd565b6101558761060b565b8061016d57506001546001600160a01b038881169116145b6101ce5760405162461bcd60e51b815260206004820152602c60248201527f436f6e766572743a204f757470757420746f6b656e206d75737420626520426560448201526b185b881bdc8818481dd95b1b60a21b60648201526084016100bd565b7349bfc93e96d467d79fc809c8f6da466f8ebb8975636b29cbfe6101f061063b565b6040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908f1660248201526044015f6040518083038186803b158015610235575f80fd5b505af4158015610247573d5f803e3d5ffd5b505050507349bfc93e96d467d79fc809c8f6da466f8ebb8975636b29cbfe61026d61063b565b6040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908a1660248201526044015f6040518083038186803b1580156102b2575f80fd5b505af41580156102c4573d5f803e3d5ffd5b505050505f5b8a811015610307576102fd8a8a838181106102e7576102e76149b8565b905060200201358661068690919063ffffffff16565b94506001016102ca565b505f806103928e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508d8d808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508c925061038d915061063b9050565b61069a565b809350819650829450505050739b42c78bd19fdf3cf3b3c16c9184e1169bf2c7aa637848b1558f8b8988878e6040518763ffffffff1660e01b81526004016103df969594939291906149fa565b606060405180830381865af41580156103fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190614abc565b600154929750945092506001600160a01b038a811691161480159061045057506001546001600160a01b038f81169116145b156104b9575f6104618a8585610c28565b90935090507ff34508b67b67a25d12587dc11db6c27136db71fe3659d4edad5de0e726dbf25861048f61063b565b604080516001600160a01b03909216825260208201849052810185905260600160405180910390a1505b6104ce89868585856104c961063b565b610d59565b96506104d861063b565b6001600160a01b03167f3f7117900f070f33613da64255c3e8a5b791ff071197653712e53fde9c3dab3d8f8b898960405161053a94939291906001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60405180910390a2505060016003555f610552610ecf565b90505f8061055f83610ffe565b915091505f5b83518110156105f857828181518110610580576105806149b8565b602002602001015182828151811061059a5761059a6149b8565b602002602001015110156105f05760405162461bcd60e51b815260206004820152601f60248201527f494e563a20496e73756666696369656e7420746f6b656e2062616c616e63650060448201526064016100bd565b600101610565565b5050505097509750975097509792505050565b6001600160a01b03165f90815260c8602052604090205460e01b6001600160e01b03191663c84c772760e01b1490565b5f61066d7f7efbaaac9214ca1879e26b4df38e29a72561affb741bba775ce66d5bb6a82a09546001600160a01b031690565b905060016001600160a01b038216116106835750335b90565b5f6106918284614afb565b90505b92915050565b5f80808086518851146107015760405162461bcd60e51b815260206004820152602960248201527f436f6e766572743a207374656d732c20616d6f756e7473206172652064696666604482015268103632b733ba34399760b91b60648201526084016100bd565b610709614642565b5f808a516001600160401b03811115610724576107246146e0565b60405190808252806020026020018201604052801561074d578160200160208202803683370190505b5060208401528a516001600160401b0381111561076c5761076c6146e0565b604051908082528060200260200182016040528015610795578160200160208202803683370190505b5060408401528a516001600160401b038111156107b4576107b46146e0565b6040519080825280602002602001820160405280156107dd578160200160208202803683370190505b5060608401526107ec8c6113fe565b90505f6107f88d611427565b90505b8b518310801561080c57508351518a115b15610a75578b8381518110610823576108236149b8565b6020026020010151600b0b815f0151600b0b1361084c578261084481614b0e565b9350506107fb565b896108768c8581518110610862576108626149b8565b602090810291909101015186515190610686565b106108a857835151610889908b90611462565b8b848151811061089b5761089b6149b8565b6020026020010181815250505b6108e6898e8e86815181106108bf576108bf6149b8565b60200260200101518e87815181106108d9576108d96149b8565b602002602001015161146d565b846020015184815181106108fc576108fc6149b8565b6020026020010181815250506109558c848151811061091d5761091d6149b8565b6020026020010151826020015161095087602001518781518110610943576109436149b8565b60200260200101516117b2565b6117e9565b8460400151848151811061096b5761096b6149b8565b6020026020010181815250506109ae84604001518481518110610990576109906149b8565b6020026020010151855f01516020015161068690919063ffffffff16565b8451602001528a516109e0908c90859081106109cc576109cc6149b8565b602090810291909101015185515190610686565b84515260208401518051610a1d9190859081106109ff576109ff6149b8565b6020026020010151855f01516040015161068690919063ffffffff16565b8451604001528b51610a4a908e908e9086908110610a3d57610a3d6149b8565b602002602001015161181e565b84606001518481518110610a6057610a606149b8565b60209081029190910101528261084481614b0e565b8b51831015610aa8575f8b8481518110610a9157610a916149b8565b602002602001018181525050826001019250610a75565b8c6001600160a01b0316896001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8e8e885f01515f01518960200151604051610afb9493929190614b60565b60405180910390a35f6001600160a01b0316896001600160a01b03168a6001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87606001518f604051610b56929190614bcb565b60405180910390a4508251518914610bbc5760405162461bcd60e51b815260206004820152602360248201527f436f6e766572743a204e6f7420656e6f75676820746f6b656e732072656d6f7660448201526232b21760e91b60648201526084016100bd565b82518051604090910151610bd1918e91611840565b5f610c0489610bff610bf385885f01516040015161192490919063ffffffff16565b87516020015190610686565b61192f565b94516020810151604090910151909f909e50949c50939a5050505050505050505050565b5f80805f610c368787611b08565b905080851015610c4d57845f935093505050610d51565b610c5687611b20565b15610c6857845f935093505050610d51565b60015f9081526101488301602052604081208054610c8590614c03565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb190614c03565b8015610cfc5780601f10610cd357610100808354040283529160200191610cfc565b820191905f5260205f20905b815481529060010190602001808311610cdf57829003601f168201915b5050505050806020019051810190610d149190614c35565b509050610d3f610d2f8783670de0b6b3a76400006001611d64565b610d399088614c57565b83611dbf565b9450610d4b8587614c57565b93505050505b935093915050565b5f8085118015610d6857505f86115b610db45760405162461bcd60e51b815260206004820152601c60248201527f436f6e766572743a20424456206f7220616d6f756e7420697320302e0000000060448201526064016100bd565b5f610dc0888688611dd4565b90925090506002816002811115610dd957610dd9614bef565b03610e2457610de9888888611e24565b610e0f83610e0a87610e04610dfd8d6113fe565b8b90611924565b90610686565b611ecd565b8315610e1f57610e1f8385611ff1565b610e57565b610e308888888461204c565b610e4d83610e47610e408b6113fe565b8990611924565b836122a3565b610e578386611ecd565b60405163720d6a9760e11b815273e47c1d275ceb1554ce802a0755cc679294f1ae819063e41ad52e90610e989086908c9087908d908d905f90600401614c6a565b5f6040518083038186803b158015610eae575f80fd5b505af4158015610ec0573d5f803e3d5ffd5b50505050509695505050505050565b60605f610eda612488565b90505f610ee5612589565b90505f81518351610ef69190614afb565b9050806001600160401b03811115610f1057610f106146e0565b604051908082528060200260200182016040528015610f39578160200160208202803683370190505b5093505f5b8351811015610f9357838181518110610f5957610f596149b8565b6020026020010151858281518110610f7357610f736149b8565b6001600160a01b0390921660209283029190910190910152600101610f3e565b505f5b8251811015610ff757828181518110610fb157610fb16149b8565b602002602001015185828651610fc79190614afb565b81518110610fd757610fd76149b8565b6001600160a01b0390921660209283029190910190910152600101610f96565b5050505090565b6060805f83516001600160401b0381111561101b5761101b6146e0565b604051908082528060200260200182016040528015611044578160200160208202803683370190505b50925083516001600160401b03811115611060576110606146e0565b604051908082528060200260200182016040528015611089578160200160208202803683370190505b5091505f5b84518110156113f75781600101601b015f8683815181106110b1576110b16149b8565b6020908102919091018101516001600160a01b031682528101919091526040015f908120549060ca840190600181526020019081526020015f205f8784815181106110fe576110fe6149b8565b6020908102919091018101516001600160a01b031682528101919091526040015f908120546001600160801b03169060ca8501908081526020019081526020015f205f888581518110611153576111536149b8565b6020908102919091018101516001600160a01b031682528101919091526040015f9081205488516001600160801b039091169160c78701918a908790811061119d5761119d6149b8565b6020908102919091018101516001600160a01b031682528101919091526040015f20546111d391906001600160801b0316614cbb565b6111dd9190614cbb565b6001600160801b03166111f09190614afb565b848281518110611202576112026149b8565b6020908102919091010152600182015485516001600160a01b0390911690869083908110611232576112326149b8565b60200260200101516001600160a01b0316036112de578160010160080154848281518110611262576112626149b8565b602002602001018181516112769190614afb565b9052505f5b60088301548110156112dc575f818152602080850190526040902060018101546002909101546112ab9190614c57565b8583815181106112bd576112bd6149b8565b602002602001018181516112d19190614afb565b90525060010161127b565b505b81600101610101015f015f8683815181106112fb576112fb6149b8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054848281518110611335576113356149b8565b602002602001018181516113499190614afb565b9052508451859082908110611360576113606149b8565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156113ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d29190614ce2565b8382815181106113e4576113e46149b8565b602090810291909101015260010161108e565b5050915091565b6001600160a01b03165f90815260c86020526040902054600160481b900465ffffffffffff1690565b604080518082019091525f8082526020820152611443826125fb565b600b0b602082018190526114589083906126b8565b600b0b8152919050565b5f6106918284614c57565b5f805f61147a868661181e565b6001600160a01b0388165f908152602084815260408083208484526013019091529020546001600160801b03600160801b82048116955091925016808511156115055760405162461bcd60e51b815260206004820152601c60248201527f53696c6f3a2043726174652062616c616e636520746f6f206c6f772e0000000060448201526064016100bd565b808510156116de575f6115316001610e048461152b836115258c8c611924565b90611462565b906126d2565b90505f61153e8683611462565b90505f61154b8489611462565b905080865f015f8d6001600160a01b03166001600160a01b031681526020019081526020015f206013015f8781526020019081526020015f205f015f6101000a8154816001600160801b0302191690836001600160801b0316021790555081865f015f8d6001600160a01b03166001600160a01b031681526020019081526020015f206013015f8781526020019081526020015f205f0160106101000a8154816001600160801b0302191690836001600160801b0316021790555061167f83875f015f8e6001600160a01b03166001600160a01b031681526020019081526020015f206018015f8d6001600160a01b03166001600160a01b031681526020019081526020015f205f01600c9054906101000a90046001600160801b03166001600160801b03166126dd90919063ffffffff16565b6001600160a01b03808d165f90815260209889526040808220928e168252601890920190985290962080546001600160801b0397909716600160601b02600160601b600160e01b0319909716969096179095555093506117aa92505050565b8015611713576001600160a01b0388165f908152602084815260408083208584526013019091528120556117138888846126e8565b6001600160a01b038881165f90815260208581526040808320938b16835260189093019052205461175490600160601b90046001600160801b0316856126dd565b6001600160a01b03808a165f90815260209586526040808220928b168252601890920190955290932080546001600160801b0394909416600160601b02600160601b600160e01b03199094169390931790925550505b949350505050565b5f6001600160801b038211156117e5576040516306dfcc6560e41b815260806004820152602481018390526044016100bd565b5090565b5f6118146001600160801b038316611805600b86900b876127e5565b6001600160601b031690611924565b90505b9392505050565b6001600160601b031660609190911b6bffffffffffffffffffffffff19161790565b5f61187661184d846117b2565b6001600160a01b0386165f90815260c7840160205260409020546001600160801b0316906126dd565b6001600160a01b0385165f90815260c783016020526040902080546001600160801b0319166001600160801b03929092169190911790556118e96118b9836117b2565b6001600160a01b0386165f90815260c784016020526040902054600160801b90046001600160801b0316906126dd565b6001600160a01b039094165f90815260c79091016020526040902080546001600160801b03948516600160801b029416939093179092555050565b5f6106918284614cf9565b5f8080835f03611945575f809250925050611b01565b60c481015460c582015461195e919061152b9087611924565b6001600160a01b0386165f9081526020839052604090205490935083111561199b576001600160a01b0385165f9081526020829052604090205492505b60c48101546119aa9085611462565b60c48201556001600160a01b0385165f908152602082905260409020600101546119d49085611462565b6001600160a01b0386165f9081526020839052604090206001015560c58101546119fe9084611462565b60c58201556001600160a01b0385165f90815260208290526040902054611a259084611462565b6001600160a01b0386165f908152602083905260409020818155602c01541115611aaa576001600160a01b0385165f9081526020829052604081208054602c90910154611a7191611462565b6001600160a01b0387165f9081526020849052604090208054602c9091015560ed830154909150611aa29082611462565b60ed83015591505b6001600160a01b0385167fb2d61db64b8ad7535308d2111c78934bc32baf9b7cd3a2e58cba25730003cd58611ade86614d10565b611ae786614d10565b6040805192835260208301919091520160405180910390a2505b9250929050565b5f80611b13846127f0565b90506117aa848285612807565b5f805f805f611b90866001600160a01b0316639d63848a6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611b63573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b8a9190810190614d2a565b5f61282f565b92509250925080611be35760405162461bcd60e51b815260206004820152601a60248201527f436f6e766572743a20555344204f7261636c65206661696c656400000000000060448201526064016100bd565b60fd8401548351849084908110611bfc57611bfc6149b8565b6020026020010151620f4240611c129190614cf9565b611c1c9190614dc7565b838381518110611c2e57611c2e6149b8565b6020026020010181815250505f611c4487612af3565b90505f876001600160a01b03166310dd08306040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c82573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ca99190810190614e8a565b90505f815f01516001600160a01b03166380be8c9884878986602001516040518563ffffffff1660e01b8152600401611ce59493929190614ebb565b602060405180830381865afa158015611d00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d249190614ce2565b905080838681518110611d3957611d396149b8565b60200260200101511015611d565750600198975050505050505050565b505f98975050505050505050565b5f80611d71868686612c26565b90506001836002811115611d8757611d87614bef565b148015611da357505f8480611d9e57611d9e614db3565b868809115b15611db657611db3600182614afb565b90505b95945050505050565b5f818311611dcd5781610691565b5090919050565b5f805f611de086611427565b9050611e0d611dff611dfa611df588886126d2565b612cee565b612d1a565b6020830151600b0b906127e5565b9250611e198382612d4e565b915050935093915050565b5f611e5a611e31846117b2565b6001600160a01b0386165f90815260c7840160205260409020546001600160801b031690612daf565b6001600160a01b0385165f90815260c783016020526040902080546001600160801b0319166001600160801b03929092169190911790556118e9611e9d836117b2565b6001600160a01b0386165f90815260c784016020526040902054600160801b90046001600160801b031690612daf565b60c5545f9081908103611ef057611ee98364e8d4a51000611924565b9050611f0c565b60c482015460c5830154611f09919061152b9086611924565b90505b60c4820154611f1b9084610686565b60c48301556001600160a01b0384165f90815260208390526040902060010154611f459084610686565b6001600160a01b0385165f9081526020849052604090206001015560c5820154611f6f9082610686565b60c58301556001600160a01b0384165f90815260208390526040902054611f969082610686565b6001600160a01b0385165f818152602085815260409182902093909355805186815292830184905290917fb2d61db64b8ad7535308d2111c78934bc32baf9b7cd3a2e58cba25730003cd58910160405180910390a250505050565b6001600160a01b0382165f908152602081905260408120602c0154612017908390614afb565b6001600160a01b0384165f908152602083905260409020602c015560ed810154612042908390614afb565b60ed909101555050565b5f8082600281111561206057612060614bef565b141580156120805750600182600281111561207d5761207d614bef565b14155b156120c75760405162461bcd60e51b8152602060048201526017602482015276696e76616c6964206765726d696e6174696f6e5369646560481b60448201526064016100bd565b6120d0846117b2565b60ca82015f8460028111156120e7576120e7614bef565b60028111156120f8576120f8614bef565b815260208082019290925260409081015f9081206001600160a01b038a168252909252812080549091906121369084906001600160801b0316614cbb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550612163836117b2565b60ca82015f84600281111561217a5761217a614bef565b600281111561218b5761218b614bef565b815260208082019290925260409081015f9081206001600160a01b038a168252909252902080546010906121d0908490600160801b90046001600160801b0316614cbb565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550846001600160a01b03167f99f70d4286db852579c7e4c4e3d46125005d363d480494fec6524240ade1e00e83600281111561223157612231614bef565b612239612dba565b600281111561224a5761224a614bef565b1461226b5760d48301546122669060019063ffffffff16614ef9565b612277565b60d483015463ffffffff165b6040805163ffffffff909216825260208201889052810186905260600160405180910390a25050505050565b6001600160a01b0383165f9081526020819052604081208390601a01828460028111156122d2576122d2614bef565b60028111156122e3576122e3614bef565b815260208101919091526040015f908120805490919061230d9084906001600160801b0316614cbb565b82546001600160801b039182166101009390930a92830291909202199091161790555060d481015463ffffffff1682600281111561234d5761234d614bef565b612355612dba565b600281111561236657612366614bef565b036123a55763ffffffff81165f90815260cb83016020526040812080546001600160801b038716929061239a908490614afb565b909155506123ee9050565b6001600160801b03841660cb83015f6123bf600185614ef9565b63ffffffff1663ffffffff1681526020019081526020015f205f015f8282546123e89190614afb565b90915550505b846001600160a01b03167f9c0c70ad39ba6959d6008b9bc651f15ce23613cc1c5ebb4c6ffba0e53a1ea705856001600160801b031685604051612432929190614f16565b60405180910390a26040805163ffffffff831681526001600160801b03861660208201527f3dd97efd4911891b98b28287922dd7351872382b548b549517e183ee6544c743910160405180910390a15050505050565b60c9546060905f9081816001600160401b038111156124a9576124a96146e0565b6040519080825280602002602001820160405280156124d2578160200160208202803683370190505b5093505f5b8281101561257f5760c984018054829081106124f5576124f56149b8565b5f91825260209091200154600160a01b900460ff16156125775760c98401805482908110612525576125256149b8565b5f918252602090912001546001600160a01b0316858361254481614b0e565b945081518110612556576125566149b8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016124d7565b5080845250505090565b60605f612594612dd2565b90505f5b81518110156125f5576125c38282815181106125b6576125b66149b8565b6020026020010151612ec9565b8282815181106125d5576125d56149b8565b6001600160a01b0390921660209283029190910190910152600101612598565b50919050565b6001600160a01b0381165f90815260c86020526040812054819061268a906126509061263390600160781b900463ffffffff16612f59565b60d48401546126479063ffffffff16612f59565b600b0b906127e5565b6001600160a01b0385165f90815260c88401602052604090205461268190600160201b900464ffffffffff16612f59565b600b0b90612f66565b6001600160a01b0384165f90815260c8830160205260409020546118179190600160981b9004600b0b614f3a565b5f610691826126c685612f71565b64ffffffffff166127e5565b5f6106918284614dc7565b5f6106918284614f67565b6001600160a01b038381165f908152602081815260408083209386168352601490930181528282208483526001808201909252928220548354929392909183916127329190614c57565b81548110612742576127426149b8565b905f5260205f200154825f01828154811061275f5761275f6149b8565b905f5260205f20018190555080826001015f845f018481548110612785576127856149b8565b905f5260205f20015481526020019081526020015f20819055505f19826001015f8681526020019081526020015f2081905550815f018054806127ca576127ca614f87565b600190038181905f5260205f20015f90559055505050505050565b5f6106918284614f9b565b5f60016127fc83611427565b516106949190614f9b565b5f80612812856125fb565b9050611db683612826600b84900b876127e5565b600b0b90611924565b60605f80806001915085516001600160401b03811115612851576128516146e0565b60405190808252806020026020018201604052801561287a578160200160208202803683370190505b5060018201549094505f1993505f906001600160a01b0316815b885181101561296757816001600160a01b03168982815181106128b9576128b96149b8565b60200260200101516001600160a01b0316036128d75780955061295f565b60088982815181106128eb576128eb6149b8565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561292e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129529190614fc8565b60ff161161295f57600192505b600101612894565b505f5b8851811015612aa457816001600160a01b031689828151811061298f5761298f6149b8565b60200260200101516001600160a01b0316036129ea5782156129d45764e8d4a510008782815181106129c3576129c36149b8565b602002602001018181525050612a9c565b620f42408782815181106129c3576129c36149b8565b8215612a3657612a13898281518110612a0557612a056149b8565b602002602001015189613074565b878281518110612a2557612a256149b8565b602002602001018181525050612a78565b612a59898281518110612a4b57612a4b6149b8565b6020026020010151896130e4565b878281518110612a6b57612a6b6149b8565b6020026020010181815250505b868181518110612a8a57612a8a6149b8565b60200260200101515f03612a9c575f94505b60010161296a565b505f198503612ae95760405162461bcd60e51b81526020600482015260116024820152702132b0b7103737ba1034b7102bb2b6361760791b60448201526064016100bd565b5050509250925092565b60605f826001600160a01b031663a1d89d966040518163ffffffff1660e01b81526004015f60405180830381865afa158015612b31573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b589190810190614fe8565b90505f815f81518110612b6d57612b6d6149b8565b60200260200101515f01519050806001600160a01b0316636de13cba85845f81518110612b9c57612b9c6149b8565b6020026020010151602001516040518363ffffffff1660e01b8152600401612bc5929190615091565b5f60405180830381865afa925050508015612c0157506040513d5f823e601f3d908101601f19168201604052612bfe91908101906150b4565b60015b6117aa57604080515f80825260208201909252905b50949350505050565b5050919050565b5f80805f19858709858702925082811083820303915050805f03612c5d57838281612c5357612c53614db3565b0492505050611817565b838110612c8757604051631dcf306360e21b815260048101829052602481018590526044016100bd565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f6001600160ff1b038211156117e55760405163123baf0360e11b8152600481018390526024016100bd565b80600b81900b8114612d495760405163327269a760e01b815260606004820152602481018390526044016100bd565b919050565b5f815f0151600b0b83600b0b1215612d6857506002610694565b8160200151600b0b83600b0b03612d9557612d81613152565b612d8c576001612d8e565b5f5b9050610694565b612d9d613152565b612da7575f612d8e565b506001610694565b5f6106918284614cbb565b5f612dc3613152565b612dcd5750600190565b505f90565b60c9546060905f9081816001600160401b03811115612df357612df36146e0565b604051908082528060200260200182016040528015612e1c578160200160208202803683370190505b5093505f5b8281101561257f5760c98401805482908110612e3f57612e3f6149b8565b5f91825260209091200154600160b81b900460ff1615612ec15760c98401805482908110612e6f57612e6f6149b8565b5f918252602090912001546001600160a01b03168583612e8e81614b0e565b945081518110612ea057612ea06149b8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101612e21565b5f80826001600160a01b0316639d63848a6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612f06573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612f2d9190810190614d2a565b905080612f398261316e565b81518110612f4957612f496149b8565b6020026020010151915050919050565b5f610694611dfa83612cee565b5f6106918284615134565b60d4546001600160a01b0382165f90815260c860205260408120549091829163ffffffff918216600160781b9091049091161015612fd8576001600160a01b0383165f90815260c882016020526040902054600160201b900464ffffffffff1691506125f5565b6001600160a01b0383165f90815260c88201602052604081206001015460040b908112613039576001600160a01b0384165f90815260c883016020526040902054613032908290600160201b900464ffffffffff16615153565b9250612c1f565b61304281615171565b6001600160a01b0385165f90815260c8840160205260409020546117aa9190600160201b900464ffffffffff16615193565b5f61069183846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130d99190614fc8565b60ff168460016131ff565b5f61069183846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613125573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131499190614fc8565b60ff1684613824565b60d4545f9081906131689063ffffffff16613831565b91505090565b5f805b82518210156131bf5782828151811061318c5761318c6149b8565b602090810291909101015160018201546001600160a01b039081169116146131b45750919050565b816001019150613171565b60405162461bcd60e51b81526020600482015260156024820152742737b716a132b0b7103737ba1034b7102bb2b6361760591b60448201526064016100bd565b6001600160a01b038481165f908152602260209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b0319169082015260018301805492938493849392606084019161327890614c03565b80601f01602080910402602001604051908101604052809291908181526020018280546132a490614c03565b80156132ef5780601f106132c6576101008083540402835291602001916132ef565b820191905f5260205f20905b8154815290600101906020018083116132d257829003601f168201915b5050509190925250505060408101519091506001600160f81b03199081160161334257613339815f015182606001518060200190518101906133319190614ce2565b888888613860565b925050506117aa565b60408101516001600160f81b031916607f60f91b0161370b575f815f01516001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561339b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133bf91906151b1565b9050876001600160a01b0316816001600160a01b03160361344057815f01516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613419573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061343d91906151b1565b90505b6134d8861561344f5786613453565b6103845b83518a848b1561346d576134688c600a6152a4565b613886565b8c6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134cd9190614fc8565b61346890600a6152af565b6001600160a01b038281165f9081526022860160209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b031916908201526001830180549498509193909291606084019161355490614c03565b80601f016020809104026020016040519081016040528092919081815260200182805461358090614c03565b80156135cb5780601f106135a2576101008083540402835291602001916135cb565b820191905f5260205f20905b8154815290600101906020018083116135ae57829003601f168201915b50505050508152505090505f826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613613573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136379190614fc8565b60ff1690505f613671835f0151846060015180602001905181019061365c9190614ce2565b8c15613668578461366a565b8c5b8c5f613860565b905089156136fd5787156136ab578661368b8b600a6152a4565b61369a9064e8d4a51000614cf9565b6136a49190614dc7565b96506136d1565b866136b78b600a6152a4565b6136c490620f4240614cf9565b6136ce9190614dc7565b96505b6136dc82600a6152a4565b6136e68289614cf9565b6136f09190614dc7565b96505050505050506117aa565b620f42406136e68289614cf9565b80516001600160a01b0316613724575f925050506117aa565b60608101518415613758578160600151856040516020016137469291906152d4565b60405160208183030381529060405290505b5f80835f01516001600160a01b031684602001518a8a86604051602401613781939291906152f1565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516137bf919061530f565b5f60405180830381855afa9150503d805f81146137f7576040519150601f19603f3d011682016040523d82523d5f602084013e6137fc565b606091505b509150915081613813575f955050505050506117aa565b602001519998505050505050505050565b5f6118148484845f6131ff565b5f61384763ffffffff80841690600290613a3816565b63ffffffff1615613859576001610694565b5f92915050565b5f8083116138795761387486868685613a43565b611db3565b611db38686868686613bc4565b5f805f6138938789613eba565b91509150816138a6575f92505050611db6565b6138b28185888861407e565b92505f866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139159190614fc8565b60ff1690505f866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061397b9190614fc8565b60ff1690505f61398b828461531a565b9050805f036139c25761399f83600a6152a4565b6139ac620f424088614cf9565b6139b69190614dc7565b95505050505050611db6565b5f8113156139e6576139d581600a6152a4565b6139df9087614cf9565b9550613a07565b6139ef81614d10565b6139fa90600a6152a4565b613a049087614dc7565b95505b613a1283600a6152a4565b613a1f620f424088614cf9565b613a299190614dc7565b9b9a5050505050505050505050565b5f6106918284615339565b5f808590505f816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613aa3575060408051601f3d908101601f19168201909252613aa091810190614fc8565b60015b613ab1575f925050506117aa565b9050816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015613b0d575060408051601f3d908101601f19168201909252613b0a91810190615371565b60015b613b1b575f925050506117aa565b846001600160501b03165f03613b3a575f9750505050505050506117aa565b613b468285428e614182565b15613b5a575f9750505050505050506117aa565b8915613b97578815613b7457613b718a6006614afb565b99505b613b9084613b8560ff89168d614afb565b61152b90600a6152a4565b9750613bb5565b613bb2613ba587600a6152af565b61152b86620f4240611924565b97505b50505050505050949350505050565b5f80866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613c20575060408051601f3d908101601f19168201909252613c1d91810190614fc8565b60015b613c2d575f915050611db6565b9050866001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015613c89575060408051601f3d908101601f19168201909252613c8691810190615371565b60015b613c96575f915050611db6565b846001600160501b03165f03613cb4575f9650505050505050611db6565b613cc08285428e614182565b15613cd3575f9650505050505050611db6565b613cf460405180606001604052805f81526020015f81526020015f81525090565b613cfe428b611462565b60208201528815613d1757613d148b6006614afb565b9a505b80602001518311613d62578a15613d4757613d3985613b8560ff8a168e614afb565b975050505050505050611db6565b613d39613d5588600a6152af565b61152b87620f4240611924565b4260408201525b8060200151831115613e1e578a15613da15784613d8960ff89168d614afb565b613d9490600a6152a4565b613d9e9190614dc7565b94505b613dcd613dc5613dbe85846040015161146290919063ffffffff16565b8790611924565b825190610686565b8152613dda6001876153bd565b604082018490529550613ded8d876141ce565b8094508196505050613e05838683604001518f614182565b15613e19575f975050505050505050611db6565b613d69565b8a15613e4a5784613e3260ff89168d614afb565b613e3d90600a6152a4565b613e479190614dc7565b94505b613e6b613dc5613dbe8360200151846040015161146290919063ffffffff16565b81528a15613e86578051613e7f908b6126d2565b9750613eaa565b613ea78a61152b613e988a600a6152af565b845161152b90620f4240611924565b97505b5050505050505095945050505050565b5f808263ffffffff165f03613ef65760405162461bcd60e51b8152602060048201526002602482015261042560f41b60448201526064016100bd565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110613f2957613f296149b8565b602002602001019063ffffffff16908163ffffffff16815250505f81600181518110613f5757613f576149b8565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526001600160a01b0386169063883bdbfd90613f989084906004016153dd565b5f60405180830381865afa925050508015613fd457506040513d5f823e601f3d908101601f19168201604052613fd19190810190615496565b60015b15614076575f825f81518110613fec57613fec6149b8565b602002602001015183600181518110614007576140076149b8565b60200260200101516140199190615559565b905061403661402e63ffffffff891683615586565b60060b614259565b94505f8160060b12801561405b575061405563ffffffff8816826155c2565b60060b15155b1561406e578461406a816155e3565b9550505b600195505050505b509250929050565b5f8061408986614288565b90506001600160801b036001600160a01b0382161161410e575f6140b66001600160a01b03831680614cf9565b9050836001600160a01b0316856001600160a01b0316106140ee576140e9600160c01b876001600160801b031683614598565b614106565b61410681876001600160801b0316600160c01b614598565b925050612c16565b5f6141276001600160a01b03831680600160401b614598565b9050836001600160a01b0316856001600160a01b03161061415f5761415a600160801b876001600160801b031683614598565b614177565b61417781876001600160801b0316600160801b614598565b979650505050505050565b5f84158061418f57508285115b1561419c575060016117aa565b816141a78487611462565b11156141b5575060016117aa565b5f84136141c4575060016117aa565b505f949350505050565b604051639a6fc8f560e01b81526001600160501b03821660048201525f9081906001600160a01b03851690639a6fc8f59060240160a060405180830381865afa92505050801561423b575060408051601f3d908101601f1916820190925261423891810190615371565b60015b61424a57505f1990505f611b01565b50919450909250611b01915050565b80600281900b8114612d495760405163327269a760e01b815260186004820152602481018390526044016100bd565b5f805f8360020b1261429d578260020b6142a4565b8260020b5f035b9050620d89e88111156142ca576040516315e4079d60e11b815260040160405180910390fd5b5f816001165f036142df57600160801b6142f1565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b03169050600282161561431b576ffff97272373d413259a46990580e213a0260801c5b600482161561433a576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614359576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614378576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614397576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156143b6576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156143d5576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156143f5576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615614415576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615614435576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614455576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614475576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614495576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156144b5576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156144d5576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156144f6576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615614516576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615614535576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614552576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561457157805f198161456d5761456d614db3565b0490505b600160201b810615614584576001614586565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f036145cc575f84116145c1575f80fd5b508290049050611817565b8084116145d7575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b604051806080016040528061466e60405180606001604052805f81526020015f81526020015f81525090565b81526020016060815260200160608152602001606081525090565b6001600160a01b038116811461469d575f80fd5b50565b5f8083601f8401126146b0575f80fd5b5081356001600160401b038111156146c6575f80fd5b6020830191508360208260051b8501011115611b01575f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715614716576147166146e0565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614744576147446146e0565b604052919050565b5f6001600160401b03821115614764576147646146e0565b5060051b60200190565b5f6001600160401b03821115614786576147866146e0565b50601f01601f191660200190565b5f82601f8301126147a3575f80fd5b81356147b66147b18261476e565b61471c565b8181528460208386010111156147ca575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60a0888a0312156147fc575f80fd5b6148068835614689565b873596506001600160401b0360208901351115614821575f80fd5b6148318960208a01358a016146a0565b90965094506001600160401b036040890135111561484d575f80fd5b61485d8960408a01358a016146a0565b909450925061486f6060890135614689565b606088013591506001600160401b036080890135111561488d575f80fd5b6080880135880189601f8201126148a2575f80fd5b6148af6147b1823561474c565b81358082526020808301929160051b8401018c10156148cc575f80fd5b602083015b6020843560051b8501018110156149a5576001600160401b03813511156148f6575f80fd5b6060813585018e03601f1901121561490c575f80fd5b6149146146f4565b6149246020833587010135614689565b81358501602081013582526001600160401b036040909101351115614947575f80fd5b61495d8e83358701604081013501602001614794565b60208201526001600160401b036060833587010135111561497c575f80fd5b6149928e83358701606081013501602001614794565b60408201528352602092830192016148d1565b5080935050505092959891949750929550565b634e487b7160e01b5f52603260045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f60c0820160018060a01b03808a1684526020818a16818601526040896040870152606089606088015288608088015260c060a088015284885180875260e08901915060e08160051b8a01019650848a015f5b82811015614aa75760df198b8a030184528151888151168a528781015186898c0152614a7b878c01826149cc565b918801518b83038c8a0152919050614a9381836149cc565b9a5050509286019290860190600101614a4d565b50969f9e505050505050505050505050505050565b5f805f60608486031215614ace575f80fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561069457610694614ae7565b5f60018201614b1f57614b1f614ae7565b5060010190565b5f815180845260208085019450602084015f5b83811015614b5557815187529582019590820190600101614b39565b509495945050505050565b608080825285519082018190525f9060209060a0840190828901845b82811015614b9b578151600b0b84529284019290840190600101614b7c565b5050508381036020850152614bb08188614b26565b91505084604084015282810360608401526141778185614b26565b604081525f614bdd6040830185614b26565b8281036020840152611db68185614b26565b634e487b7160e01b5f52602160045260245ffd5b600181811c90821680614c1757607f821691505b6020821081036125f557634e487b7160e01b5f52602260045260245ffd5b5f8060408385031215614c46575f80fd5b505080516020909101519092909150565b8181038181111561069457610694614ae7565b6001600160a01b03878116825286166020820152600b85900b6040820152606081018490526080810183905260c0810160028310614caa57614caa614bef565b8260a0830152979650505050505050565b6001600160801b03818116838216019080821115614cdb57614cdb614ae7565b5092915050565b5f60208284031215614cf2575f80fd5b5051919050565b808202811582820484141761069457610694614ae7565b5f600160ff1b8201614d2457614d24614ae7565b505f0390565b5f6020808385031215614d3b575f80fd5b82516001600160401b03811115614d50575f80fd5b8301601f81018513614d60575f80fd5b8051614d6e6147b18261474c565b81815260059190911b82018301908381019087831115614d8c575f80fd5b928401925b82841015614177578351614da481614689565b82529284019290840190614d91565b634e487b7160e01b5f52601260045260245ffd5b5f82614dd557614dd5614db3565b500490565b5f60408284031215614dea575f80fd5b604051604081016001600160401b038282108183111715614e0d57614e0d6146e0565b8160405282935084519150614e2182614689565b818352602091508185015181811115614e38575f80fd5b85019050601f81018613614e4a575f80fd5b8051614e586147b18261476e565b8181528784838501011115614e6b575f80fd5b818484018583015e5f8483830101528084860152505050505092915050565b5f60208284031215614e9a575f80fd5b81516001600160401b03811115614eaf575f80fd5b6117aa84828501614dda565b608081525f614ecd6080830187614b26565b8560208401528281036040840152614ee58186614b26565b9050828103606084015261417781856149cc565b63ffffffff828116828216039080821115614cdb57614cdb614ae7565b8281526040810160038310614f2d57614f2d614bef565b8260208301529392505050565b600b81810b9083900b0160016001605f1b03811360016001605f1b03198212171561069457610694614ae7565b6001600160801b03828116828216039080821115614cdb57614cdb614ae7565b634e487b7160e01b5f52603160045260245ffd5b600b82810b9082900b0360016001605f1b0319811260016001605f1b038213171561069457610694614ae7565b5f60208284031215614fd8575f80fd5b815160ff81168114611817575f80fd5b5f6020808385031215614ff9575f80fd5b82516001600160401b038082111561500f575f80fd5b818501915085601f830112615022575f80fd5b81516150306147b18261474c565b81815260059190911b8301840190848101908883111561504e575f80fd5b8585015b8381101561508457805185811115615068575f80fd5b6150768b89838a0101614dda565b845250918601918601615052565b5098975050505050505050565b6001600160a01b03831681526040602082018190525f90611814908301846149cc565b5f60208083850312156150c5575f80fd5b82516001600160401b038111156150da575f80fd5b8301601f810185136150ea575f80fd5b80516150f86147b18261474c565b81815260059190911b82018301908381019087831115615116575f80fd5b928401925b828410156141775783518252928401929084019061511b565b5f82600b0b82600b0b0280600b0b9150808214614cdb57614cdb614ae7565b64ffffffffff828116828216039080821115614cdb57614cdb614ae7565b5f8160040b647fffffffff19810361518b5761518b614ae7565b5f0392915050565b64ffffffffff818116838216019080821115614cdb57614cdb614ae7565b5f602082840312156151c1575f80fd5b815161181781614689565b600181815b8085111561407657815f19048211156151ec576151ec614ae7565b808516156151f957918102915b93841c93908002906151d1565b5f8261521457506001610694565b8161522057505f610694565b816001811461523657600281146152405761525c565b6001915050610694565b60ff84111561525157615251614ae7565b50506001821b610694565b5060208310610133831016604e8410600b841016171561527f575081810a610694565b61528983836151cc565b805f190482111561529c5761529c614ae7565b029392505050565b5f6106918383615206565b5f61069160ff841683615206565b5f81518060208401855e5f93019283525090919050565b5f6152df82856152bd565b92151560f81b83525050600101919050565b838152826020820152606060408201525f611db660608301846149cc565b5f61069182846152bd565b8181035f831280158383131683831282161715614cdb57614cdb614ae7565b5f63ffffffff8084168061534f5761534f614db3565b92169190910692915050565b80516001600160501b0381168114612d49575f80fd5b5f805f805f60a08688031215615385575f80fd5b61538e8661535b565b94506020860151935060408601519250606086015191506153b16080870161535b565b90509295509295909350565b6001600160501b03828116828216039080821115614cdb57614cdb614ae7565b602080825282518282018190525f9190848201906040850190845b8181101561541a57835163ffffffff16835292840192918401916001016153f8565b50909695505050505050565b5f82601f830112615435575f80fd5b815160206154456147b18361474c565b8083825260208201915060208460051b870101935086841115615466575f80fd5b602086015b8481101561548b57805161547e81614689565b835291830191830161546b565b509695505050505050565b5f80604083850312156154a7575f80fd5b82516001600160401b03808211156154bd575f80fd5b818501915085601f8301126154d0575f80fd5b815160206154e06147b18361474c565b82815260059290921b840181019181810190898411156154fe575f80fd5b948201945b8386101561552a5785518060060b811461551b575f80fd5b82529482019490820190615503565b91880151919650909350505080821115615542575f80fd5b5061554f85828601615426565b9150509250929050565b600682810b9082900b03667fffffffffffff198112667fffffffffffff8213171561069457610694614ae7565b5f8160060b8360060b8061559c5761559c614db3565b667fffffffffffff1982145f19821416156155b9576155b9614ae7565b90059392505050565b5f8260060b806155d4576155d4614db3565b808360060b0791505092915050565b5f8160020b627fffff1981036155fb576155fb614ae7565b5f19019291505056fea26469706673582212209aa00aa12ff70b8e7289cd393647ac9a224590f7b3ebe7da5f021958bd138e0264736f6c63430008190033