0 txs
691 calls
constructor
No constructor.
functions
convert
payablefunction convert(bytes convertData, int96[] stems, uint256[] amounts) payable returns (int96 toStem, uint256 fromAmount, uint256 toAmount, uint256 fromBdv, uint256 toBdv)
convertWithStalkSlippage
payablefunction convertWithStalkSlippage(bytes convertData, int96[] stems, uint256[] amounts, int256 grownStalkSlippage) 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, uint256 fromBdv, uint256 toBdv)
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)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
errors
SafeCastOverflowedIntDowncast
error SafeCastOverflowedIntDowncast(uint8 bits, int256 value)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
SafeCastOverflowedUintToInt
error SafeCastOverflowedUintToInt(uint256 value)
creation bytecode
0x6080604052348015600f57600080fd5b5061335b8061001f6000396000f3fe6080604052600436106100295760003560e01c8063b362a6e81461002e578063c0a6405b14610072575b600080fd5b61004161003c36600461298a565b610085565b60408051600b9690960b86526020860194909452928401919091526060830152608082015260a00160405180910390f35b610041610080366004612a17565b610274565b600080808080808060010154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd916004808201926020929091908290030181865afa1580156100d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fc9190612aac565b6003549091506001190161012b5760405162461bcd60e51b815260040161012290612ac5565b60405180910390fd5b600260035561013e8a8a8a8a600061045b565b95509550955095509550600160035580610156600090565b60010154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd916004808201926020929091908290030181865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190612aac565b146101e25760405162461bcd60e51b815260040161012290612afc565b5060006101ed610a14565b90506000806101fb83610b48565b9150915060005b83518110156102655782818151811061021d5761021d612b29565b602002602001015182828151811061023757610237612b29565b6020026020010151101561025d5760405162461bcd60e51b815260040161012290612b3f565b600101610202565b50505050945094509450945094565b600080808080808060010154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd916004808201926020929091908290030181865afa1580156102c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102eb9190612aac565b600354909150600119016103115760405162461bcd60e51b815260040161012290612ac5565b60026003556103238b8b8b8b8b61045b565b9550955095509550955060016003558061033b600090565b60010154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd916004808201926020929091908290030181865afa158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa9190612aac565b146103c75760405162461bcd60e51b815260040161012290612afc565b5060006103d2610a14565b90506000806103e083610b48565b9150915060005b835181101561044a5782818151811061040257610402612b29565b602002602001015182828151811061041c5761041c612b29565b602002602001015110156104425760405162461bcd60e51b815260040161012290612b3f565b6001016103e7565b505050509550955095509550959050565b60008060008060008073fc537aa415b89def06d97e23c04baf4039e8bbcb63fab1aacf8c8c6040518363ffffffff1660e01b815260040161049d929190612b9f565b600060405180830381865af41580156104ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e29190810190612cab565b9050600073b3626b534ff81442579913de1f31c51a045b52616395d3b4de8d8d6040518363ffffffff1660e01b815260040161051f929190612b9f565b60e060405180830381865af415801561053c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105609190612d91565b60808101519091506001600160a01b031661058c5761057d610f5a565b6001600160a01b031660808201525b8060a001511561061557895160011480156105a8575088516001145b6106155760405162461bcd60e51b815260206004820152603860248201527f436f6e766572743a204465637265617365424456206f6e6c7920737570706f726044820152773a39903ab83230ba34b7339037b732903232b837b9b4ba1760411b6064820152608401610122565b60008160400151116106695760405162461bcd60e51b815260206004820152601a60248201527f436f6e766572743a2046726f6d20616d6f756e7420697320302e0000000000006044820152606401610122565b60808101516020820151604051633594e5ff60e11b81526001600160a01b03928316600482015291166024820152739f327f1f6810aaf5a4ab0704b62b4ed6bb0ea33490636b29cbfe9060440160006040518083038186803b1580156106ce57600080fd5b505af41580156106e2573d6000803e3d6000fd5b5050505080600001516001600160a01b031681602001516001600160a01b0316146107825760808101518151604051633594e5ff60e11b81526001600160a01b03928316600482015291166024820152739f327f1f6810aaf5a4ab0704b62b4ed6bb0ea33490636b29cbfe9060440160006040518083038186803b15801561076957600080fd5b505af415801561077d573d6000803e3d6000fd5b505050505b600061079d82602001518c8c85604001518660800151610fa6565b6101008601839052918552835160608501519197509192506107bf9190611564565b9350848411806107d057508160a001515b6107da57846107dc565b835b935073fc537aa415b89def06d97e23c04baf4039e8bbcb634b88fa99848f8f866020015187600001518a6040518763ffffffff1660e01b815260040161082796959493929190612e76565b602060405180830381865af4158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190612aac565b835260c0820151151560010361088a578151835161088791908661168b565b83525b610100830151835160408051637b6fe78960e11b815285516001600160a01b039081166004830152602087015181166024830152918601516044820152606086015160648201526080860151909116608482015260a0850151151560a482015260c0850151151560c482015260e4810187905261010481019290925261012482015261014481018a9052610164810182905273b3626b534ff81442579913de1f31c51a045b52619063f6dfcf1290610184016040805180830381865af4158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097c9190612f7a565b9084526040838101516060808601516080808801516020808a01518a5188516001600160a01b039283168152908216928101929092529681018690529384018390529083018b905260a083018a9052949c50919a509098509116907f1d70b0ff9f689b827aeb5bee551ae4004c61b5877163c7a19656dbbdef836e9c9060c00160405180910390a25050509550955095509550959050565b60606000610a206116d3565b90506000610a2c6117d8565b9050600081518351610a3e9190612fc0565b9050806001600160401b03811115610a5857610a5861280f565b604051908082528060200260200182016040528015610a81578160200160208202803683370190505b50935060005b8351811015610adc57838181518110610aa257610aa2612b29565b6020026020010151858281518110610abc57610abc612b29565b6001600160a01b0390921660209283029190910190910152600101610a87565b5060005b8251811015610b4157828181518110610afb57610afb612b29565b602002602001015185828651610b119190612fc0565b81518110610b2157610b21612b29565b6001600160a01b0390921660209283029190910190910152600101610ae0565b5050505090565b606080600083516001600160401b03811115610b6657610b6661280f565b604051908082528060200260200182016040528015610b8f578160200160208202803683370190505b50925083516001600160401b03811115610bab57610bab61280f565b604051908082528060200260200182016040528015610bd4578160200160208202803683370190505b50915060005b8451811015610f535781600101601b016000868381518110610bfe57610bfe612b29565b6020908102919091018101516001600160a01b031682528101919091526040016000908120549060ca840190600181526020019081526020016000206000878481518110610c4e57610c4e612b29565b6020908102919091018101516001600160a01b031682528101919091526040016000908120546001600160801b03169060ca8501908081526020019081526020016000206000888581518110610ca657610ca6612b29565b6020908102919091018101516001600160a01b0316825281019190915260400160009081205488516001600160801b039091169160c78701918a9087908110610cf157610cf1612b29565b6020908102919091018101516001600160a01b0316825281019190915260400160002054610d2891906001600160801b0316612fe9565b610d329190612fe9565b6001600160801b0316610d459190612fc0565b848281518110610d5757610d57612b29565b6020908102919091010152600182015485516001600160a01b0390911690869083908110610d8757610d87612b29565b60200260200101516001600160a01b031603610e35578160010160080154848281518110610db757610db7612b29565b60200260200101818151610dcb9190612fc0565b90525060005b6008830154811015610e3357600081815260208085019052604090206001810154600290910154610e029190613010565b858381518110610e1457610e14612b29565b60200260200101818151610e289190612fc0565b905250600101610dd1565b505b81600101610101016000016000868381518110610e5457610e54612b29565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054848281518110610e8f57610e8f612b29565b60200260200101818151610ea39190612fc0565b9052508451859082908110610eba57610eba612b29565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2e9190612aac565b838281518110610f4057610f40612b29565b6020908102919091010152600101610bda565b5050915091565b6000610f8d7f7efbaaac9214ca1879e26b4df38e29a72561affb741bba775ce66d5bb6a82a09546001600160a01b031690565b905060016001600160a01b03821611610fa35750335b90565b6000806000855187511461100e5760405162461bcd60e51b815260206004820152602960248201527f436f6e766572743a207374656d732c20616d6f756e7473206172652064696666604482015268103632b733ba34399760b91b6064820152608401610122565b611016612784565b60008089516001600160401b038111156110325761103261280f565b60405190808252806020026020018201604052801561105b578160200160208202803683370190505b50602084015289516001600160401b0381111561107a5761107a61280f565b6040519080825280602002602001820160405280156110a3578160200160208202803683370190505b50604084015289516001600160401b038111156110c2576110c261280f565b6040519080825280602002602001820160405280156110eb578160200160208202803683370190505b50606084015261111f8b6001600160a01b0316600090815260c86020526040902054600160481b900465ffffffffffff1690565b9050600061112c8c61184c565b90505b8a5183108015611140575083515189115b156113ac578a838151811061115757611157612b29565b6020026020010151600b0b8160000151600b0b13611181578261117981613023565b93505061112f565b886111ab8b858151811061119757611197612b29565b602090810291909101015186515190611888565b106111dd578351516111be908a9061189d565b8a84815181106111d0576111d0612b29565b6020026020010181815250505b61121b888d8d86815181106111f4576111f4612b29565b60200260200101518d878151811061120e5761120e612b29565b60200260200101516118a9565b8460200151848151811061123157611231612b29565b60200260200101818152505061128a8b848151811061125257611252612b29565b602002602001015182602001516112858760200151878151811061127857611278612b29565b6020026020010151611c11565b611c49565b846040015184815181106112a0576112a0612b29565b6020026020010181815250506112e4846040015184815181106112c5576112c5612b29565b602002602001015185600001516020015161188890919063ffffffff16565b8451602001528951611316908b908590811061130257611302612b29565b602090810291909101015185515190611888565b8451526020840151805161135491908590811061133557611335612b29565b602002602001015185600001516040015161188890919063ffffffff16565b8451604001528a51611381908d908d908690811061137457611374612b29565b6020026020010151611c75565b8460600151848151811061139757611397612b29565b60209081029190910101528261117981613023565b8a518310156113e05760008a84815181106113c9576113c9612b29565b6020026020010181815250508260010192506113ac565b8b6001600160a01b0316886001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8d8d8860000151600001518960200151604051611435949392919061303c565b60405180910390a360006001600160a01b0316886001600160a01b0316896001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87606001518e6040516114919291906130b3565b60405180910390a45082515188146114f75760405162461bcd60e51b815260206004820152602360248201527f436f6e766572743a204e6f7420656e6f75676820746f6b656e732072656d6f7660448201526232b21760e91b6064820152608401610122565b8251805160409091015161150c918d91611c97565b60006115418861153c61153085886000015160400151611d8090919063ffffffff16565b87516020015190611888565b611d8c565b94516020810151604090910151909e909d50949b50939950505050505050505050565b6001600160a01b038216600090815260c86020526040812054819060e01b6001600160e01b0319166115d85760405162461bcd60e51b815260206004820152601b60248201527f53696c6f3a20546f6b656e206e6f742077686974656c697374656400000000006044820152606401610122565b6001600160a01b038416600090815260c88201602052604081205481903090611611908890600160f81b810460f81b9060e01b89611f70565b60405161161e91906130d8565b600060405180830381855afa9150503d8060008114611659576040519150601f19603f3d011682016040523d82523d6000602084013e61165e565b606091505b50915091508161167e57805160000361167657600080fd5b805181602001fd5b6020015195945050505050565b60008061169985858561204c565b9150600290508160028111156116b1576116b1612fd3565b146116c7576116c0858461209e565b91506116cb565b8391505b509392505050565b60c95460609060009081816001600160401b038111156116f5576116f561280f565b60405190808252806020026020018201604052801561171e578160200160208202803683370190505b50935060005b828110156117ce5760c9840180548290811061174257611742612b29565b600091825260209091200154600160a01b900460ff16156117c65760c9840180548290811061177357611773612b29565b6000918252602090912001546001600160a01b0316858361179381613023565b9450815181106117a5576117a5612b29565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101611724565b5080845250505090565b606060006117e46120b7565b905060005b81518110156118465761181482828151811061180757611807612b29565b60200260200101516121b2565b82828151811061182657611826612b29565b6001600160a01b03909216602092830291909101909101526001016117e9565b50919050565b604080518082019091526000808252602082015261186982612247565b600b0b6020820181905261187e90839061230e565b600b0b8152919050565b60006118948284612fc0565b90505b92915050565b60006118948284613010565b60008060006118b88686611c75565b6001600160a01b0388166000908152602084815260408083208484526013019091529020546001600160801b03600160801b82048116955091925016808511156119445760405162461bcd60e51b815260206004820152601c60248201527f53696c6f3a2043726174652062616c616e636520746f6f206c6f772e000000006044820152606401610122565b80851015611b3a57600061197760016119718461196b836119658c8c611d80565b9061189d565b90612329565b90611888565b90506000611985868361189d565b90506000611993848961189d565b9050808660000160008d6001600160a01b03166001600160a01b03168152602001908152602001600020601301600087815260200190815260200160002060000160006101000a8154816001600160801b0302191690836001600160801b03160217905550818660000160008d6001600160a01b03166001600160a01b03168152602001908152602001600020601301600087815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611ada838760000160008e6001600160a01b03166001600160a01b0316815260200190815260200160002060180160008d6001600160a01b03166001600160a01b03168152602001908152602001600020600001600c9054906101000a90046001600160801b03166001600160801b031661233590919063ffffffff16565b6001600160a01b03808d16600090815260209889526040808220928e168252601890920190985290962080546001600160801b0397909716600160601b02600160601b600160e01b031990971696909617909555509350611c0992505050565b8015611b70576001600160a01b038816600090815260208481526040808320858452601301909152812055611b70888884612341565b6001600160a01b03888116600090815260208581526040808320938b168352601890930190522054611bb290600160601b90046001600160801b031685612335565b6001600160a01b03808a16600090815260209586526040808220928b168252601890920190955290932080546001600160801b0394909416600160601b02600160601b600160e01b03199094169390931790925550505b949350505050565b60006001600160801b03821115611c45576040516306dfcc6560e41b81526080600482015260248101839052604401610122565b5090565b6000611c096001600160801b038316611c66600b86900b87612450565b6001600160601b031690611d80565b6001600160601b031660609190911b6bffffffffffffffffffffffff19161790565b6000611ccf611ca584611c11565b6001600160a01b038616600090815260c7840160205260409020546001600160801b031690612335565b6001600160a01b038516600090815260c783016020526040902080546001600160801b0319166001600160801b0392909216919091179055611d44611d1383611c11565b6001600160a01b038616600090815260c784016020526040902054600160801b90046001600160801b031690612335565b6001600160a01b03909416600090815260c79091016020526040902080546001600160801b03948516600160801b029416939093179092555050565b60006118948284613107565b6000808083600003611da5576000809250925050611f69565b60c481015460c5820154611dbe919061196b9087611d80565b6001600160a01b038616600090815260208390526040902054909350831115611dfd576001600160a01b03851660009081526020829052604090205492505b60c4810154611e0c908561189d565b60c48201556001600160a01b038516600090815260208290526040902060010154611e37908561189d565b6001600160a01b03861660009081526020839052604090206001015560c5810154611e62908461189d565b60c58201556001600160a01b038516600090815260208290526040902054611e8a908461189d565b6001600160a01b0386166000908152602083905260409020818155602c01541115611f12576001600160a01b03851660009081526020829052604081208054602c90910154611ed89161189d565b6001600160a01b03871660009081526020849052604090208054602c9091015560ed830154909150611f0a908261189d565b60ed83015591505b6001600160a01b0385167fb2d61db64b8ad7535308d2111c78934bc32baf9b7cd3a2e58cba25730003cd58611f468661311e565b611f4f8661311e565b6040805192835260208301919091520160405180910390a2505b9250929050565b60606001600160f81b03198416600003611fd1578282604051602401611f9891815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611c09565b6001600160f81b03198416600160f81b03612009576040516001600160a01b0386166024820152604481018390528390606401611f98565b60405162461bcd60e51b815260206004820152601860248201527753696c6f3a20496e76616c696420656e636f64655479706560401b6044820152606401610122565b600080600061205a8661184c565b905061208761207961207461206f8888612329565b61245c565b612489565b6020830151600b0b90612450565b925061209383826124bd565b915050935093915050565b6000806120aa84612522565b9050611c0984828561253a565b60c95460609060009081816001600160401b038111156120d9576120d961280f565b604051908082528060200260200182016040528015612102578160200160208202803683370190505b50935060005b828110156117ce5760c9840180548290811061212657612126612b29565b600091825260209091200154600160b81b900460ff16156121aa5760c9840180548290811061215757612157612b29565b6000918252602090912001546001600160a01b0316858361217781613023565b94508151811061218957612189612b29565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101612108565b600080826001600160a01b0316639d63848a6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156121f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261221b919081019061313a565b9050806122278261256c565b8151811061223757612237612b29565b6020026020010151915050919050565b6001600160a01b038116600090815260c8602052604081205481906122d89061229d9061228090600160781b900463ffffffff166125fe565b60d48401546122949063ffffffff166125fe565b600b0b90612450565b6001600160a01b038516600090815260c8840160205260409020546122cf90600160201b900464ffffffffff166125fe565b600b0b9061260c565b6001600160a01b038416600090815260c8830160205260409020546123079190600160981b9004600b0b6131c8565b9392505050565b60006118948261231d85612618565b64ffffffffff16612450565b6000611894828461320b565b6000611894828461321f565b6001600160a01b0383811660009081526020818152604080832093861683526014909301815282822084835260018082019092529282205483549293929091839161238c9190613010565b8154811061239c5761239c612b29565b90600052602060002001548260000182815481106123bc576123bc612b29565b9060005260206000200181905550808260010160008460000184815481106123e6576123e6612b29565b906000526020600020015481526020019081526020016000208190555060001982600101600086815260200190815260200160002081905550816000018054806124325761243261323f565b60019003818190600052602060002001600090559055505050505050565b60006118948284613255565b60006001600160ff1b03821115611c455760405163123baf0360e11b815260048101839052602401610122565b80600b81900b81146124b85760405163327269a760e01b81526060600482015260248101839052604401610122565b919050565b60008160000151600b0b83600b0b12156124d957506002611897565b8160200151600b0b83600b0b03612507576124f261272a565b6124fd576001612500565b60005b9050611897565b61250f61272a565b61251a576000612500565b506001611897565b6000600161252f8361184c565b516118979190613255565b60008061254685612247565b90506125638361255a600b84900b87612450565b600b0b90611d80565b95945050505050565b6000805b82518210156125be5782828151811061258b5761258b612b29565b602090810291909101015160018201546001600160a01b039081169116146125b35750919050565b816001019150612570565b60405162461bcd60e51b81526020600482015260156024820152742737b716a132b0b7103737ba1034b7102bb2b6361760591b6044820152606401610122565b60006118976120748361245c565b60006118948284613282565b60d4546001600160a01b038216600090815260c860205260408120549091829163ffffffff918216600160781b9091049091161015612681576001600160a01b038316600090815260c882016020526040902054600160201b900464ffffffffff169150611846565b6001600160a01b038316600090815260c88201602052604081206001015460040b9081126126e4576001600160a01b038416600090815260c8830160205260409020546126dd908290600160201b900464ffffffffff166132a2565b9250612723565b6126ed816132c0565b6001600160a01b038516600090815260c8840160205260409020546127209190600160201b900464ffffffffff166132e4565b92505b5050919050565b60d45460009081906127419063ffffffff16612747565b91505090565b600061275e63ffffffff8084169060029061277816565b63ffffffff1615612770576001611897565b600092915050565b60006118948284613302565b60405180608001604052806127b360405180606001604052806000815260200160008152602001600081525090565b81526020016060815260200160608152602001606081525090565b60008083601f8401126127e057600080fd5b5081356001600160401b038111156127f757600080fd5b602083019150836020828501011115611f6957600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156128485761284861280f565b60405290565b604051601f8201601f191681016001600160401b03811182821017156128765761287661280f565b604052919050565b60006001600160401b038211156128975761289761280f565b5060051b60200190565b80600b0b81146128b057600080fd5b50565b600082601f8301126128c457600080fd5b813560206128d96128d48361287e565b61284e565b8083825260208201915060208460051b8701019350868411156128fb57600080fd5b602086015b84811015612920578035612913816128a1565b8352918301918301612900565b509695505050505050565b600082601f83011261293c57600080fd5b8135602061294c6128d48361287e565b8083825260208201915060208460051b87010193508684111561296e57600080fd5b602086015b848110156129205780358352918301918301612973565b600080600080606085870312156129a057600080fd5b84356001600160401b03808211156129b757600080fd5b6129c3888389016127ce565b909650945060208701359150808211156129dc57600080fd5b6129e8888389016128b3565b935060408701359150808211156129fe57600080fd5b50612a0b8782880161292b565b91505092959194509250565b600080600080600060808688031215612a2f57600080fd5b85356001600160401b0380821115612a4657600080fd5b612a5289838a016127ce565b90975095506020880135915080821115612a6b57600080fd5b612a7789838a016128b3565b94506040880135915080821115612a8d57600080fd5b50612a9a8882890161292b565b95989497509295606001359392505050565b600060208284031215612abe57600080fd5b5051919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601390820152721253958e8814dd5c1c1b1e4818da185b99d959606a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f494e563a20496e73756666696369656e7420746f6b656e2062616c616e636500604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611c09602083018486612b76565b600060c08284031215612bc557600080fd5b60405160c081018181106001600160401b0382111715612be757612be761280f565b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b6001600160a01b03811681146128b057600080fd5b80516124b881612c2c565b600082601f830112612c5d57600080fd5b81516020612c6d6128d48361287e565b8083825260208201915060208460051b870101935086841115612c8f57600080fd5b602086015b848110156129205780518352918301918301612c94565b600060208284031215612cbd57600080fd5b81516001600160401b0380821115612cd457600080fd5b908301906101c08286031215612ce957600080fd5b612cf1612825565b82518152612d028660208501612bb3565b602082015260e083015160408201526101008084015160608301526101208401516080830152612d356101408501612c41565b60a083015261016084015160c083015261018084015183811115612d5857600080fd5b612d6488828701612c4c565b60e0840152506101a0840151818301525080935050505092915050565b805180151581146124b857600080fd5b600060e08284031215612da357600080fd5b60405160e081018181106001600160401b0382111715612dc557612dc561280f565b6040528251612dd381612c2c565b81526020830151612de381612c2c565b8060208301525060408301516040820152606083015160608201526080830151612e0c81612c2c565b6080820152612e1d60a08401612d81565b60a0820152612e2e60c08401612d81565b60c08201529392505050565b60008151808452602080850194506020840160005b83811015612e6b57815187529582019590820190600101612e4f565b509495945050505050565b60a0808252875182820152602080890151805160c08501529081015160e084015260408082015161010085015260608083015161012086015260808084015161014087015292840151610160860152908a01516101808501528901516101a08401528801516101c080840191909152908801516001600160a01b0381166101e084015260009160c08a015161020085015260e08a015191508061022085015250612f24610260840182612e3a565b90506101008901516102408401528281036020840152612f4581888a612b76565b915050612f5d60408301866001600160a01b03169052565b6001600160a01b0393909316606082015260800152949350505050565b60008060408385031215612f8d57600080fd5b825191506020830151612f9f816128a1565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561189757611897612faa565b634e487b7160e01b600052602160045260246000fd5b6001600160801b0381811683821601908082111561300957613009612faa565b5092915050565b8181038181111561189757611897612faa565b60006001820161303557613035612faa565b5060010190565b6080808252855190820181905260009060209060a0840190828901845b82811015613078578151600b0b84529284019290840190600101613059565b505050838103602085015261308d8188612e3a565b91505084604084015282810360608401526130a88185612e3a565b979650505050505050565b6040815260006130c66040830185612e3a565b82810360208401526125638185612e3a565b6000825160005b818110156130f957602081860181015185830152016130df565b506000920191825250919050565b808202811582820484141761189757611897612faa565b6000600160ff1b820161313357613133612faa565b5060000390565b6000602080838503121561314d57600080fd5b82516001600160401b0381111561316357600080fd5b8301601f8101851361317457600080fd5b80516131826128d48261287e565b81815260059190911b820183019083810190878311156131a157600080fd5b928401925b828410156130a85783516131b981612c2c565b825292840192908401906131a6565b600b81810b9083900b0160016001605f1b03811360016001605f1b03198212171561189757611897612faa565b634e487b7160e01b600052601260045260246000fd5b60008261321a5761321a6131f5565b500490565b6001600160801b0382811682821603908082111561300957613009612faa565b634e487b7160e01b600052603160045260246000fd5b600b82810b9082900b0360016001605f1b0319811260016001605f1b038213171561189757611897612faa565b600082600b0b82600b0b0280600b0b915080821461300957613009612faa565b64ffffffffff82811682821603908082111561300957613009612faa565b60008160040b647fffffffff1981036132db576132db612faa565b60000392915050565b64ffffffffff81811683821601908082111561300957613009612faa565b600063ffffffff80841680613319576133196131f5565b9216919091069291505056fea26469706673582212208c7ec551ee85e389d54cf6ac34b7ada10a4195dec2430555fd8bb0958507ba1064736f6c63430008190033