0 txs
9 calls
constructor
No constructor.
functions
checks
viewfunction checks(uint256) view returns (uint256 param1, uint256 param2, uint160 param3, uint64 param4, bytes4 selector)
computeTicks
viewfunction computeTicks(address token0, address token1, uint80 priceA12, uint80 priceB12, uint24 fee) view returns (int24, int24)
correctPriceDirection
purefunction correctPriceDirection(address base, address quote, uint160 sqrtPriceX96) pure returns (uint160 sqrtPriceX96Corrected)
factory
viewfunction factory() view returns (address)
getEthPriceUSDC
viewfunction getEthPriceUSDC() view returns (uint80 ethPriceInUSDC_12)
getPoolInfo
viewfunction getPoolInfo(address token0, address token1, uint24 fee) view returns (uint160 sqrtPriceX96, uint128 liquidity, address poolAddress)
getPriceFromSqrtPriceX96
purefunction getPriceFromSqrtPriceX96(int8 decimalDiff, uint160 sqrtPriceX96) pure returns (uint80 price_12Decimals)
getPriceInUSDOf
viewfunction getPriceInUSDOf(address _token) view returns (uint80 priceInUSD_12)
getSqrtPriceX96FromPrice
purefunction getSqrtPriceX96FromPrice(int8 decimalDiff, uint80 price_12Decimals) pure returns (uint160 sqrtPriceX96)
invertPrice
purefunction invertPrice(uint80 price) pure returns (uint80)
manager
viewfunction manager() view returns (address)
shouldExecute
viewfunction shouldExecute(uint256 handle) view returns (bool)
sqrt
purefunction sqrt(uint256 x) pure returns (uint128)
zz_check_alwaysTrue
purefunction zz_check_alwaysTrue(uint256) pure returns (bool)
zz_check_priceAbove
viewfunction zz_check_priceAbove(uint256 handle) view returns (bool)
zz_check_priceBelow
viewfunction zz_check_priceBelow(uint256 handle) view returns (bool)
createUniqueImmediateHandle
nonpayablefunction createUniqueImmediateHandle() returns (uint256)
handleWhenPriceCrosses
nonpayablefunction handleWhenPriceCrosses(address token0, address token1, uint80 executePrice, bool whenAbove) returns (uint256)
rescueTokens
nonpayablefunction rescueTokens(address which)
events
No events.
errors
No errors.
creation bytecode
0x61012060405273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4860805273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260a0527388e6a0c2ddd26feeb64f039a2c41296fcb3f564060c05273c36442b4a4522e871399cd717abdd847ab11fe8860e052731f98431c8ad98523631ae4a59f267346ea31f98461010052600260015534801561008e575f80fd5b5060805160a05160c05160e05161010051612fb86101045f395f818161056a015281816109b401528181610a7c015261149b01525f6101da01525f8181611a1e0152611c7f01525f81816115ce015281816118da0152611d1c01525f818161156f0152818161176c0152611d3d0152612fb85ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c80638864fc48116100c7578063b9216f5d1161007d578063d8120cdc11610063578063d8120cdc1461058c578063e00b468d14610594578063e1b7dbf8146105a7575f80fd5b8063b9216f5d14610552578063c45a015514610565575f80fd5b80638cd8bf1a116100ad5780638cd8bf1a146104ff578063ab4156581461052c578063b3a579431461053f575f80fd5b80638864fc48146103b35780638cb6dd4c146104ec575f80fd5b8063481c6a751161011c578063618e7bd911610102578063618e7bd914610257578063677342ce146103515780637a3dfdad14610385575f80fd5b8063481c6a75146101d55780634a277c62146101fc575f80fd5b8062ae3bf81461014c578063048e92f6146101615780631fba9eda146101895780633ac5358b146101c1575b5f80fd5b61015f61015a3660046126b8565b6105ba565b005b61017461016f3660046126d3565b6106ea565b60405190151581526020015b60405180910390f35b61019c610197366004612711565b6108b1565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610180565b6101746101cf3660046126d3565b50600190565b61019c7f000000000000000000000000000000000000000000000000000000000000000081565b61020f61020a366004612758565b610924565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681526fffffffffffffffffffffffffffffffff9093166020840152921691810191909152606001610180565b6102e36102653660046126d3565b5f6020819052908152604090208054600182015460029092015490919073ffffffffffffffffffffffffffffffffffffffff81169067ffffffffffffffff74010000000000000000000000000000000000000000820416907c0100000000000000000000000000000000000000000000000000000000900460e01b85565b60408051958652602086019490945273ffffffffffffffffffffffffffffffffffffffff9092169284019290925267ffffffffffffffff90911660608301527fffffffff0000000000000000000000000000000000000000000000000000000016608082015260a001610180565b61036461035f3660046126d3565b610cb7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610180565b61039861039336600461279c565b610e46565b60405169ffffffffffffffffffff9091168152602001610180565b6104de6040805160a0810182525f8082526020808301828152838501838152606085018481527f3ac5358b0000000000000000000000000000000000000000000000000000000060808701908152600180548088529587905297909520955186559151958501959095559351600290930180549451925160e01c7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff67ffffffffffffffff90941674010000000000000000000000000000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090961673ffffffffffffffffffffffffffffffffffffffff9095169490941794909417919091169190911790915590565b604051908152602001610180565b6104de6104fa3660046127d3565b610edf565b61051261050d36600461282c565b611343565b60408051600293840b81529190920b602082015201610180565b61039861053a3660046126b8565b61156c565b61019c61054d366004612895565b611b2b565b6101746105603660046126d3565b611baa565b61019c7f000000000000000000000000000000000000000000000000000000000000000081565b610398611c7b565b6101746105a23660046126d3565b611d68565b6103986105b53660046128dd565b611e39565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f9073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610624573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064891906128f8565b905080156106e6576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb906044016020604051808303815f875af11580156106c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e4919061290f565b505b5050565b5f600154821080156106fb57505f82115b610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c69642068616e646c6500000000000000000000000000000000000060448201526064015b60405180910390fd5b8160010361077657506001919050565b5f8281526020819052604080822060020154905160248101859052829130917c010000000000000000000000000000000000000000000000000000000090910460e01b90604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610846919061292a565b5f60405180830381855afa9150503d805f811461087e576040519150601f19603f3d011682016040523d82523d5f602084013e610883565b606091505b50915091508161089557805160208201fd5b808060200190518101906108a9919061290f565b949350505050565b5f806108be84600c61296d565b6108c990600a612acc565b6108f9907f0ffffffffffffffffffff000000000000000000000000000000000000000000060ac86901b16612b07565b9050600a61090682610cb7565b6fffffffffffffffffffffffffffffffff16901b9150505b92915050565b5f805f808573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161115610a24576040517f1698ee8200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152888116602483015262ffffff871660448301527f00000000000000000000000000000000000000000000000000000000000000001690631698ee8290606401602060405180830381865afa1580156109f9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1d9190612b1a565b9050610ae8565b6040517f1698ee8200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015262ffffff871660448301527f00000000000000000000000000000000000000000000000000000000000000001690631698ee8290606401602060405180830381865afa158015610ac1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae59190612b1a565b90505b73ffffffffffffffffffffffffffffffffffffffff8116610b10575f93508392509050610cae565b8073ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7d9190612b67565b5050604080517f1a686502000000000000000000000000000000000000000000000000000000008152905195995073ffffffffffffffffffffffffffffffffffffffff871695631a68650295506004808301955060209450909250908290030181865afa158015610bf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c149190612c0d565b92506064836fffffffffffffffffffffffffffffffff16118015610c61575073ff000000000000000000000000000000000000008473ffffffffffffffffffffffffffffffffffffffff16105b8015610c875750640df84758008473ffffffffffffffffffffffffffffffffffffffff16115b15610c9e57610c97878786611b2b565b9350610cab565b5f93508392509050610cae565b90505b93509350939050565b5f815f03610cc657505f919050565b8160017001000000000000000000000000000000008210610cec5760809190911c9060401b5b680100000000000000008210610d075760409190911c9060201b5b6401000000008210610d1e5760209190911c9060101b5b620100008210610d335760109190911c9060081b5b6101008210610d475760089190911c9060041b5b60108210610d5a5760049190911c9060021b5b60088210610d665760011b5b6001610d728286612b07565b610d7c9083612c26565b901c90506001610d8c8286612b07565b610d969083612c26565b901c90506001610da68286612b07565b610db09083612c26565b901c90506001610dc08286612b07565b610dca9083612c26565b901c90506001610dda8286612b07565b610de49083612c26565b901c90506001610df48286612b07565b610dfe9083612c26565b901c90506001610e0e8286612b07565b610e189083612c26565b901c90505f610e278286612b07565b9050808210610e365780610e38565b815b95945050505050565b919050565b5f80600a610e6d73ffffffffffffffffffffffffffffffffffffffff8516620f4240612c39565b901c90505f845f0b12610ea55760ac610e8785600a612acc565b610e918380612c39565b610e9b9190612c39565b901c91505061091e565b610eae84612c50565b610eb990600a612acc565b60ac610ec58380612c39565b610ed092911c612b07565b91505061091e565b5092915050565b60408051608081018252606481526101f46020820152610bb89181019190915261271060608201525f908180805b60048160ff161015611028575f8030634a277c628c8c8960ff881660048110610f3857610f38612c8b565b60200201516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015262ffffff166044820152606401606060405180830381865afa158015610fb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612cb8565b9250925050846fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115611013578194508093505b5050808061102090612cf3565b915050610f0d565b506103e8826fffffffffffffffffffffffffffffffff161015611050575f93505050506108a9565b5f8773ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110be9190612d11565b8973ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190612d11565b6111359190612d2a565b90505f6111478a8a61054d858c6108b1565b73ffffffffffffffffffffffffffffffffffffffff1690505f8715158a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16101515146111bf577fe00b468d000000000000000000000000000000000000000000000000000000006111e1565b7fb9216f5d000000000000000000000000000000000000000000000000000000005b90506113346040518060a001604052808481526020015f81526020018673ffffffffffffffffffffffffffffffffffffffff1681526020015f67ffffffffffffffff168152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250600180545f818152602081815260409182902085518155908501519381019390935583015160029092018054606085015160809095015160e01c7c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff67ffffffffffffffff90961674010000000000000000000000000000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff9095169490941717939093169190911790915590565b9b9a5050505050505050505050565b5f805f8673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b39190612d11565b8873ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114209190612d11565b61142a9190612d2a565b90505f61143c898961054d858b6108b1565b90505f61144e8a8a61054d868b6108b1565b6040517f22afcccb00000000000000000000000000000000000000000000000000000000815262ffffff881660048201529091505f9073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906322afcccb90602401602060405180830381865afa1580156114e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115049190612d68565b90505f818261151286611e4e565b61151c9190612d81565b6115269190612df4565b90505f828361153486611e4e565b61153e9190612d81565b6115489190612df4565b90508160020b8160020b121561155a57905b909c909b509950505050505050505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115cc575064e8d4a51000919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361168c573073ffffffffffffffffffffffffffffffffffffffff1663d8120cdc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611668573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091e9190612e13565b60408051608081018252606481526101f4602080830191909152610bb882840152612710606083015282517f313ce567000000000000000000000000000000000000000000000000000000008152925191925f928392839260069273ffffffffffffffffffffffffffffffffffffffff8a169263313ce56792600480820193918290030181865afa158015611723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117479190612d11565b6117519190612d2a565b90505f5b60048160ff161015611890575f8030634a277c628a7f00000000000000000000000000000000000000000000000000000000000000008a60ff8816600481106117a0576117a0612c8b565b60200201516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015262ffffff166044820152606401606060405180830381865afa15801561181f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118439190612cb8565b5091509150856fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16111561187b578095508194505b5050808061188890612cf3565b915050611755565b506103e8836fffffffffffffffffffffffffffffffff1611156118c1576118b78183610e46565b9695505050505050565b5f5b60048160ff1610156119fe575f8030634a277c628a7f00000000000000000000000000000000000000000000000000000000000000008a60ff88166004811061190e5761190e612c8b565b60200201516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015262ffffff166044820152606401606060405180830381865afa15801561198d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b19190612cb8565b5091509150856fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1611156119e9578095508194505b505080806119f690612cf3565b9150506118c3565b506103e8836fffffffffffffffffffffffffffffffff161115611b20575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611a85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa99190612b67565b50505050505090505f60208273ffffffffffffffffffffffffffffffffffffffff1660408673ffffffffffffffffffffffffffffffffffffffff16901b611af09190612b07565b73ffffffffffffffffffffffffffffffffffffffff16901b9050611b148382610e46565b98975050505050505050565b505f95945050505050565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161015611b67575080611ba3565b611ba073ffffffffffffffffffffffffffffffffffffffff83167801000000000000000000000000000000000000000000000000612b07565b90505b9392505050565b5f81815260208190526040808220600281015482517f3850c7bd00000000000000000000000000000000000000000000000000000000815292519192849273ffffffffffffffffffffffffffffffffffffffff90921691633850c7bd9160048082019260e0929091908290030181865afa158015611c2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4e9190612b67565b5050955473ffffffffffffffffffffffffffffffffffffffff908116941693909311979650505050505050565b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611ce6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0a9190612b67565b5050505050509050611d62600c6103937f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085611b2b565b91505090565b5f81815260208190526040808220600281015482517f3850c7bd00000000000000000000000000000000000000000000000000000000815292519192849273ffffffffffffffffffffffffffffffffffffffff90921691633850c7bd9160048082019260e0929091908290030181865afa158015611de8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e0c9190612b67565b5050955473ffffffffffffffffffffffffffffffffffffffff908116941693909310979650505050505050565b5f61091e8269d3c21bcecceda1000000612e2e565b5f6401000276a373ffffffffffffffffffffffffffffffffffffffff831610801590611ea3575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff8316105b611f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5200000000000000000000000000000000000000000000000000000000000000604482015260640161075d565b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110611fba57611fb0607f82612e61565b83901c9150611fcb565b611fc581607f612e61565b83901b91505b5f6040611fd9608084612e74565b901b9050828302607f1c92508260801c80603f1b8217915083811c935050828302607f1c92508260801c80603e1b8217915083811c935050828302607f1c92508260801c80603d1b8217915083811c935050828302607f1c92508260801c80603c1b8217915083811c935050828302607f1c92508260801c80603b1b8217915083811c935050828302607f1c92508260801c80603a1b8217915083811c935050828302607f1c92508260801c8060391b8217915083811c935050828302607f1c92508260801c8060381b8217915083811c935050828302607f1c92508260801c8060371b8217915083811c935050828302607f1c92508260801c8060361b8217915083811c935050828302607f1c92508260801c8060351b8217915083811c935050828302607f1c92508260801c8060341b8217915083811c935050828302607f1c92508260801c8060331b8217915083811c935050828302607f1c92508260801c8060321b82179150505f81693627a301d71055774c8561215b9190612e93565b90505f608061217a6f028f6481ab7f045a5af012a19d003aaa84612e74565b901d90505f608061219b846fdb2df09e81959a81455e260799a0632f612ede565b901d90508060020b8260020b146121f4578873ffffffffffffffffffffffffffffffffffffffff166121cc82612203565b73ffffffffffffffffffffffffffffffffffffffff1611156121ee57816121f6565b806121f6565b815b9998505050505050505050565b5f805f8360020b12612218578260020b612225565b8260020b61222590612f05565b90506122507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618612f3b565b62ffffff168111156122be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015260640161075d565b5f816001165f036122e0577001000000000000000000000000000000006122f2565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561233157608061232c826ffff97272373d413259a46990580e213a612c39565b901c90505b600482161561235b576080612356826ffff2e50f5f656932ef12357cf3c7fdcc612c39565b901c90505b6008821615612385576080612380826fffe5caca7e10e4e61c3624eaa0941cd0612c39565b901c90505b60108216156123af5760806123aa826fffcb9843d60f6159c9db58835c926644612c39565b901c90505b60208216156123d95760806123d4826fff973b41fa98c081472e6896dfb254c0612c39565b901c90505b60408216156124035760806123fe826fff2ea16466c96a3843ec78b326b52861612c39565b901c90505b608082161561242d576080612428826ffe5dee046a99a2a811c461f1969c3053612c39565b901c90505b610100821615612458576080612453826ffcbe86c7900a88aedcffc83b479aa3a4612c39565b901c90505b61020082161561248357608061247e826ff987a7253ac413176f2b074cf7815e54612c39565b901c90505b6104008216156124ae5760806124a9826ff3392b0822b70005940c7a398e4b70f3612c39565b901c90505b6108008216156124d95760806124d4826fe7159475a2c29b7443b29c7fa6e889d9612c39565b901c90505b6110008216156125045760806124ff826fd097f3bdfd2022b8845ad8f792aa5825612c39565b901c90505b61200082161561252f57608061252a826fa9f746462d870fdf8a65dc1f90e061e5612c39565b901c90505b61400082161561255a576080612555826f70d869a156d2a1b890bb3df62baf32f7612c39565b901c90505b618000821615612585576080612580826f31be135f97d08fd981231505542fcfa6612c39565b901c90505b620100008216156125b15760806125ac826f09aa508b5b7a84e1c677de54f3e99bc9612c39565b901c90505b620200008216156125dc5760806125d7826e5d6af8dedb81196699c329225ee604612c39565b901c90505b62040000821615612606576080612601826d2216e584f5fa1ea926041bedfe98612c39565b901c90505b6208000082161561262e576080612629826b048a170391f7dc42444e8fa2612c39565b901c90505b5f8460020b131561266657612663817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612b07565b90505b61267564010000000082612f6f565b15612681576001612683565b5f5b6108a99060ff16602083901c612c26565b73ffffffffffffffffffffffffffffffffffffffff811681146126b5575f80fd5b50565b5f602082840312156126c8575f80fd5b8135611ba381612694565b5f602082840312156126e3575f80fd5b5035919050565b80355f81900b8114610e41575f80fd5b69ffffffffffffffffffff811681146126b5575f80fd5b5f8060408385031215612722575f80fd5b61272b836126ea565b9150602083013561273b816126fa565b809150509250929050565b803562ffffff81168114610e41575f80fd5b5f805f6060848603121561276a575f80fd5b833561277581612694565b9250602084013561278581612694565b915061279360408501612746565b90509250925092565b5f80604083850312156127ad575f80fd5b6127b6836126ea565b9150602083013561273b81612694565b80151581146126b5575f80fd5b5f805f80608085870312156127e6575f80fd5b84356127f181612694565b9350602085013561280181612694565b92506040850135612811816126fa565b91506060850135612821816127c6565b939692955090935050565b5f805f805f60a08688031215612840575f80fd5b853561284b81612694565b9450602086013561285b81612694565b9350604086013561286b816126fa565b9250606086013561287b816126fa565b915061288960808701612746565b90509295509295909350565b5f805f606084860312156128a7575f80fd5b83356128b281612694565b925060208401356128c281612694565b915060408401356128d281612694565b809150509250925092565b5f602082840312156128ed575f80fd5b8135611ba3816126fa565b5f60208284031215612908575f80fd5b5051919050565b5f6020828403121561291f575f80fd5b8151611ba3816127c6565b5f82518060208501845e5f920191825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f81810b9083900b01607f81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808212171561091e5761091e612940565b6001815b60018411156129e6578085048111156129ca576129ca612940565b60018416156129d857908102905b60019390931c9280026129af565b935093915050565b5f826129fc5750600161091e565b81612a0857505f61091e565b8160018114612a1e5760028114612a2857612a44565b600191505061091e565b60ff841115612a3957612a39612940565b50506001821b61091e565b5060208310610133831016604e8410600b8410161715612a67575081810a61091e565b612a927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129ab565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612ac457612ac4612940565b029392505050565b5f611ba360ff8416836129ee565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82612b1557612b15612ada565b500490565b5f60208284031215612b2a575f80fd5b8151611ba381612694565b8051600281900b8114610e41575f80fd5b805161ffff81168114610e41575f80fd5b805160ff81168114610e41575f80fd5b5f805f805f805f60e0888a031215612b7d575f80fd5b8751612b8881612694565b9650612b9660208901612b35565b9550612ba460408901612b46565b9450612bb260608901612b46565b9350612bc060808901612b46565b9250612bce60a08901612b57565b915060c0880151612bde816127c6565b8091505092959891949750929550565b80516fffffffffffffffffffffffffffffffff81168114610e41575f80fd5b5f60208284031215612c1d575f80fd5b611ba382612bee565b8082018082111561091e5761091e612940565b808202811582820484141761091e5761091e612940565b5f815f0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808103612c8357612c83612940565b5f0392915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f805f60608486031215612cca575f80fd5b8351612cd581612694565b9250612ce360208501612bee565b915060408401516128d281612694565b5f60ff821660ff8103612d0857612d08612940565b60010192915050565b5f60208284031215612d21575f80fd5b611ba382612b57565b5f82810b9082900b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808112607f8213171561091e5761091e612940565b5f60208284031215612d78575f80fd5b611ba382612b35565b5f8160020b8360020b80612d9757612d97612ada565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000083141615612deb57612deb612940565b90059392505050565b5f8260020b8260020b028060020b9150808214610ed857610ed8612940565b5f60208284031215612e23575f80fd5b8151611ba3816126fa565b5f69ffffffffffffffffffff831680612e4957612e49612ada565b8069ffffffffffffffffffff84160491505092915050565b8181038181111561091e5761091e612940565b8181035f831280158383131683831282161715610ed857610ed8612940565b8082025f82127f800000000000000000000000000000000000000000000000000000000000000084141615612eca57612eca612940565b818105831482151761091e5761091e612940565b8082018281125f831280158216821582161715612efd57612efd612940565b505092915050565b5f7f80000000000000000000000000000000000000000000000000000000000000008203612f3557612f35612940565b505f0390565b5f8160020b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008103612c8357612c83612940565b5f82612f7d57612f7d612ada565b50069056fea26469706673582212204ccf37254679f7e732d4d13c87d108250e8aefdddb69f3a09132542e5cd75be764736f6c634300081a0033