0 txs
1 call
constructor
constructor(address _factory)
functions
factory
viewfunction factory() view returns (address)
quoteExactInput
viewfunction quoteExactInput(bytes path, uint256 amountIn) view returns (uint256 amountOut, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)
quoteExactInputSingle
viewfunction quoteExactInputSingle(tuple params) view returns (uint256 amountReceived, uint160 sqrtPriceX96After, uint32 initializedTicksCrossed, uint256 gasEstimate)
quoteExactInputSingleWithPool
viewfunction quoteExactInputSingleWithPool(tuple params) view returns (uint256 amountReceived, uint160 sqrtPriceX96After, uint32 initializedTicksCrossed, uint256 gasEstimate)
quoteExactOutput
viewfunction quoteExactOutput(bytes path, uint256 amountOut) view returns (uint256 amountIn, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)
quoteExactOutputSingle
viewfunction quoteExactOutputSingle(tuple params) view returns (uint256 amountIn, uint160 sqrtPriceX96After, uint32 initializedTicksCrossed, uint256 gasEstimate)
quoteExactOutputSingleWithPool
viewfunction quoteExactOutputSingleWithPool(tuple params) view returns (uint256 amountIn, uint160 sqrtPriceX96After, uint32 initializedTicksCrossed, uint256 gasEstimate)
events
No events.
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200338f3803806200338f833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516132f46200009b6000396000818161010c0152610e5b01526132f46000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c45a01551161005b578063c45a015514610107578063c6a5026a14610146578063cdca175314610159578063d85c3d631461016c57600080fd5b80632f80bb1d1461008257806386e3a7cf146100ae578063bd21704a146100f4575b600080fd5b6100956100903660046128fe565b61017f565b6040516100a59493929190612998565b60405180910390f35b6100c16100bc366004612a60565b61034a565b604080519485526001600160a01b03909316602085015263ffffffff9091169183019190915260608201526080016100a5565b6100c1610102366004612b73565b6104ad565b61012e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a5565b6100c1610154366004612b73565b610555565b6100956101673660046128fe565b6105ea565b6100c161017a366004612b8f565b610793565b6000606080600061018f866108a1565b67ffffffffffffffff8111156101a7576101a761288e565b6040519080825280602002602001820160405280156101d0578160200160208202803683370190505b5092506101dc866108a1565b67ffffffffffffffff8111156101f4576101f461288e565b60405190808252806020026020018201604052801561021d578160200160208202803683370190505b50915060005b60008060006102318a6108cd565b925092509250600080600061028c6040518060a00160405280876001600160a01b03168152602001886001600160a01b031681526020018e81526020018662ffffff16815260200160006001600160a01b03168152506104ad565b50925092509250818a88815181106102a6576102a6612bf2565b60200260200101906001600160a01b031690816001600160a01b031681525050808988815181106102d9576102d9612bf2565b602002602001019063ffffffff16908163ffffffff1681525050829b50868061030190612c1e565b97505061030d8d610909565b156103225761031b8d610943565b9c50610336565b508a99506000965061034195505050505050565b505050505050610223565b92959194509250565b60008060008060008060008088602001516001600160a01b031689600001516001600160a01b031610905060008960800151905060008a60a001516001600160a01b03166000141561039d575060408a01515b6000604051806080016040528085151581526020016001151581526020018d6060015162ffffff1681526020018d60a001516001600160a01b03166000146103e9578d60a00151610422565b856104125761040d600173fffd8963efd1fc6a506488495d951d5263988d26612c39565b610422565b6104226401000276a36001612c61565b6001600160a01b03168152509050610450836104418e60400151610974565b61044a90612c8c565b8361098a565b909c509a50909750955060008713610468578561046a565b865b9a50600087136104825761047d87612c8c565b61048b565b61048b86612c8c565b9450811561049f5781851461049f57600080fd5b505050505050509193509193565b60008060008060006104cc866000015187602001518860600151610e54565b905060006040518060c0016040528088600001516001600160a01b0316815260200188602001516001600160a01b0316815260200188604001518152602001886060015162ffffff168152602001836001600160a01b0316815260200160006001600160a01b031681525090506105428161034a565b5091999098509096509294509192505050565b6000806000806000610574866000015187602001518860600151610e54565b905060006040518060c0016040528088600001516001600160a01b0316815260200188602001516001600160a01b0316815260200188604001518152602001836001600160a01b03168152602001886060015162ffffff16815260200160006001600160a01b0316815250905061054281610793565b600060608060006105fa866108a1565b67ffffffffffffffff8111156106125761061261288e565b60405190808252806020026020018201604052801561063b578160200160208202803683370190505b509250610647866108a1565b67ffffffffffffffff81111561065f5761065f61288e565b604051908082528060200260200182016040528015610688578160200160208202803683370190505b50915060005b600080600061069c8a6108cd565b92509250925060008060006106f76040518060a00160405280886001600160a01b03168152602001876001600160a01b031681526020018e81526020018662ffffff16815260200160006001600160a01b0316815250610555565b50925092509250818a888151811061071157610711612bf2565b60200260200101906001600160a01b031690816001600160a01b0316815250508089888151811061074457610744612bf2565b602002602001019063ffffffff16908163ffffffff1681525050829b50868061076c90612c1e565b9750506107788d610909565b15610322576107868d610943565b9c5050505050505061068e565b600080600080600080600087602001516001600160a01b031688600001516001600160a01b03161090506000886060015190506000604051806080016040528084151581526020016000151581526020018b6080015162ffffff1681526020018b60a001516001600160a01b0316600014610812578b60a0015161084b565b8461083b57610836600173fffd8963efd1fc6a506488495d951d5263988d26612c39565b61084b565b61084b6401000276a36001612c61565b6001600160a01b0316815250905061086a8261044a8c60400151610974565b909a50985090955093506000851361088a5761088585612c8c565b610893565b61089384612c8c565b985050505050509193509193565b60006108af60036014612ca9565b601483516108bd9190612cc1565b6108c79190612cee565b92915050565b600080806108db8482610e92565b92506108e8846014610f4b565b90506109006108f960036014612ca9565b8590610e92565b91509193909250565b600061091760036014612ca9565b6014610924600382612ca9565b61092e9190612ca9565b6109389190612ca9565b825110159050919050565b60606108c761095460036014612ca9565b61096060036014612ca9565b845161096c9190612cc1565b849190610ff6565b6000600160ff1b821061098657600080fd5b5090565b6000808313602083015280806001816109a28861114f565b905060006040518060e001604052808981526020016000815260200183600001516001600160a01b03168152602001836020015160020b81526020016000815260200160006001600160801b031681526020018a6001600160a01b0316631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a579190612d19565b6001600160801b0316905290505b805115801590610a8f575086606001516001600160a01b031681604001516001600160a01b031614155b15610e03576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526040808301516001600160a01b0316825283015160608301518951610af5928d92909161125a565b1515604083015260020b60208201819052620d89e7191315610b2057620d89e7196020820152610b54565b610b2d620d89e719612d34565b60020b816020015160020b1315610b5457610b4b620d89e719612d34565b60020b60208201525b610b6181602001516114d1565b6001600160a01b0316606082015260408201518851610be49190610ba15789606001516001600160a01b031683606001516001600160a01b031611610bbf565b89606001516001600160a01b031683606001516001600160a01b0316105b610bcd578260600151610bd3565b89606001515b60c0850151855160408d01516118e8565b60c085015260a084015260808301526001600160a01b03166040830152602088015115610c6057610c278160c001518260800151610c229190612ca9565b610974565b82518390610c36908390612d57565b90525060a0810151610c5690610c4b90610974565b602084015190611b03565b6020830152610cac565b610c6d8160a00151610974565b82518390610c7c908390612d96565b90525060c08101516080820151610ca691610c9b91610c229190612ca9565b602084015190611b23565b60208301525b80606001516001600160a01b031682604001516001600160a01b03161415610dc657806040015115610d9857602081015160405163f30dba9360e01b815260029190910b60048201526000906001600160a01b038c169063f30dba939060240161010060405180830381865afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e9190612de7565b505050505050915050886000015115610d6d57610d6a81612e91565b90505b610d7b8360c0015182611b43565b6001600160801b031660c084015284610d9381612eb8565b955050505b8751610da8578060200151610db9565b60018160200151610db99190612edc565b60020b6060830152610dfd565b80600001516001600160a01b031682604001516001600160a01b031614610dfd57610df48260400151611c03565b60020b60608301525b50610a65565b60208701518751151590151514610e2a5760208101518151610e25908a612d57565b610e3c565b8051610e369089612d57565b81602001515b604090920151909a9199509750919550909350505050565b6000610e8a7f0000000000000000000000000000000000000000000000000000000000000000610e85868686611f3d565b611fa8565b949350505050565b600081610ea0816014612ca9565b1015610ee85760405162461bcd60e51b8152602060048201526012602482015271746f416464726573735f6f766572666c6f7760701b60448201526064015b60405180910390fd5b610ef3826014612ca9565b83511015610f3b5760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610edf565b500160200151600160601b900490565b600081610f59816003612ca9565b1015610f9b5760405162461bcd60e51b8152602060048201526011602482015270746f55696e7432345f6f766572666c6f7760781b6044820152606401610edf565b610fa6826003612ca9565b83511015610fed5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b6044820152606401610edf565b50016003015190565b60608161100481601f612ca9565b10156110435760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610edf565b8261104e8382612ca9565b101561108d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610edf565b6110978284612ca9565b845110156110db5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610edf565b6060821580156110fa5760405191506000825260208201604052611144565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561113357805183526020928301920161111b565b5050858452601f01601f1916604052505b5090505b9392505050565b6040805160608101825260008082526020820181905291810191909152816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156111aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ce9190612f48565b5050505060029190910b6020808501919091526001600160a01b039283168452604080516334324e9f60e21b815290519386169363d0c93a7c9350600480830193928290030181865afa158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190612fd8565b60020b6040820152919050565b600080806112688686612ff3565b905060008560020b1280156112885750611282868661302d565b60020b15155b1561129b57806112978161304f565b9150505b83156113a6576000806112ad83612091565b90925090506000600160ff831681901b906112c89082612cc1565b6112d29190612ca9565b60405163299ce14b60e11b8152600185900b600482015290915060009082906001600160a01b038d1690635339c29690602401602060405180830381865afa158015611322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113469190613073565b168015159650905085611370578961136160ff851687612edc565b61136b919061308c565b61139b565b8961137a826120ae565b6113849085613119565b6113919060ff1687612edc565b61139b919061308c565b9650505050506114c7565b6000806113bc6113b784600161313c565b612091565b909250905060006113d4600160ff841681901b612cc1565b60405163299ce14b60e11b8152600185900b60048201529019915060009082906001600160a01b038d1690635339c29690602401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114499190613073565b16801515965090508561148957896114628460ff613119565b60ff1661147087600161313c565b61147a919061313c565b611484919061308c565b6114c0565b8983611494836121a3565b61149e9190613119565b60ff166114ac87600161313c565b6114b6919061313c565b6114c0919061308c565b9650505050505b5094509492505050565b60008060008360020b126114e8578260020b6114f5565b8260020b6114f590612c8c565b9050611504620d89e719612d34565b62ffffff1681111561153c5760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610edf565b60006001821661155057600160801b611562565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156115a157608061159c826ffff97272373d413259a46990580e213a613183565b901c90505b60048216156115cb5760806115c6826ffff2e50f5f656932ef12357cf3c7fdcc613183565b901c90505b60088216156115f55760806115f0826fffe5caca7e10e4e61c3624eaa0941cd0613183565b901c90505b601082161561161f57608061161a826fffcb9843d60f6159c9db58835c926644613183565b901c90505b6020821615611649576080611644826fff973b41fa98c081472e6896dfb254c0613183565b901c90505b604082161561167357608061166e826fff2ea16466c96a3843ec78b326b52861613183565b901c90505b608082161561169d576080611698826ffe5dee046a99a2a811c461f1969c3053613183565b901c90505b6101008216156116c85760806116c3826ffcbe86c7900a88aedcffc83b479aa3a4613183565b901c90505b6102008216156116f35760806116ee826ff987a7253ac413176f2b074cf7815e54613183565b901c90505b61040082161561171e576080611719826ff3392b0822b70005940c7a398e4b70f3613183565b901c90505b610800821615611749576080611744826fe7159475a2c29b7443b29c7fa6e889d9613183565b901c90505b61100082161561177457608061176f826fd097f3bdfd2022b8845ad8f792aa5825613183565b901c90505b61200082161561179f57608061179a826fa9f746462d870fdf8a65dc1f90e061e5613183565b901c90505b6140008216156117ca5760806117c5826f70d869a156d2a1b890bb3df62baf32f7613183565b901c90505b6180008216156117f55760806117f0826f31be135f97d08fd981231505542fcfa6613183565b901c90505b6201000082161561182157608061181c826f09aa508b5b7a84e1c677de54f3e99bc9613183565b901c90505b6202000082161561184c576080611847826e5d6af8dedb81196699c329225ee604613183565b901c90505b62040000821615611876576080611871826d2216e584f5fa1ea926041bedfe98613183565b901c90505b6208000082161561189e576080611899826b048a170391f7dc42444e8fa2613183565b901c90505b60008460020b13156118b9576118b681600019612cee565b90505b6118c8640100000000826131a2565b156118d45760016118d7565b60005b610e8a9060ff16602083901c612ca9565b60008080806001600160a01b03808916908a1610158187128015906119745760006119288961191a8a620f42406131b6565b62ffffff16620f42406122ce565b9050826119415761193c8c8c8c600161243b565b61194e565b61194e8b8d8c60016124c2565b955085811061195f578a965061196e565b61196b8c8b8386612589565b96505b506119c8565b8161198b576119868b8b8b60006124c2565b611998565b6119988a8c8b600061243b565b9350836119a489612c8c565b106119b1578995506119c8565b6119c58b8a6119bf8b612c8c565b856125d5565b95505b6001600160a01b038a8116908716148215611a2b578080156119e75750815b6119fd576119f8878d8c60016124c2565b6119ff565b855b9550808015611a0c575081155b611a2257611a1d878d8c600061243b565b611a24565b845b9450611a75565b808015611a355750815b611a4b57611a468c888c600161243b565b611a4d565b855b9550808015611a5a575081155b611a7057611a6b8c888c60006124c2565b611a72565b845b94505b81158015611a8a5750611a8789612c8c565b85115b15611a9b57611a9889612c8c565b94505b818015611aba57508a6001600160a01b0316876001600160a01b031614155b15611ad057611ac9868a612cc1565b9350611af4565b611af18662ffffff8a16611ae78b620f42406131b6565b62ffffff16612621565b93505b50505095509550955095915050565b60008082121583611b148482612d57565b9250821315146108c757600080fd5b60008082121583611b348482612d96565b9250821215146108c757600080fd5b60008082600f0b1215611bb0576001600160801b038316611b6383612e91565b611b6d90856131d2565b9150816001600160801b031610611bab5760405162461bcd60e51b81526020600482015260026024820152614c5360f01b6044820152606401610edf565b6108c7565b6001600160801b038316611bc483856131f2565b9150816001600160801b031610156108c75760405162461bcd60e51b81526020600482015260026024820152614c4160f01b6044820152606401610edf565b60006401000276a36001600160a01b03831610801590611c3f575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b611c6f5760405162461bcd60e51b81526020600482015260016024820152602960f91b6044820152606401610edf565b640100000000600160c01b03602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110611d0a57611d00607f82612cc1565b83901c9150611d1b565b611d1581607f612cc1565b83901b91505b60006040611d2a608084612d57565b901b9050828302607f1c92508260801c80603f1b8217915083811c935050828302607f1c92508260801c80603e1b8217915083811c935050828302607f1c92508260801c80603d1b8217915083811c935050828302607f1c92508260801c80603c1b8217915083811c935050828302607f1c92508260801c80603b1b8217915083811c935050828302607f1c92508260801c80603a1b8217915083811c935050828302607f1c92508260801c8060391b8217915083811c935050828302607f1c92508260801c8060381b8217915083811c935050828302607f1c92508260801c8060371b8217915083811c935050828302607f1c92508260801c8060361b8217915083811c935050828302607f1c92508260801c8060351b8217915083811c935050828302607f1c92508260801c8060341b8217915083811c935050828302607f1c92508260801c8060331b8217915083811c935050828302607f1c92508260801c8060321b8217915050600081693627a301d71055774c85611ead9190613214565b905060006080611ecd6f028f6481ab7f045a5af012a19d003aaa84612d57565b901d905060006080611eef846fdb2df09e81959a81455e260799a0632f612d96565b901d90508060020b8260020b14611f2e57886001600160a01b0316611f13826114d1565b6001600160a01b03161115611f285781611f30565b80611f30565b815b9998505050505050505050565b6040805160608101825260008082526020820181905291810191909152826001600160a01b0316846001600160a01b03161115611f78579192915b50604080516060810182526001600160a01b03948516815292909316602083015262ffffff169181019190915290565b600081602001516001600160a01b031682600001516001600160a01b031610611fd057600080fd5b815160208084015160408086015181516001600160a01b0395861681860152949092168482015262ffffff90911660608085019190915281518085038201815260808501909252815191909201206001600160f81b031960a08401529085901b6bffffffffffffffffffffffff191660a183015260b58201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d582015260f50160408051601f1981840301815291905280516020909101209392505050565b600281900b60081d60006120a76101008461302d565b9050915091565b60008082116120bc57600080fd5b600160801b82106120da57608091821c916120d79082613299565b90505b6801000000000000000082106120fd57604091821c916120fa9082613299565b90505b640100000000821061211c57602091821c916121199082613299565b90505b62010000821061213957601091821c916121369082613299565b90505b610100821061215557600891821c916121529082613299565b90505b6010821061217057600491821c9161216d9082613299565b90505b6004821061218b57600291821c916121889082613299565b90505b6002821061219e576108c7600182613299565b919050565b60008082116121b157600080fd5b5060ff6001600160801b038216156121d5576121ce608082613119565b90506121dd565b608082901c91505b67ffffffffffffffff8216156121ff576121f8604082613119565b9050612207565b604082901c91505b63ffffffff8216156122255761221e602082613119565b905061222d565b602082901c91505b61ffff82161561224957612242601082613119565b9050612251565b601082901c91505b60ff82161561226c57612265600882613119565b9050612274565b600882901c91505b600f82161561228f57612288600482613119565b9050612297565b600482901c91505b60038216156122b2576122ab600282613119565b90506122ba565b600282901c91505b600182161561219e576108c7600182613119565b60008080600019858709858702925082811083820303915050806000141561230857600084116122fd57600080fd5b508290049050611148565b80841161231457600080fd5b60008486880980840393811190920391905060008561233581196001612ca9565b169586900495938490049360008190030460010190506123558184613183565b909317926000612366876003613183565b60021890506123758188613183565b612380906002612cc1565b61238a9082613183565b90506123968188613183565b6123a1906002612cc1565b6123ab9082613183565b90506123b78188613183565b6123c2906002612cc1565b6123cc9082613183565b90506123d88188613183565b6123e3906002612cc1565b6123ed9082613183565b90506123f98188613183565b612404906002612cc1565b61240e9082613183565b905061241a8188613183565b612425906002612cc1565b61242f9082613183565b9050611f308186613183565b6000836001600160a01b0316856001600160a01b0316111561245b579293925b8161248f5761248a6001600160801b0384166124778787612c39565b6001600160a01b0316600160601b6122ce565b6124b9565b6124b96001600160801b0384166124a68787612c39565b6001600160a01b0316600160601b612621565b95945050505050565b6000836001600160a01b0316856001600160a01b031611156124e2579293925b600160601b600160e01b03606084901b1660006124ff8787612c39565b6001600160a01b031690506000876001600160a01b03161161252057600080fd5b8361255257866001600160a01b03166125438383896001600160a01b03166122ce565b61254d9190612cee565b61257e565b61257e6125698383896001600160a01b0316612621565b886001600160a01b0316808204910615150190565b979650505050505050565b600080856001600160a01b0316116125a057600080fd5b6000846001600160801b0316116125b657600080fd5b816125c85761248a8585856001612661565b6124b98585856001612748565b600080856001600160a01b0316116125ec57600080fd5b6000846001600160801b03161161260257600080fd5b816126145761248a8585856000612748565b6124b98585856000612661565b600061262e8484846122ce565b90506000828061264057612640612cd8565b848609111561114857600019811061265757600080fd5b806124b981612c1e565b600081156126d35760006001600160a01b038411156126975761269284600160601b876001600160801b03166122ce565b6126ae565b6126ae6001600160801b038616606086901b612cee565b90506126cb6126c66001600160a01b0388168361285d565b612878565b915050610e8a565b60006001600160a01b03841115612701576126fc84600160601b876001600160801b0316612621565b61271e565b61271e606085901b6001600160801b038716808204910615150190565b905080866001600160a01b03161161273557600080fd5b6126cb816001600160a01b038816612cc1565b600082612756575083610e8a565b600160601b600160e01b03606085901b1682156128005760006001600160a01b038716856127848282613183565b92506127909083612cee565b14156127cb5760006127a28284612ca9565b90508281106127c9576127bf83896001600160a01b031683612621565b9350505050610e8a565b505b6127f7826127ec876127e66001600160a01b038c1684612cee565b9061285d565b808204910615150190565b92505050610e8a565b60006001600160a01b038716856128178282613183565b92506128239083612cee565b14801561282f57508082115b61283857600080fd5b60006128448284612cc1565b90506127bf6126c6848a6001600160a01b031684612621565b60008261286a8382612ca9565b91508110156108c757600080fd5b806001600160a01b038116811461219e57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156128c7576128c761288e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156128f6576128f661288e565b604052919050565b6000806040838503121561291157600080fd5b823567ffffffffffffffff8082111561292957600080fd5b818501915085601f83011261293d57600080fd5b81356020828211156129515761295161288e565b612963601f8301601f191682016128cd565b9250818352878183860101111561297957600080fd5b8181850182850137600091830181019190915290969401359450505050565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156129e25784516001600160a01b0316835293830193918301916001016129bd565b50508481036040860152865180825290820192508187019060005b81811015612a1f57825163ffffffff16855293830193918301916001016129fd565b5050505060609290920192909252949350505050565b6001600160a01b0381168114612a4a57600080fd5b50565b803562ffffff8116811461219e57600080fd5b600060c08284031215612a7257600080fd5b612a7a6128a4565b8235612a8581612a35565b81526020830135612a9581612a35565b602082015260408381013590820152612ab060608401612a4d565b60608201526080830135612ac381612a35565b608082015260a0830135612ad681612a35565b60a08201529392505050565b600060a08284031215612af457600080fd5b60405160a0810181811067ffffffffffffffff82111715612b1757612b1761288e565b6040529050808235612b2881612a35565b81526020830135612b3881612a35565b602082015260408381013590820152612b5360608401612a4d565b60608201526080830135612b6681612a35565b6080919091015292915050565b600060a08284031215612b8557600080fd5b6111488383612ae2565b600060c08284031215612ba157600080fd5b612ba96128a4565b8235612bb481612a35565b81526020830135612bc481612a35565b6020820152604083810135908201526060830135612be181612a35565b6060820152612ac360808401612a4d565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612c3257612c32612c08565b5060010190565b60006001600160a01b0383811690831681811015612c5957612c59612c08565b039392505050565b60006001600160a01b03828116848216808303821115612c8357612c83612c08565b01949350505050565b6000600160ff1b821415612ca257612ca2612c08565b5060000390565b60008219821115612cbc57612cbc612c08565b500190565b600082821015612cd357612cd3612c08565b500390565b634e487b7160e01b600052601260045260246000fd5b600082612cfd57612cfd612cd8565b500490565b80516001600160801b038116811461219e57600080fd5b600060208284031215612d2b57600080fd5b61114882612d02565b60008160020b627fffff19811415612d4e57612d4e612c08565b60000392915050565b60008083128015600160ff1b850184121615612d7557612d75612c08565b6001600160ff1b0384018313811615612d9057612d90612c08565b50500390565b600080821280156001600160ff1b0384900385131615612db857612db8612c08565b600160ff1b8390038412811615612dd157612dd1612c08565b50500190565b8051801515811461219e57600080fd5b600080600080600080600080610100898b031215612e0457600080fd5b612e0d89612d02565b9750602089015180600f0b8114612e2357600080fd5b80975050604089015195506060890151945060808901518060060b8114612e4957600080fd5b60a08a0151909450612e5a81612a35565b60c08a015190935063ffffffff81168114612e7457600080fd5b9150612e8260e08a01612dd7565b90509295985092959890939650565b600081600f0b6f7fffffffffffffffffffffffffffffff19811415612d4e57612d4e612c08565b600063ffffffff80831681811415612ed257612ed2612c08565b6001019392505050565b60008160020b8360020b6000811281627fffff1901831281151615612f0357612f03612c08565b81627fffff018313811615612f1a57612f1a612c08565b5090039392505050565b8051600281900b811461219e57600080fd5b805161ffff8116811461219e57600080fd5b600080600080600080600060e0888a031215612f6357600080fd5b8751612f6e81612a35565b9650612f7c60208901612f24565b9550612f8a60408901612f36565b9450612f9860608901612f36565b9350612fa660808901612f36565b925060a088015160ff81168114612fbc57600080fd5b9150612fca60c08901612dd7565b905092959891949750929550565b600060208284031215612fea57600080fd5b61114882612f24565b60008160020b8360020b8061300a5761300a612cd8565b627fffff1982146000198214161561302457613024612c08565b90059392505050565b60008260020b8061304057613040612cd8565b808360020b0791505092915050565b60008160020b627fffff1981141561306957613069612c08565b6000190192915050565b60006020828403121561308557600080fd5b5051919050565b60008160020b8360020b627fffff6000821360008413838304851182821616156130b8576130b8612c08565b627fffff1960008512828116878305871216156130d7576130d7612c08565b600087129250858205871284841616156130f3576130f3612c08565b8585058712818416161561310957613109612c08565b5050509290910295945050505050565b600060ff821660ff84168082101561313357613133612c08565b90039392505050565b60008160020b8360020b6000821282627fffff0382138115161561316257613162612c08565b82627fffff1903821281161561317a5761317a612c08565b50019392505050565b600081600019048311821515161561319d5761319d612c08565b500290565b6000826131b1576131b1612cd8565b500690565b600062ffffff83811690831681811015612c5957612c59612c08565b60006001600160801b0383811690831681811015612c5957612c59612c08565b60006001600160801b03808316818516808303821115612c8357612c83612c08565b60006001600160ff1b038184138284138082168684048611161561323a5761323a612c08565b600160ff1b600087128281168783058912161561325957613259612c08565b6000871292508782058712848416161561327557613275612c08565b8785058712818416161561328b5761328b612c08565b505050929093029392505050565b600060ff821660ff84168060ff038211156132b6576132b6612c08565b01939250505056fea2646970667358221220e32853defc5750e18d577b1d205a53a448b58be9388324b8850a6f6115527b0f64736f6c634300080b00330000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984