@zoralabs/limit-orders 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$js.log +50 -49
- package/CHANGELOG.md +73 -0
- package/abis/ISetLimitOrderConfig.json +27 -0
- package/abis/IWETH.json +118 -0
- package/abis/IZoraLimitOrderBook.json +5 -0
- package/abis/LimitOrderLiquidity.json +7 -0
- package/abis/LimitOrderViews.json +62 -0
- package/abis/{SimpleAccessManaged.json → Ownable.json} +29 -10
- package/abis/Ownable2Step.json +115 -0
- package/abis/PermittedCallers.json +181 -0
- package/abis/SwapWithLimitOrders.json +134 -14
- package/abis/ZoraLimitOrderBook.json +187 -35
- package/cache/solidity-files-cache.json +1 -1
- package/dist/index.cjs +219 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +219 -34
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +254 -41
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/out/BalanceDelta.sol/BalanceDeltaLibrary.json +1 -1
- package/out/BeforeSwapDelta.sol/BeforeSwapDeltaLibrary.json +1 -1
- package/out/BitMath.sol/BitMath.json +1 -1
- package/out/BytesLib.sol/BytesLib.json +1 -1
- package/out/CoinCommon.sol/CoinCommon.json +1 -1
- package/out/CoinConfigurationVersions.sol/CoinConfigurationVersions.json +1 -1
- package/out/CoinConstants.sol/CoinConstants.json +1 -1
- package/out/Context.sol/Context.json +1 -1
- package/out/Currency.sol/CurrencyLibrary.json +1 -1
- package/out/CurrencyReserves.sol/CurrencyReserves.json +1 -1
- package/out/CustomRevert.sol/CustomRevert.json +1 -1
- package/out/DopplerMath.sol/DopplerMath.json +1 -1
- package/out/FixedPoint128.sol/FixedPoint128.json +1 -1
- package/out/FixedPoint96.sol/FixedPoint96.json +1 -1
- package/out/FullMath.sol/FullMath.json +1 -1
- package/out/IAllowanceTransfer.sol/IAllowanceTransfer.json +1 -1
- package/out/ICoin.sol/ICoin.json +1 -1
- package/out/ICoin.sol/IHasCoinType.json +1 -1
- package/out/ICoin.sol/IHasPoolKey.json +1 -1
- package/out/ICoin.sol/IHasSwapPath.json +1 -1
- package/out/ICoin.sol/IHasTotalSupplyForPositions.json +1 -1
- package/out/IDeployedCoinVersionLookup.sol/IDeployedCoinVersionLookup.json +1 -1
- package/out/IDopplerErrors.sol/IDopplerErrors.json +1 -1
- package/out/IEIP712.sol/IEIP712.json +1 -1
- package/out/IERC1363.sol/IERC1363.json +1 -1
- package/out/IERC165.sol/IERC165.json +1 -1
- package/out/IERC20.sol/IERC20.json +1 -1
- package/out/IERC20Minimal.sol/IERC20Minimal.json +1 -1
- package/out/IERC6909Claims.sol/IERC6909Claims.json +1 -1
- package/out/IERC7572.sol/IERC7572.json +1 -1
- package/out/IExtsload.sol/IExtsload.json +1 -1
- package/out/IExttload.sol/IExttload.json +1 -1
- package/out/IHasRewardsRecipients.sol/IHasRewardsRecipients.json +1 -1
- package/out/IHooks.sol/IHooks.json +1 -1
- package/out/IMsgSender.sol/IMsgSender.json +1 -1
- package/out/IPoolManager.sol/IPoolManager.json +1 -1
- package/out/IProtocolFees.sol/IProtocolFees.json +1 -1
- package/out/ISetLimitOrderConfig.sol/ISetLimitOrderConfig.json +1 -0
- package/out/ISupportsLimitOrderFill.sol/ISupportsLimitOrderFill.json +1 -1
- package/out/ISwapPathRouter.sol/ISwapPathRouter.json +1 -1
- package/out/ISwapRouter.sol/ISwapRouter.json +1 -1
- package/out/IUniswapV3SwapCallback.sol/IUniswapV3SwapCallback.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4Hook.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableDestinationV4HookWithUpdateableFee.json +1 -1
- package/out/IUpgradeableV4Hook.sol/IUpgradeableV4Hook.json +1 -1
- package/out/IWETH.sol/IWETH.json +1 -0
- package/out/IZoraHookRegistry.sol/IZoraHookRegistry.json +1 -1
- package/out/IZoraLimitOrderBook.sol/IZoraLimitOrderBook.json +1 -1
- package/out/IZoraLimitOrderBookCoinsInterface.sol/IZoraLimitOrderBookCoinsInterface.json +1 -1
- package/out/IZoraV4CoinHook.sol/IZoraV4CoinHook.json +1 -1
- package/out/LimitOrderBitmap.sol/LimitOrderBitmap.json +1 -1
- package/out/LimitOrderCommon.sol/LimitOrderCommon.json +1 -1
- package/out/LimitOrderCreate.sol/LimitOrderCreate.json +1 -1
- package/out/LimitOrderFill.sol/LimitOrderFill.json +1 -1
- package/out/LimitOrderLiquidity.sol/LimitOrderLiquidity.json +1 -1
- package/out/LimitOrderQueues.sol/LimitOrderQueues.json +1 -1
- package/out/LimitOrderStorage.sol/LimitOrderStorage.json +1 -1
- package/out/LimitOrderTypes.sol/LimitOrderTypes.json +1 -1
- package/out/LimitOrderViews.sol/LimitOrderViews.json +1 -0
- package/out/LimitOrderWithdraw.sol/LimitOrderWithdraw.json +1 -1
- package/out/LiquidityAmounts.sol/LiquidityAmounts.json +1 -1
- package/out/LiquidityMath.sol/LiquidityMath.json +1 -1
- package/out/Lock.sol/Lock.json +1 -1
- package/out/NonzeroDeltaCount.sol/NonzeroDeltaCount.json +1 -1
- package/out/Ownable.sol/Ownable.json +1 -0
- package/out/Ownable2Step.sol/Ownable2Step.json +1 -0
- package/out/Path.sol/Path.json +1 -1
- package/out/PathKey.sol/PathKeyLibrary.json +1 -1
- package/out/Permit2Payments.sol/Permit2Payments.json +1 -1
- package/out/PermittedCallers.sol/PermittedCallers.json +1 -0
- package/out/PoolId.sol/PoolIdLibrary.json +1 -1
- package/out/Position.sol/Position.json +1 -1
- package/out/SafeCast.sol/SafeCast.json +1 -1
- package/out/SafeCast160.sol/SafeCast160.json +1 -1
- package/out/SafeERC20.sol/SafeERC20.json +1 -1
- package/out/SqrtPriceMath.sol/SqrtPriceMath.json +1 -1
- package/out/StateLibrary.sol/StateLibrary.json +1 -1
- package/out/SwapLimitOrders.sol/SwapLimitOrders.json +1 -1
- package/out/SwapWithLimitOrders.sol/SwapWithLimitOrders.json +1 -1
- package/out/TickBitmap.sol/TickBitmap.json +1 -1
- package/out/TickMath.sol/TickMath.json +1 -1
- package/out/TransientSlot.sol/TransientSlot.json +1 -1
- package/out/TransientStateLibrary.sol/TransientStateLibrary.json +1 -1
- package/out/UniV4SwapToCurrency.sol/UniV4SwapToCurrency.json +1 -1
- package/out/UnsafeMath.sol/UnsafeMath.json +1 -1
- package/out/V3ToV4SwapLib.sol/V3ToV4SwapLib.json +1 -1
- package/out/ZoraLimitOrderBook.sol/ZoraLimitOrderBook.json +1 -1
- package/out/build-info/37e0124d88d60569.json +1 -0
- package/out/uniswap/BitMath.sol/BitMath.json +1 -1
- package/out/uniswap/CustomRevert.sol/CustomRevert.json +1 -1
- package/out/uniswap/FullMath.sol/FullMath.json +1 -1
- package/out/uniswap/SafeCast.sol/SafeCast.json +1 -1
- package/out/uniswap/TickMath.sol/TickMath.json +1 -1
- package/package/wagmiGenerated.ts +218 -33
- package/package.json +1 -1
- package/src/IZoraLimitOrderBook.sol +5 -5
- package/src/ZoraLimitOrderBook.sol +24 -41
- package/src/access/PermittedCallers.sol +41 -0
- package/src/libs/LimitOrderBitmap.sol +0 -51
- package/src/libs/LimitOrderCommon.sol +48 -30
- package/src/libs/LimitOrderCreate.sol +5 -18
- package/src/libs/LimitOrderFill.sol +32 -161
- package/src/libs/LimitOrderLiquidity.sol +92 -71
- package/src/libs/LimitOrderViews.sol +168 -0
- package/src/libs/LimitOrderWithdraw.sol +13 -4
- package/src/libs/SwapLimitOrders.sol +14 -7
- package/src/router/ISetLimitOrderConfig.sol +12 -0
- package/src/router/SwapWithLimitOrders.sol +46 -33
- package/test/LimitOrderAccessControl.t.sol +173 -156
- package/test/LimitOrderBitmap.t.sol +13 -7
- package/test/LimitOrderFill.t.sol +42 -4
- package/test/LimitOrderLibraries.t.sol +18 -10
- package/test/LimitOrderLiquidityPayouts.t.sol +280 -3
- package/test/LimitOrderWithdraw.t.sol +28 -1
- package/test/SwapWithLimitOrders.t.sol +3 -5
- package/test/SwapWithLimitOrdersRouter.t.sol +108 -13
- package/test/gas/LimitOrderFillGas.t.sol +0 -7
- package/test/gas/LimitOrderSwapGas.t.sol +0 -6
- package/test/unit/LimitOrderBitmapUnit.t.sol +0 -134
- package/test/unit/LimitOrderCreateUnit.t.sol +32 -0
- package/test/unit/SwapLimitOrdersUnit.t.sol +231 -33
- package/test/unit/SwapLimitOrdersValidation.t.sol +28 -42
- package/test/unit/SwapWithLimitOrdersUnit.t.sol +21 -88
- package/test/utils/BaseTest.sol +34 -22
- package/test/utils/MockWETH.sol +39 -0
- package/test/utils/TestableZoraLimitOrderBook.sol +5 -7
- package/abis/IAuthority.json +0 -31
- package/abis/SimpleAccessManager.json +0 -351
- package/out/IAuthority.sol/IAuthority.json +0 -1
- package/out/SimpleAccessManaged.sol/SimpleAccessManaged.json +0 -1
- package/out/SimpleAccessManager.sol/SimpleAccessManager.json +0 -1
- package/out/build-info/69718f10d1dc37f0.json +0 -1
- package/src/access/SimpleAccessManaged.sol +0 -76
- package/src/access/SimpleAccessManager.sol +0 -268
- package/test/SimpleAccessManager.t.sol +0 -420
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"poolManager_","type":"address","internalType":"address"},{"name":"zoraCoinVersionLookup_","type":"address","internalType":"address"},{"name":"zoraHookRegistry_","type":"address","internalType":"address"},{"name":"authority_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"maker","type":"address","internalType":"address"},{"name":"coin","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"create","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"orderSizes","type":"uint256[]","internalType":"uint256[]"},{"name":"orderTicks","type":"int24[]","internalType":"int24[]"},{"name":"maker","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"payable"},{"type":"function","name":"fill","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"startTick","type":"int24","internalType":"int24"},{"name":"endTick","type":"int24","internalType":"int24"},{"name":"maxFillCount","type":"uint256","internalType":"uint256"},{"name":"fillReferral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fill","inputs":[{"name":"batches","type":"tuple[]","internalType":"struct IZoraLimitOrderBook.OrderBatch[]","components":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"orderIds","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"fillReferral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getMaxFillCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxFillCount","inputs":[{"name":"maxFillCount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"orderIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"coin","type":"address","internalType":"address"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"zoraCoinVersionLookup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDeployedCoinVersionLookup"}],"stateMutability":"view"},{"type":"function","name":"zoraHookRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IZoraHookRegistry"}],"stateMutability":"view"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LimitOrderCreated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCurrency0","type":"bool","indexed":false,"internalType":"bool"},{"name":"orderTick","type":"int24","indexed":false,"internalType":"int24"},{"name":"currentTick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderSize","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"LimitOrderFilled","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coinIn","type":"address","indexed":true,"internalType":"address"},{"name":"coinOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amountOut","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"fillReferral","type":"address","indexed":false,"internalType":"address"},{"name":"fillReferralAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"tick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"LimitOrderUpdated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCurrency0","type":"bool","indexed":false,"internalType":"bool"},{"name":"tick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderSize","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCancelled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MakerBalanceUpdated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[]},{"type":"error","name":"AddressZero","inputs":[]},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"CoinMismatch","inputs":[{"name":"orderId","type":"bytes32","internalType":"bytes32"},{"name":"expectedCoin","type":"address","internalType":"address"},{"name":"actualCoin","type":"address","internalType":"address"}]},{"type":"error","name":"InsufficientForwardedFunds","inputs":[]},{"type":"error","name":"InsufficientTransferFunds","inputs":[]},{"type":"error","name":"InvalidFillWindow","inputs":[{"name":"startTick","type":"int24","internalType":"int24"},{"name":"endTick","type":"int24","internalType":"int24"},{"name":"isCurrency0","type":"bool","internalType":"bool"}]},{"type":"error","name":"InvalidOrder","inputs":[]},{"type":"error","name":"InvalidPoolKey","inputs":[]},{"type":"error","name":"MaxFillCountCannotBeZero","inputs":[]},{"type":"error","name":"MinAmountNotReached","inputs":[{"name":"withdrawn","type":"uint256","internalType":"uint256"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NativeValueMismatch","inputs":[]},{"type":"error","name":"NotPoolManager","inputs":[]},{"type":"error","name":"OnlyZoraHook","inputs":[]},{"type":"error","name":"OrderClosed","inputs":[]},{"type":"error","name":"OrderNotMaker","inputs":[]},{"type":"error","name":"PathMustHaveAtLeastOneStep","inputs":[]},{"type":"error","name":"RouterMsgSenderInvalid","inputs":[]},{"type":"error","name":"UnknownCallback","inputs":[]},{"type":"error","name":"UnlockedFillNotAllowed","inputs":[]},{"type":"error","name":"ZeroMaker","inputs":[]},{"type":"error","name":"ZeroOrderSize","inputs":[]},{"type":"error","name":"ZeroRealizedOrder","inputs":[]}],"bytecode":{"object":"0x60e03461017d57601f615d0138819003918201601f19168301916001600160401b038311848410176101815780849260809460405283398101031261017d5761004781610195565b61005360208301610195565b907f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad602061008360408601610195565b946001600160a01b039061009990606001610195565b168060018060a01b03195f5416175f55604051908152a16001600160a01b0390811660805290811660a0521660c052604051615b5790816101aa8239608051818181601c0152818161031d015281816103e20152818161063d01528181610d47015281816110e401528181611536015281816115a4015281816115f90152818161165a0152818161179a015281816117ef01528181611aa201528181611d1c01528181611dd001528181611e0901528181611e4101528181612484015261282e015260a0518181816109a601526124a9015260c0518181816106e00152610f9c0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361017d5756fe60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081635ef3e95514610994575080635f8fbad6146109335780637a9cf2731461081b5780637a9e5e4b1461078057806391dd73461461070f578063a6de70b4146106cb578063bf7e214f146106a4578063c2ec68ea146104eb578063c96d060b1461043a578063d8c3177214610411578063dc4c90d3146103cd578063eb07ed24146101565763f7888aec146100f6575f61000f565b346101525760403660031901126101525761010f610a08565b6101176109f2565b6001600160a01b039182165f9081525f516020615b375f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b366003190161012081126101525760a0136101525760405161017781610a86565b6004356001600160a01b03811681036101525781526024356001600160a01b038116810361015257602082015260443562ffffff811681036101525760408201526064358060020b81036101525760608201526084356001600160a01b03811681036101525760808201526101ea6109d5565b9060c4356001600160401b03811161015257366023820112156101525780600401359061021682610bbc565b916102246040519384610b21565b8083526024602084019160051b8301019136831161015257602401905b8282106103bd5750505060e4356001600160401b03811161015257366023820112156101525780600401359061027682610bbc565b916102846040519384610b21565b8083526024602084019160051b8301019136831161015257602401905b8282106103a5575050610104359290506001600160a01b0383168303610152575f5460405163b700961360e01b8152336004820152306024820152633ac1fb4960e21b604482015290602090829060649082906001600160a01b03165afa90811561039a575f91610360575b50156103515761034d94610341947f0000000000000000000000000000000000000000000000000000000000000000612973565b60405191829182610bd3565b0390f35b6370dbefff60e11b5f5260045ffd5b90506020813d602011610392575b8161037b60209383610b21565b810103126101525761038c90610c0c565b8661030d565b3d915061036e565b6040513d5f823e3d90fd5b602080916103b2846109e4565b8152019101906102a1565b8135815260209182019101610241565b34610152575f366003190112610152576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610152575f3660031901126101525760205f516020615b175f395f51905f5254604051908152f35b34610152576020366003190112610152575f5460405163b700961360e01b815233600482015230602482015263c96d060b60e01b604482015290602090829060649082906001600160a01b03165afa90811561039a575f916104b1575b5015610351576004355f516020615b175f395f51905f5255005b90506020813d6020116104e3575b816104cc60209383610b21565b81010312610152576104dd90610c0c565b81610497565b3d91506104bf565b34610152576080366003190112610152576004356001600160401b0381116101525761051b903690600401610a32565b906105246109f2565b916064356001600160a01b0381169190829003610152576105e09261054a91369161106d565b926040519161055883610a86565b33835260208301948552604083019160018060a01b03168252606083016044358152608084019182526105b160405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610c8e565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610b21565b6040519081610616816106085f94600260206106389801526040808401526060830190610a62565b03601f198101835282610b21565b604051809381926348c8949160e01b8352602060048401526024830190610a62565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561039a5761067357005b61068e903d805f833e6106868183610b21565b8101906127dc565b005b634e487b7160e01b5f52602160045260245ffd5b34610152575f366003190112610152575f546040516001600160a01b039091168152602090f35b34610152575f366003190112610152576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610152576020366003190112610152576004356001600160401b0381116101525736602382011215610152578060040135906001600160401b0382116101525736602483830101116101525761034d91602461076c92016110de565b604051918291602083526020830190610a62565b3461015257602036600319011261015257610799610a08565b5f546001600160a01b038116330361035157813b156107fa576001600160a01b0319166001600160a01b039091169081175f556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1005b506361798f2f60e11b5f9081526001600160a01b0391909116600452602490fd5b34610152576040366003190112610152576004356001600160401b0381116101525761084b903690600401610a32565b6108536109f2565b913681900360de1901905f5b8381101561068e578060051b820135838112156101525782019060c082016108878184611038565b9050610899575b50600191500161085f565b6108a66108ad9184611038565b369161106d565b60a0830135908115158092036101525761092861092d92826001966108d86106089551913690610b42565b92604051936108e685610ad0565b6108ee6124d0565b50845260208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610cc1565b612801565b8661088e565b3461015257366003190161014081126101525760a013610152576109556109d5565b60c435908160020b82036101525760e435908160020b82036101525761012435916001600160a01b03831683036101525761068e936101043592610d36565b34610152575f366003190112610152577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361015257565b35908160020b820361015257565b602435906001600160a01b038216820361015257565b600435906001600160a01b038216820361015257565b35906001600160a01b038216820361015257565b9181601f84011215610152578235916001600160401b038311610152576020808501948460051b01011161015257565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610aa157604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610aa157604052565b60e081019081106001600160401b03821117610aa157604052565b604081019081106001600160401b03821117610aa157604052565b60c081019081106001600160401b03821117610aa157604052565b90601f801991011681019081106001600160401b03821117610aa157604052565b91908260a091031261015257604051610b5a81610a86565b8092610b6581610a1e565b8252610b7360208201610a1e565b602083015260408101359062ffffff82168203610152576080916040840152610b9e606082016109e4565b60608401520135906001600160a01b03821682036101525760800152565b6001600160401b038111610aa15760051b60200190565b60206040818301928281528451809452019201905f5b818110610bf65750505090565b8251845260209384019390920191600101610be9565b5190811515820361015257565b90610c2382610bbc565b610c306040519182610b21565b8281528092610c41601f1991610bbc565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610cab5750505090565b8251845260209384019390920191600101610c9e565b61018060c0610d339360208452610cdc602085018251610c4b565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610c8e565b90565b90939291928215611022575b610d6b7f00000000000000000000000000000000000000000000000000000000000000006123de565b9283610f81575b610d7a61246d565b94610d836124d0565b50610d97610d92366004610b42565b6135a9565b5f525f516020615af75f395f51905f5260205260405f2096604051610dbb81610a86565b88546001600160a01b03908116825260018a0154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529a01541660808201529715610f50575b8651610e1f92919086908a906001600160a01b03166135cf565b9060020b90620d89e71982128015610f44575b610f255760020b90620d89e71982128015610f19575b610edb578415610ef857818113610edb575b60405194610e69602087610b21565b5f86525f36813760405198610e7d8a610ad0565b610e856124d0565b508952151560208901526040880152606087015260808601526001600160a01b031660a085015260c0840152610ed15750610608610928610ecf9260405192839160208301610cc1565b565b90610ecf91612544565b849250636ec3c1c760e11b5f52600452602452151560445260645ffd5b81811215610e5a57636ec3c1c760e11b5f526004526024525f60445260645ffd5b50620d89e88213610e48565b8491636ec3c1c760e11b5f5260045260020b602452151560445260645ffd5b50620d89e88213610e32565b909650610f5e366004610b42565b96606088015160020b15610f725790610e05565b63c256622b60e01b5f5260045ffd5b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561039a575f91610fe8575b50610d72576344863e8560e11b5f5260045ffd5b90506020813d60201161101a575b8161100360209383610b21565b810103126101525761101490610c0c565b5f610fd4565b3d9150610ff6565b5f516020615b175f395f51905f52549250610d42565b903590601e198136030182121561015257018035906001600160401b03821161015257602001918160051b3603831361015257565b92919061107981610bbc565b936110876040519586610b21565b602085838152019160051b810192831161015257905b8282106110a957505050565b813581526020918201910161109d565b6001600160401b038111610aa157601f01601f191660200190565b6003111561069057565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610152578035906003821015610152576020810135906001600160401b03821161015257019183601f84011215610152578235611157816110b9565b936111656040519586610b21565b81855260208501956020838301011161015257815f92602080930188378501015261118f826110d4565b81156118fa575061119f816110d4565b600181036112945750906111b161246d565b825183019260208401926020828603126101525751906001600160401b038211610152570192610160908490031261015257604051916111f083610ad0565b6111fd81602086016128ad565b835261120b60c08501610c0c565b602084015261121c60e0850161289f565b604084015261122e610100850161289f565b6060840152610120840151608084015261124b610140850161287b565b60a0840152610160840151906001600160401b03821161015257602061127692611280960101612916565b60c0830152612544565b60405161128e602082610b21565b5f815290565b6002906112a0816110d4565b036118eb5780518101916020828403126101525751906001600160401b03821161015257019060a08282031261015257604051906112dd82610a86565b6112e96020840161287b565b825260408301516001600160401b0381116101525760208061130f930191850101612916565b8060208301526113216060840161287b565b9182604082015261133f60a06080860151958660608501520161287b565b6080820181905290516001600160a01b03908116908216156118dc5782519182156118af579392905f945f94871515935b8587106113a2575b5050505050505081811061138d575050611280565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966113b3888361251c565b51805f525f516020615ad75f395f51905f5260205260405f20600481019182548060601c80156118af5789036118cd57600160ff8260501c166113f5816110d4565b036118be576003830154936002840154805f525f516020615af75f395f51905f5260205260405f206040519061142a82610a86565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b60608501819052920154166080830152156118af57611531916114e08761148381613c26565b9561149460ff8960581c1686613bcb565b5f9485525f516020615ab75f395f51905f52602090815260408087206001600160a01b0384168852825280872060028b900b885290915290942060ff60501b19891690915583856142fd565b5060406114ef8960801c614203565b8151906114fb82610ab5565b8760020b82528760181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b83528660048401614229565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af192831561039a575f9361187e575b508c605886901c60ff168061186f575b1561173c575081516001600160801b03608085901d1694906001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b15610152575f908e6115f46040519889938493630b0d9c0960e01b855260018060a01b0316906004850161476e565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af194851561039a5760ff988f965f516020615a975f395f51905f529660c09660029461167e9361172c575b505b81600f0b9160801d907f0000000000000000000000000000000000000000000000000000000000000000614ab7565b01549160018060a01b031697889660405193845260581c161515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361170a57506116e1926001600160801b03909216919050614094565b968580611700575b6116fb57600101959493929190611370565b611378565b50888810156116e9565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b5f61173691610b21565b5f61164d565b939160ff8660589593951c161580611863575b611775575b91600260ff9861167e5f516020615a975f395f51905f52969460c09661164f565b60208101516001600160801b03831695509193909290916001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b15610152575f908e6117ea6040519889938493630b0d9c0960e01b855260018060a01b0316906004850161476e565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af194851561039a5760ff988f965f516020615a975f395f51905f529660c09660029461167e93611853575b5094965094965050985050611754565b5f61185d91610b21565b5f611843565b505f82600f0b1361174f565b505f8460801d600f0b1361157e565b6118a091935060403d81116118a8575b6118988183610b21565b810190614213565b50915f61156e565b503d61188e565b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b8251830193602080860194929350828603126101525751906001600160401b0382116101525701926101209084900312610152576040519161193b83610a86565b61194881602086016128ad565b835261195660c08501610c0c565b916020840192835260e08501516001600160401b038111610152576020908601019382601f860112156101525784519461198f86610bbc565b9561199d6040519788610b21565b80875260208088019160051b8301019185831161015257602001905b8282106123bf57505050604081019485526101008601516001600160401b038111610152576020908701019280601f850112156101525783516119fb81610bbc565b94611a096040519687610b21565b81865260208087019260051b82010192831161015257602001905b8282106123a757505050611a61611a4461012084840198868a520161287b565b60808301818152875190956001600160a01b0390921691906140a1565b505191611a6d836135a9565b93845f525f516020615af75f395f51905f52602052600160405f20015460b81c60020b15612306575b611ac660a085989798207f000000000000000000000000000000000000000000000000000000000000000061414a565b5050929050611ad88251151586613bcb565b865f525f516020615a775f395f51905f5260205260405f20549160018060a01b03905116925115159360405197611b0e89610b06565b885260020b60208801526001600160a01b0316604087015283860152608085015260a0840152845151611b4090610c19565b905f94818401955b87519081518110156122e6576020835192818360051b80920101519301015160a0880151151592895160020b935f146122d357611b8682948361412c565b935b60a08a01511515611b9882615188565b90611ba287615188565b901561228557611bfe91611bf99180826001600160a01b038083169082161161227a575b50611bf19050611be26001600160a01b038381169085166158a3565b926001600160a01b03926154b5565b1690856158ec565b61596c565b905b6001600160801b0382161561221b5789938893611d1760408e9460a08651600180831b038489015116600180841b0360808a015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052855f2091611c6a83546124fa565b8093558651938452602084015288868401528b8301526080820152209889835199611c948b610b06565b828b528360020b60208c01528d60020b858c015260018060801b038a16818c015260808b019660018060801b0316875260a0808c0199838b5201511515995f9e865195611ce087610ab5565b600290810b87520b60208601526001600160801b0316858501528301528251632d35e7ed60e11b8152938492839260048401614229565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561039a575f9161225b575b508060801d90600f0b855f1461223157505f81600f0b125f1461222a57611d7a90614e78565b6001600160801b03165b945b6001600160801b0386161561221b5790518a9889958f939288906001600160801b039081169082168111612201575b505082518051611e659290611df4906001600160a01b0316307f00000000000000000000000000000000000000000000000000000000000000006159ba565b6020830151611e2d906001600160a01b0316307f00000000000000000000000000000000000000000000000000000000000000006159ba565b9082156121fa575f925b156121f35730935b7f0000000000000000000000000000000000000000000000000000000000000000614eb1565b6001600160801b0381166121cd575b5080519382519687915190608085015194600160a01b60019003604082015116998a9560a083015115159a8b81602086015160020b950151928a600160801b60019003848301511694602083015192604001518a5f525f516020615ad75f395f51905f5260205260405f20966003880190600160801b600190038c16600160801b6001900319835416178255611f09916142da565b60048701958654936001600160601b0319911b169460ff60581b9060581b1693600160501b9360ff60501b199162ffffff169069ffffffffffffffffffff191617169060181b65ffffff00000016179060301b63ffffffff60301b1617176001600160581b03161717905560020155835f525f516020615ab75f395f51905f5260205260405f20600160a01b6001900386165f5260205260405f208760020b5f5260205260405f209c8d978360028a015460801c90611fc791615511565b611fd49060028b016142da565b855f525f516020615a575f395f51905f5260205260405f20600160a01b6001900388165f526020528160405f209a015160020b98600160801b60019003906002015416159e60019f9a60209a5f516020615a375f395f51905f529c61219a575b50508f86908201805480155f1461217c578284555b825f525f516020615ad75f395f51905f528d52600160405f200155558f8060029160801b0360018060801b036001808060801b03848601541601161660018060801b03198284015416179101558e8060a01b0388165f525f516020615b375f395f51905f52895260405f208f8060a01b0388165f5289526120d760405f2060018060801b0386169054614094565b9a8f8060a01b0389165f525f516020615b375f395f51905f528a5260405f2060018060a01b0389165f528a528b60405f20556040519687528987015260020b60408601528401528b8060801b0316608083015260a08201527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c08b8060a01b03851692a3604051938452878060a01b031692a3612175828761251c565b5201611b48565b805f525f516020615ad75f395f51905f528d528260405f2055612049565b8360020b905f81830712910503908160020b60081d60010b5f528b52600160ff60405f2092161b81541790555f80612034565b6121ed90825160a0850151151560018060a01b03608087015116916154ce565b5f611e74565b5f93611e3f565b3092611e37565b611e6592935090612211916142c1565b919050875f611db5565b63f8db18c360e01b5f5260045ffd5b505f611d84565b90505f8112156122545761224490614e78565b6001600160801b03165b94611d86565b505f61224e565b612273915060403d81116118a8576118988183610b21565b505f611d54565b915091505f80611bc6565b6122c091611bf9919081816001600160a01b03808316908216116122c6575b506001600160a01b03926122b99291506154b5565b1684615819565b90611c00565b925090506122b95f6122a4565b926122de9082613738565b928193611b88565b505050509150506106089250610d33915060405192839160208301610bd3565b5f8581525f516020615af75f395f51905f526020908152604091829020865181546001600160a01b039182166001600160a01b031991821617835592880151600183018054958a0151898b015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608087015160029091018054919093169116179055611a96565b602080916123b48461289f565b815201910190611a24565b81518152602091820191016119b9565b90816020910312610152575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561039a575f9161243b575b50151590565b90506020813d602011612465575b8161245660209383610b21565b8101031261015257515f612435565b3d9150612449565b6040519061247a82610aeb565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000166020830152565b604051906124dd82610a86565b5f6080838281528260208201528260408201528260608201520152565b5f1981146125085760010190565b634e487b7160e01b5f52601160045260245ffd5b80518210156125305760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9061254f81516135a9565b91825f525f516020615a775f395f51905f5260205260405f2061257281546124fa565b809155835f525f516020615af75f395f51905f5260205260405f209360405161259a81610a86565b85546001600160a01b0390811682526001870154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529701541660808201529415612776575b825160a086206125fc916001600160a01b031661414a565b505093905060c085019586515115612757576020860151151592805f525f516020615ab75f395f51905f5260205260405f206126388584613bcb565b60018060a01b03165f5260205260405f209660a0600180821b039101511695885151985f5b8a8110612671575050505050505050505050565b808a8a612681600194865161251c565b51805f525f516020615ad75f395f51905f5260205260405f2060048101548d8760ff8360501c166126b1816110d4565b149182612749575b82612736575b82612723575b505080612713575b6126dc575b505050500161265d565b61270a936126e982613c26565b60020b5f5260205260405f208a5f516020615b175f395f51905f528d613c46565b8a8a5f806126d2565b5061271e8882613bfa565b6126cd565b60301c63ffffffff161090508d5f6126c5565b91508d60ff8360581c16151514916126bf565b60028401548c1492506126b9565b50915050610ecf93505f516020615b175f395f51905f52929192613755565b9350825193606085015160020b6125e45763c256622b60e01b5f5260045ffd5b81601f82011215610152578051906127ad826110b9565b926127bb6040519485610b21565b8284526020838301011161015257815f9260208093018386015e8301015290565b906020828203126101525781516001600160401b03811161015257610d339201612796565b6040519081610616816106085f94600160206128299801526040808401526060830190610a62565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561039a576128655750565b612878903d805f833e6106868183610b21565b50565b51906001600160a01b038216820361015257565b519062ffffff8216820361015257565b51908160020b820361015257565b91908260a0910312610152576040516128c581610a86565b60806129118183956128d68161287b565b85526128e46020820161287b565b60208601526128f56040820161288f565b60408601526129066060820161289f565b60608601520161287b565b910152565b9080601f8301121561015257815161292d81610bbc565b9261293b6040519485610b21565b81845260208085019260051b82010192831161015257602001905b8282106129635750505090565b8151815260209182019101612956565b91959491936001600160a01b038316929091606091841561359a576129c5905f60806040516129a181610a86565b6129a96124d0565b81528260208201528660408201528680820152015284876140a1565b90612a06604051966129d688610a86565b82885299151560208801818152604089019b909b52848801958652608088019687526001600160a01b0392613bcb565b168061343b5750340361342c575b612a1d856123de565b612ba257506040805193602080860152610160850197612a408387018351610c4b565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110612b8c575050505194603f1983820301610120840152602080875192838152019601905f5b818110612b735750505091610608612ae583612ac9612b09955f9899899860018060a01b0390511661014083015203601f198101835282610b21565b6040519283918760208401526040808401526060830190610a62565b6040519485809481936348c8949160e01b8352602060048401526024830190610a62565b03926001600160a01b03165af190811561039a575f91612b59575b508051810190602081830312610152576020810151916001600160401b03831161015257610d33926020809201920101612916565b612b6d91503d805f833e6106868183610b21565b5f612b24565b825160020b885260209788019790920191600101612a8d565b8251895260209889019890920191600101612a65565b9193959294855194612bb3866135a9565b94855f525f516020615af75f395f51905f52602052600160405f20015460b81c60020b1561338b575b612be960a088208a61414a565b5050929050612bfb8251151589613bcb565b875f525f516020615a775f395f51905f5260205260405f20549160018060a01b03905116925115159360405198612c318a610b06565b895260020b602089015260018060a01b0316604088015285870152608086015260a0850152612c64604087015151610c19565b915f5b6040880151805182101561337e576020835191818460051b8092010151920101519160a08801511515878a015160020b905f1461336d57612ca984918561412c565b925b60a08a01511515612cbb83615188565b90612cc586615188565b901561331f57612d0d91611bf99180826001600160a01b0380831690821611613314575b50612d059050611be26001600160a01b038381169085166158a3565b1690846158ec565b935b6001600160801b0385161561221b57612e3660408f948d958f89968f60a0808e8c805191600180851b038b83015116916080600180871b039101511690600180861b0382165f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528b5f2092612d8884546124fa565b8094558c5194855260208501528b840152858301526080820152209a8b9388519b612db28d610b06565b868d52600289810b60208f01528c900b8a8e01526001600160801b03908116858e01521660808c0152818b01849052015186519015159c5f999196909190612df988610ab5565b600290810b88520b60208701526001600160801b0316868601528401528351632d35e7ed60e11b815294859384925f928492909160048401614229565b03926001600160a01b03165af190811561039a575f916132f5575b508060801d90600f0b865f146132d457505f81600f0b125f146132cd57612e7790614e78565b6001600160801b03165b6001600160801b0381161561221b578b958f9287938360018060801b036080880151168060018060801b038316106132b5575b5050612f0091928651612ed160018060a01b0382511630856159ba565b6020820151612eea906001600160a01b031630866159ba565b9183156132ae575f935b156132a7573094614eb1565b6001600160801b038116613281575b508a83519183519460a081015160a05285608086015192600160a01b600190036040880151169788938660a08a01511515996020015160020b9d015189600160801b600190038984015116926020810151906040015160a0515f525f516020615ad75f395f51905f5260205260405f20946003860190600160801b600190038916600160801b6001900319835416178255612fa9916142da565b60048501938454918c8c6001600160601b0319911b169460ff60581b9060581b1693600160501b9360ff60501b199162ffffff169069ffffffffffffffffffff191617169060181b65ffffff00000016179060301b63ffffffff60301b1617176001600160581b03161717905560020155815f525f516020615ab75f395f51905f5260205260405f20600160a01b6001900384165f5260205260405f205f6080528c60020b5f5260205260405f206080526080516002019a818c5460801c9061307191615511565b61307b908d6142da565b825f525f516020615a575f395f51905f5260205260405f20600160a01b6001900385165f526020528560405f2097015160020b95600160801b600190038d5416159d60019d60409f996020995f516020615a375f395f51905f529b61324c575b50506080518f0180548061322c5760a051608051555b60a0515f525f516020615ad75f395f51905f528b5260406001905f20015560a05190558e8060801b038f8060801b036001808060801b038454160116168f8060801b03198254161790558d8060a01b038e8060a01b038816165f525f516020615b375f395f51905f5288528e5f208e8060a01b0387165f5288526131808f5f208f8060801b0386169054614094565b998e8060a01b038f8060a01b038916165f525f516020615b375f395f51905f5289528f5f208f8060a01b0388165f5289528f8b905f20558f519586528886015260020b8e8501528301528a8060801b0316608082015260a05160a08201527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c08b8060a01b03851692a38851938452878060a01b031692a3613223828861251c565b52019050612c67565b805f525f516020615ad75f395f51905f528b5260a05160405f20556130f1565b8360020b905f81830712910503908160020b60081d60010b5f528a52604060019060ff905f2092161b81541790555f806130db565b6132a190845160a0850151151560018060a01b03608087015116916154ce565b5f612f0f565b5f94614eb1565b3093612ef4565b612f009350906132c4916142c1565b9150835f612eb4565b505f612e81565b90505f8112156132cd576132e790614e78565b6001600160801b0316612e81565b61330d915060403d81116118a8576118988183610b21565b505f612e51565b915091505f80612ce9565b61335a91611bf9919081816001600160a01b0380831690821611613360575b506001600160a01b03926133539291506154b5565b1683615819565b93612d0f565b925090506133535f61333e565b6133779084613738565b8392612cab565b5050509550935050505090565b5f8681525f516020615af75f395f51905f526020908152604091829020895181546001600160a01b039182166001600160a01b0319918216178355928b0151600183018054958d01518b8e015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b031990971696909617919091179490941790935560808a015160029091018054919093169116179055612bdc565b636d295d4f60e11b5f5260045ffd5b3461342c576040516370a0823160e01b815230600482015291602083602481855afa92831561039a575f93613566575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561039a575f9161352c575b50156134e7576020602492604051938480926370a0823160e01b82523060048301525afa91821561039a575f926134f6575b506134e19192614094565b14612a14575b637627529f60e01b5f5260045ffd5b91506020823d602011613524575b8161351160209383610b21565b81010312610152576134e19151916134d6565b3d9150613504565b90506020813d60201161355e575b8161354760209383610b21565b810103126101525761355890610c0c565b5f6134a4565b3d915061353a565b9092506020813d602011613592575b8161358260209383610b21565b810103126101525751915f61346b565b3d9150613575565b633b77ab5760e11b5f5260045ffd5b6040516135ba602082018093610c4b565b60a081526135c960c082610b21565b51902090565b90919493946135f3606084015160020b9260a0627fffff8960020b1495209061414a565b5050905082810780155f146136e85750925b82156136d4578280620d89e719050260020b8380620d89e8050260020b94858160020b8381125f146136c35750505080935b613641818661412c565b95808760020b136136b9575b506136589085613738565b90808260020b126136b1575b50627ffffe198660020b14613692575061367f575050509190565b92945090911561368d575090565b905090565b929693945091929091156136aa57501561368d575090565b9250505090565b90505f613664565b955061365861364d565b959195131561363757859450613637565b634e487b7160e01b5f52601260045260245ffd5b60029190910b90835f831261370a575061370191614114565b60020b92613605565b906137189061370193614114565b614114565b60020b5f190190627fffff198212627fffff83131761250857565b600291820b910b0390627fffff198212627fffff83131761250857565b6080830191825115613bc45761376b84516135a9565b6020850151158015613bae5785516020015191969594916001600160a01b03165b60018060a01b031696805f526005850160205260405f2060018060a01b0389165f5260205260405f2097815f526006860160205260405f209060018060a01b03165f5260205260405f20905f526004850160205260405f2054965f935193604088015160020b92606089015160020b9360608a51015160020b905b87841061381e575b50505050505050505050505050565b5f9d9495969798999a9b9c9d50875f14613ba257868160020b13155b613b9a5760020b815f8183071291050393875f14613aa0578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159785895f14613a8b5750610152578492817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8815613a8057878660020b13155b613a795715613a5f57845f528260205260405f209687548015613a42579490919293945b80151580613a39575b15613a275790818f96959493928e6001915f520160205260405f208054976004820154600160ff8260501c16613988816110d4565b03613a1c5760301c63ffffffff16146139ed57908f918f8f938d916139ad8e85613bfa565b156139e05791816139d29593600198979593519160a08a80821b039101511695613c46565b0194935b949091929361394a565b50505050505094936139d6565b50509b9a999897509594909d9293505b8615613a1757613a0c9061371d565b9b9a9992919b613807565b613a0c565b5050505094936139d6565b509a999897965094939c91909c6139fd565b508a8210613953565b509594909d92939a9998979650865f14613a1757613a179061371d565b9c919299989796959493865f14613a1757613a179061371d565b509c61380f565b878660020b13613926565b9391505060020b900360020b0260020b613916565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159785895f14613b8057506101525784928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b94613918565b93905060ff809250031660020b0160020b0260020b613b7a565b849d5061380f565b868160020b121561383a565b85515191969594916001600160a01b031661378c565b5050505050565b9015613be857516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b0316613bdc565b6004015460ff8160581c165f14613c1a5760181c60020b9060020b121590565b60020b9060020b131590565b6004015460ff8160581c165f14613c3d5760020b90565b60181c60020b90565b60048501805460ff60501b1916600160511b179081905591969195613cee9590949391929091613c7d605889901c60ff1682613bcb565b9260018060a01b0385511694602060018060a01b0391015116915f946040600384019b613cad8d5460801c614203565b825191613cb983610ab5565b8060020b835260181c60020b6020830152828201528a60608201528151809c8192632d35e7ed60e11b83528660048401614229565b03815f8b5af196871561039a578c975f9b5f9161406f575b506001600160a01b038716614059578b60801d9b5b6001600160a01b0388166140435780600f0b9c5b6001600160a01b038916614039575f9d5b6001600160a01b038a1661402957613d72613d5d5f9a5b886144dd565b93908093859260048d015460601c8c8b614798565b99909f5f81600f0b13801561401d575b613ff6575b505050509084613db2613db89493613da58460801d8260801d61429c565b93600f0b90600f0b61429c565b92614ab7565b60018060801b038b5416915f60028a0199613de0613dda868d5460801c6142c1565b8c6142da565b60018a01865490600188019283549283158614613fe4578082555b80158614613fd157506001915001555b8a546001600160801b031680613fae575b5081865555613e2a84613c26565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613f79575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612508576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f516020615a375f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613e69565b8b546001600160801b03191683199091016001600160801b0316178b555f613e1c565b8552506020526040832060010155613e0b565b83865282602052806040872055613dfb565b8695949c5092613db292614011928a958e87613db89b614798565b90509a9293945f613d87565b505f82600f0b13613d82565b613d72613d5d85600f0b9a613d57565b8260801d9d613d40565b61405382600f0b82600f0b614277565b9c613d2f565b6140698160801d8d60801d614277565b9b613d1b565b905061408b919b5060403d6040116118a8576118988183610b21565b9a909a5f613d06565b9190820180921161250857565b5f93926001600160a01b03161561359a5780519151820361410557905f915b8183106140cc57505050565b9091936140d9858361251c565b519081156140f6576001916140ed91614094565b940191906140c0565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b81810392915f13801582851316918412161761250857565b9060020b9060020b0190627fffff198212627fffff83131761250857565b9190602090604051828101918252600660408201526040815261416e606082610b21565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561039a575f926141cf575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d6020116141fb575b816141eb60209383610b21565b810103126101525751905f6141a7565b3d91506141de565b600160ff1b8114612508575f0390565b9190826040910312610152576020825192015190565b906101609261423a83606093610c4b565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761250857565b600f91820b910b019060016001607f1b0319821260016001607f1b0383131761250857565b6001600160801b03918216908216039190821161250857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f600288019761432e614328888b5460801c6142c1565b8a6142da565b8354906001850191825491821585146144be578181555b8115851461449d576001915001555b88546001600160801b03168061447a575b508184555561437382613c26565b9660028301545f525f516020615a575f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615614445575b5050015460601c90815f525f516020615b375f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116125085760205f516020615a375f395f51905f5291835f525f516020615b375f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f806143bb565b89546001600160801b03191683199091016001600160801b03161789555f614365565b5083525f516020615ad75f395f51905f526020526001604084200155614354565b8285525f516020615ad75f395f51905f52602052816040862055614345565b919091604051906144ed82610aeb565b606082525f602083015290926001600160a01b0382169190848315614764575060405163442f7de960e11b8152600481018490526001600160a01b03919091169190602081602481865afa5f9181614726575b5061454f575b505050505f9190565b60ff6004911610159081614716575b5061456b575b8080614546565b5f91935060246040518095819363f3ffe14b60e01b835260048301525afa91821561039a575f926145ad575b50818051516145a65780614564565b6001925090565b9091503d805f833e6145bf8183610b21565b810190602081830312610152578051906001600160401b038211610152570160408183031261015257604051916145f583610aeb565b81516001600160401b0381116101525782019080601f830112156101525781519161461f83610bbc565b9261462d6040519485610b21565b80845260208085019160051b830101918383116101525760208101915b8383106146715750505050506146659160209184520161287b565b6020820152905f614597565b82516001600160401b0381116101525782019060a0828703601f190112610152576040519061469f82610a86565b6146ab6020840161287b565b82526146b96040840161288f565b60208301526146ca6060840161289f565b60408301526146db6080840161287b565b606083015260a0830151916001600160401b0383116101525761470688602080969581960101612796565b608082015281520192019161464a565b6147209150614dfa565b5f61455e565b9091506020813d60201161475c575b8161474260209383610b21565b81010312610152575160ff8116810361015257905f614540565b3d9150614735565b94505050505f9190565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b9695929193945f1461498957506020820151915180516001600160801b0392831695919391909216911561497a578251156125305760208301516147e5916001600160a01b03169061552a565b9081156149745785925b82156149635760208201516001600160a01b0316965b831561495b5750925b6001600160801b0316806149105750505093909192935b93916001916020935b82518410156148b657614867959661488361485560019361484f888861251c565b5161552a565b989092848060801b0316600f0b614e78565b600f0b604051906148788983610b21565b5f825289848d6155b2565b828060801b0316965f146148a85785828060a01b03910151165b93019295949561482e565b818060a01b0390511661489d565b96909493508692508591506001600160a01b0316803b15610152576148f5935f809460405196879586948593630b0d9c0960e01b85526004850161476e565b03925af1801561039a576149065750565b5f610ecf91610b21565b91614942916149256149519594600f0b614e78565b9160405192614935602085610b21565b5f8452600f0b918b6155b2565b6001600160801b031690615511565b9390919293614825565b90509261480e565b81516001600160a01b031696614805565b826147ef565b6319dcad4d60e31b5f5260045ffd5b909495939291505f925f905f905f88600f0b135f14614a2857505090516001600160a01b03908116956001600160801b03169416919050813b15614a2457836149ec92849283604051809681958294630b0d9c0960e01b84528c6004850161476e565b03925af18015614a1957614a01575b50509091565b614a0c828092610b21565b614a1657806149fb565b80fd5b6040513d84823e3d90fd5b8280fd5b5f91969493929750809550600f0b13614a44575b505050509091565b602001516001600160a01b0390811695506001600160801b0390931693509116803b1561015257825f91614a909383604051809681958294630b0d9c0960e01b84528b6004850161476e565b03925af1801561039a57614aa7575b808080614a3c565b5f614ab191610b21565b5f614a9f565b9293925f92600f0b83811215614df257945b600f0b5f811215614dea57945b8015801590614de1575b614aed575b505050509050565b5f811380614dda575b614d65575b838112614c99575b5082851380614c92575b614c21575b828512614b20575b80614ae5565b60209190910180516001600160a01b039081169592169190823b15614c125760405195632961046560e21b87526004870152838660248183875af1958615614c1657849596614bf5575b505160209291614b8f916001600160a01b0316908390614b8990614203565b916156d6565b600460405180958193630476982d60e21b83525af1908115614be95750614bba575b80808392614b1a565b614bdb9060203d602011614be2575b614bd38183610b21565b8101906123cf565b505f614bb1565b503d614bc9565b604051903d90823e3d90fd5b84614c04919592939495610b21565b614c1257908392915f614b6a565b8380fd5b6040513d86823e3d90fd5b60208201516001600160a01b038281169116813b15614c8e5786614c60928680809460405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af18015614c1657908491614c79575b5050614b12565b81614c8391610b21565b614a2457825f614c72565b8480fd5b5082614b0d565b82516001600160a01b03838116929116823b15614d615760405190632961046560e21b82526004820152858160248183875af18015614d56579086939291614d3b575b50845160209291614cfc916001600160a01b0316908390614b8990614203565b600460405180948193630476982d60e21b83525af18015614c165715614b0357614d349060203d602011614be257614bd38183610b21565b505f614b03565b83614d499194929394610b21565b614c8e579084915f614cdc565b6040513d88823e3d90fd5b8580fd5b82516001600160a01b03908116908316803b1561015257604051630b0d9c0960e01b81526001600160a01b0390921660048301525f6024830181905260448301849052908290606490829084905af1801561039a57614dc5575b50614afb565b614dd29194505f90610b21565b5f925f614dbf565b505f614af6565b50851515614ae0565b505f94614ad6565b505f94614ac9565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f9181614e3c575b50610d3357505f90565b9091506020813d602011614e70575b81614e5860209383610b21565b8101031261015257614e6990610c0c565b905f614e32565b3d9150614e4b565b600f0b60016001607f1b03198114612508575f0390565b6001600160a01b03918216815291166020820152604081019190915260600190565b9195949092955f945f821380615176575b615115575b5084811261503e575b508386138061502c575b614fbf575b50828512614eef575b5050509050565b60209190910180516001600160a01b039081169592169190823b15614c125760405195632961046560e21b87526004870152838660248183875af1958615614c1657849596614fa2575b505160209291614f58916001600160a01b0316908390614b8990614203565b600460405180958193630476982d60e21b83525af1908115614be95750614f83575b80808392614ee8565b614f9b9060203d602011614be257614bd38183610b21565b505f614f7a565b84614fb1919592939495610b21565b614c1257908392915f614f39565b60208301516001600160a01b03838116929116823b15614d6157614fff928692838a9360405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af18015614c1657908491615017575b50614edf565b8161502191610b21565b614a2457825f615011565b506001600160a01b0381161515614eda565b83516001600160a01b03848116929116823b156151115760405190632961046560e21b82526004820152868160248183875af180156151065790879392916150eb575b508551602092916150a1916001600160a01b0316908390614b8990614203565b600460405180948193630476982d60e21b83525af180156150e05715614ed0576150d99060203d602011614be257614bd38183610b21565b505f614ed0565b6040513d87823e3d90fd5b836150f99194929394610b21565b614d61579085915f615081565b6040513d89823e3d90fd5b8680fd5b84516001600160a01b03858116929116823b1561015257615152925f9283869360405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af1801561039a5715614ec75761516e9195505f90610b21565b5f935f614ec7565b506001600160a01b0381161515614ec2565b60020b908160ff1d82810118620d89e881116154a25763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116615486575b6004811661546a575b6008811661544e575b60108116615432575b60208116615416575b604081166153fa575b608081166153de575b61010081166153c2575b61020081166153a6575b610400811661538a575b610800811661536e575b6110008116615352575b6120008116615336575b614000811661531a575b61800081166152fe575b6201000081166152e2575b6202000081166152c7575b6204000081166152ac575b6208000016615293575b5f1261528b575b0160201c90565b5f1904615284565b6b048a170391f7dc42444e8fa290910260801c9061527d565b6d2216e584f5fa1ea926041bedfe9890920260801c91615273565b916e5d6af8dedb81196699c329225ee6040260801c91615268565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c9161525d565b916f31be135f97d08fd981231505542fcfa60260801c91615252565b916f70d869a156d2a1b890bb3df62baf32f70260801c91615248565b916fa9f746462d870fdf8a65dc1f90e061e50260801c9161523e565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91615234565b916fe7159475a2c29b7443b29c7fa6e889d90260801c9161522a565b916ff3392b0822b70005940c7a398e4b70f30260801c91615220565b916ff987a7253ac413176f2b074cf7815e540260801c91615216565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c9161520c565b916ffe5dee046a99a2a811c461f1969c30530260801c91615202565b916fff2ea16466c96a3843ec78b326b528610260801c916151f9565b916fff973b41fa98c081472e6896dfb254c00260801c916151f0565b916fffcb9843d60f6159c9db58835c9266440260801c916151e7565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c916151de565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c916151d5565b916ffff97272373d413259a46990580e213a0260801c916151cc565b826345c3193d60e11b5f5260045260245ffd5b6001600160a01b03918216908216039190821161250857565b90926001600160801b03169190821561550b57610ecf93156154f957516001600160a01b03166156d6565b602001516001600160a01b03166156d6565b50505050565b6001600160801b03918216908216019190821161250857565b906155336124d0565b5081516001600160a01b0382811692911690818310156155aa575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b0391015116926040519461558886610a86565b85526001600160a01b0316602085015260408401526060830152608082015291565b50819061554e565b93929180156156bb576401000276a4945b6040519160608301908382106001600160401b03831117610aa1576020946156585f92615627946040521515988987528787019a898c52604088019060018060a01b031681526040519b8c9889978896633cf3645360e21b88526004880190610c4b565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610a62565b03926001600160a01b03165af192831561039a575f93615687575b505f130361568157600f0b90565b60801d90565b9092506020813d6020116156b3575b816156a360209383610b21565b810103126101525751915f615673565b3d9150615696565b73fffd8963efd1fc6a506488495d951d5263988d25946155c3565b9091906001600160a01b03811690816157645750505f80808093855af1156156fb5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156157b55750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b90606082901b905f19600160601b840992828085109403938085039485841115610152571461589c578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b111561015257146158e357600160601b910990828211900360a01b910360601c1790565b50505060601c90565b91818302915f19818509938380861095039480860395868511156101525714615964579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b6001600160801b0381169190820361598057565b60405162461bcd60e51b81526020600482015260126024820152716c6971756964697479206f766572666c6f7760701b6044820152606490fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561039a575f91615a07575090565b90506020813d602011615a2e575b81615a2260209383610b21565b81010312610152575190565b3d9150615a1556fea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf073544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1453:7731:75:-:0;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;2290:30:76;1453:7731:75;;;;;;:::i;:::-;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;2290:30:76;-1:-1:-1;;;;;1453:7731:75;;;;1862:40;1453:7731;;;;1912:74;1453:7731;1996:55;;1453:7731;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1912:74;1453:7731;;;;;;;;;;1996:55;1453:7731;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081635ef3e95514610994575080635f8fbad6146109335780637a9cf2731461081b5780637a9e5e4b1461078057806391dd73461461070f578063a6de70b4146106cb578063bf7e214f146106a4578063c2ec68ea146104eb578063c96d060b1461043a578063d8c3177214610411578063dc4c90d3146103cd578063eb07ed24146101565763f7888aec146100f6575f61000f565b346101525760403660031901126101525761010f610a08565b6101176109f2565b6001600160a01b039182165f9081525f516020615b375f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b366003190161012081126101525760a0136101525760405161017781610a86565b6004356001600160a01b03811681036101525781526024356001600160a01b038116810361015257602082015260443562ffffff811681036101525760408201526064358060020b81036101525760608201526084356001600160a01b03811681036101525760808201526101ea6109d5565b9060c4356001600160401b03811161015257366023820112156101525780600401359061021682610bbc565b916102246040519384610b21565b8083526024602084019160051b8301019136831161015257602401905b8282106103bd5750505060e4356001600160401b03811161015257366023820112156101525780600401359061027682610bbc565b916102846040519384610b21565b8083526024602084019160051b8301019136831161015257602401905b8282106103a5575050610104359290506001600160a01b0383168303610152575f5460405163b700961360e01b8152336004820152306024820152633ac1fb4960e21b604482015290602090829060649082906001600160a01b03165afa90811561039a575f91610360575b50156103515761034d94610341947f0000000000000000000000000000000000000000000000000000000000000000612973565b60405191829182610bd3565b0390f35b6370dbefff60e11b5f5260045ffd5b90506020813d602011610392575b8161037b60209383610b21565b810103126101525761038c90610c0c565b8661030d565b3d915061036e565b6040513d5f823e3d90fd5b602080916103b2846109e4565b8152019101906102a1565b8135815260209182019101610241565b34610152575f366003190112610152576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610152575f3660031901126101525760205f516020615b175f395f51905f5254604051908152f35b34610152576020366003190112610152575f5460405163b700961360e01b815233600482015230602482015263c96d060b60e01b604482015290602090829060649082906001600160a01b03165afa90811561039a575f916104b1575b5015610351576004355f516020615b175f395f51905f5255005b90506020813d6020116104e3575b816104cc60209383610b21565b81010312610152576104dd90610c0c565b81610497565b3d91506104bf565b34610152576080366003190112610152576004356001600160401b0381116101525761051b903690600401610a32565b906105246109f2565b916064356001600160a01b0381169190829003610152576105e09261054a91369161106d565b926040519161055883610a86565b33835260208301948552604083019160018060a01b03168252606083016044358152608084019182526105b160405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610c8e565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610b21565b6040519081610616816106085f94600260206106389801526040808401526060830190610a62565b03601f198101835282610b21565b604051809381926348c8949160e01b8352602060048401526024830190610a62565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561039a5761067357005b61068e903d805f833e6106868183610b21565b8101906127dc565b005b634e487b7160e01b5f52602160045260245ffd5b34610152575f366003190112610152575f546040516001600160a01b039091168152602090f35b34610152575f366003190112610152576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610152576020366003190112610152576004356001600160401b0381116101525736602382011215610152578060040135906001600160401b0382116101525736602483830101116101525761034d91602461076c92016110de565b604051918291602083526020830190610a62565b3461015257602036600319011261015257610799610a08565b5f546001600160a01b038116330361035157813b156107fa576001600160a01b0319166001600160a01b039091169081175f556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1005b506361798f2f60e11b5f9081526001600160a01b0391909116600452602490fd5b34610152576040366003190112610152576004356001600160401b0381116101525761084b903690600401610a32565b6108536109f2565b913681900360de1901905f5b8381101561068e578060051b820135838112156101525782019060c082016108878184611038565b9050610899575b50600191500161085f565b6108a66108ad9184611038565b369161106d565b60a0830135908115158092036101525761092861092d92826001966108d86106089551913690610b42565b92604051936108e685610ad0565b6108ee6124d0565b50845260208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610cc1565b612801565b8661088e565b3461015257366003190161014081126101525760a013610152576109556109d5565b60c435908160020b82036101525760e435908160020b82036101525761012435916001600160a01b03831683036101525761068e936101043592610d36565b34610152575f366003190112610152577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361015257565b35908160020b820361015257565b602435906001600160a01b038216820361015257565b600435906001600160a01b038216820361015257565b35906001600160a01b038216820361015257565b9181601f84011215610152578235916001600160401b038311610152576020808501948460051b01011161015257565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610aa157604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610aa157604052565b60e081019081106001600160401b03821117610aa157604052565b604081019081106001600160401b03821117610aa157604052565b60c081019081106001600160401b03821117610aa157604052565b90601f801991011681019081106001600160401b03821117610aa157604052565b91908260a091031261015257604051610b5a81610a86565b8092610b6581610a1e565b8252610b7360208201610a1e565b602083015260408101359062ffffff82168203610152576080916040840152610b9e606082016109e4565b60608401520135906001600160a01b03821682036101525760800152565b6001600160401b038111610aa15760051b60200190565b60206040818301928281528451809452019201905f5b818110610bf65750505090565b8251845260209384019390920191600101610be9565b5190811515820361015257565b90610c2382610bbc565b610c306040519182610b21565b8281528092610c41601f1991610bbc565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610cab5750505090565b8251845260209384019390920191600101610c9e565b61018060c0610d339360208452610cdc602085018251610c4b565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610c8e565b90565b90939291928215611022575b610d6b7f00000000000000000000000000000000000000000000000000000000000000006123de565b9283610f81575b610d7a61246d565b94610d836124d0565b50610d97610d92366004610b42565b6135a9565b5f525f516020615af75f395f51905f5260205260405f2096604051610dbb81610a86565b88546001600160a01b03908116825260018a0154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529a01541660808201529715610f50575b8651610e1f92919086908a906001600160a01b03166135cf565b9060020b90620d89e71982128015610f44575b610f255760020b90620d89e71982128015610f19575b610edb578415610ef857818113610edb575b60405194610e69602087610b21565b5f86525f36813760405198610e7d8a610ad0565b610e856124d0565b508952151560208901526040880152606087015260808601526001600160a01b031660a085015260c0840152610ed15750610608610928610ecf9260405192839160208301610cc1565b565b90610ecf91612544565b849250636ec3c1c760e11b5f52600452602452151560445260645ffd5b81811215610e5a57636ec3c1c760e11b5f526004526024525f60445260645ffd5b50620d89e88213610e48565b8491636ec3c1c760e11b5f5260045260020b602452151560445260645ffd5b50620d89e88213610e32565b909650610f5e366004610b42565b96606088015160020b15610f725790610e05565b63c256622b60e01b5f5260045ffd5b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561039a575f91610fe8575b50610d72576344863e8560e11b5f5260045ffd5b90506020813d60201161101a575b8161100360209383610b21565b810103126101525761101490610c0c565b5f610fd4565b3d9150610ff6565b5f516020615b175f395f51905f52549250610d42565b903590601e198136030182121561015257018035906001600160401b03821161015257602001918160051b3603831361015257565b92919061107981610bbc565b936110876040519586610b21565b602085838152019160051b810192831161015257905b8282106110a957505050565b813581526020918201910161109d565b6001600160401b038111610aa157601f01601f191660200190565b6003111561069057565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610152578035906003821015610152576020810135906001600160401b03821161015257019183601f84011215610152578235611157816110b9565b936111656040519586610b21565b81855260208501956020838301011161015257815f92602080930188378501015261118f826110d4565b81156118fa575061119f816110d4565b600181036112945750906111b161246d565b825183019260208401926020828603126101525751906001600160401b038211610152570192610160908490031261015257604051916111f083610ad0565b6111fd81602086016128ad565b835261120b60c08501610c0c565b602084015261121c60e0850161289f565b604084015261122e610100850161289f565b6060840152610120840151608084015261124b610140850161287b565b60a0840152610160840151906001600160401b03821161015257602061127692611280960101612916565b60c0830152612544565b60405161128e602082610b21565b5f815290565b6002906112a0816110d4565b036118eb5780518101916020828403126101525751906001600160401b03821161015257019060a08282031261015257604051906112dd82610a86565b6112e96020840161287b565b825260408301516001600160401b0381116101525760208061130f930191850101612916565b8060208301526113216060840161287b565b9182604082015261133f60a06080860151958660608501520161287b565b6080820181905290516001600160a01b03908116908216156118dc5782519182156118af579392905f945f94871515935b8587106113a2575b5050505050505081811061138d575050611280565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966113b3888361251c565b51805f525f516020615ad75f395f51905f5260205260405f20600481019182548060601c80156118af5789036118cd57600160ff8260501c166113f5816110d4565b036118be576003830154936002840154805f525f516020615af75f395f51905f5260205260405f206040519061142a82610a86565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b60608501819052920154166080830152156118af57611531916114e08761148381613c26565b9561149460ff8960581c1686613bcb565b5f9485525f516020615ab75f395f51905f52602090815260408087206001600160a01b0384168852825280872060028b900b885290915290942060ff60501b19891690915583856142fd565b5060406114ef8960801c614203565b8151906114fb82610ab5565b8760020b82528760181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b83528660048401614229565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af192831561039a575f9361187e575b508c605886901c60ff168061186f575b1561173c575081516001600160801b03608085901d1694906001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b15610152575f908e6115f46040519889938493630b0d9c0960e01b855260018060a01b0316906004850161476e565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af194851561039a5760ff988f965f516020615a975f395f51905f529660c09660029461167e9361172c575b505b81600f0b9160801d907f0000000000000000000000000000000000000000000000000000000000000000614ab7565b01549160018060a01b031697889660405193845260581c161515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361170a57506116e1926001600160801b03909216919050614094565b968580611700575b6116fb57600101959493929190611370565b611378565b50888810156116e9565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b5f61173691610b21565b5f61164d565b939160ff8660589593951c161580611863575b611775575b91600260ff9861167e5f516020615a975f395f51905f52969460c09661164f565b60208101516001600160801b03831695509193909290916001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b15610152575f908e6117ea6040519889938493630b0d9c0960e01b855260018060a01b0316906004850161476e565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af194851561039a5760ff988f965f516020615a975f395f51905f529660c09660029461167e93611853575b5094965094965050985050611754565b5f61185d91610b21565b5f611843565b505f82600f0b1361174f565b505f8460801d600f0b1361157e565b6118a091935060403d81116118a8575b6118988183610b21565b810190614213565b50915f61156e565b503d61188e565b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b8251830193602080860194929350828603126101525751906001600160401b0382116101525701926101209084900312610152576040519161193b83610a86565b61194881602086016128ad565b835261195660c08501610c0c565b916020840192835260e08501516001600160401b038111610152576020908601019382601f860112156101525784519461198f86610bbc565b9561199d6040519788610b21565b80875260208088019160051b8301019185831161015257602001905b8282106123bf57505050604081019485526101008601516001600160401b038111610152576020908701019280601f850112156101525783516119fb81610bbc565b94611a096040519687610b21565b81865260208087019260051b82010192831161015257602001905b8282106123a757505050611a61611a4461012084840198868a520161287b565b60808301818152875190956001600160a01b0390921691906140a1565b505191611a6d836135a9565b93845f525f516020615af75f395f51905f52602052600160405f20015460b81c60020b15612306575b611ac660a085989798207f000000000000000000000000000000000000000000000000000000000000000061414a565b5050929050611ad88251151586613bcb565b865f525f516020615a775f395f51905f5260205260405f20549160018060a01b03905116925115159360405197611b0e89610b06565b885260020b60208801526001600160a01b0316604087015283860152608085015260a0840152845151611b4090610c19565b905f94818401955b87519081518110156122e6576020835192818360051b80920101519301015160a0880151151592895160020b935f146122d357611b8682948361412c565b935b60a08a01511515611b9882615188565b90611ba287615188565b901561228557611bfe91611bf99180826001600160a01b038083169082161161227a575b50611bf19050611be26001600160a01b038381169085166158a3565b926001600160a01b03926154b5565b1690856158ec565b61596c565b905b6001600160801b0382161561221b5789938893611d1760408e9460a08651600180831b038489015116600180841b0360808a015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052855f2091611c6a83546124fa565b8093558651938452602084015288868401528b8301526080820152209889835199611c948b610b06565b828b528360020b60208c01528d60020b858c015260018060801b038a16818c015260808b019660018060801b0316875260a0808c0199838b5201511515995f9e865195611ce087610ab5565b600290810b87520b60208601526001600160801b0316858501528301528251632d35e7ed60e11b8152938492839260048401614229565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561039a575f9161225b575b508060801d90600f0b855f1461223157505f81600f0b125f1461222a57611d7a90614e78565b6001600160801b03165b945b6001600160801b0386161561221b5790518a9889958f939288906001600160801b039081169082168111612201575b505082518051611e659290611df4906001600160a01b0316307f00000000000000000000000000000000000000000000000000000000000000006159ba565b6020830151611e2d906001600160a01b0316307f00000000000000000000000000000000000000000000000000000000000000006159ba565b9082156121fa575f925b156121f35730935b7f0000000000000000000000000000000000000000000000000000000000000000614eb1565b6001600160801b0381166121cd575b5080519382519687915190608085015194600160a01b60019003604082015116998a9560a083015115159a8b81602086015160020b950151928a600160801b60019003848301511694602083015192604001518a5f525f516020615ad75f395f51905f5260205260405f20966003880190600160801b600190038c16600160801b6001900319835416178255611f09916142da565b60048701958654936001600160601b0319911b169460ff60581b9060581b1693600160501b9360ff60501b199162ffffff169069ffffffffffffffffffff191617169060181b65ffffff00000016179060301b63ffffffff60301b1617176001600160581b03161717905560020155835f525f516020615ab75f395f51905f5260205260405f20600160a01b6001900386165f5260205260405f208760020b5f5260205260405f209c8d978360028a015460801c90611fc791615511565b611fd49060028b016142da565b855f525f516020615a575f395f51905f5260205260405f20600160a01b6001900388165f526020528160405f209a015160020b98600160801b60019003906002015416159e60019f9a60209a5f516020615a375f395f51905f529c61219a575b50508f86908201805480155f1461217c578284555b825f525f516020615ad75f395f51905f528d52600160405f200155558f8060029160801b0360018060801b036001808060801b03848601541601161660018060801b03198284015416179101558e8060a01b0388165f525f516020615b375f395f51905f52895260405f208f8060a01b0388165f5289526120d760405f2060018060801b0386169054614094565b9a8f8060a01b0389165f525f516020615b375f395f51905f528a5260405f2060018060a01b0389165f528a528b60405f20556040519687528987015260020b60408601528401528b8060801b0316608083015260a08201527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c08b8060a01b03851692a3604051938452878060a01b031692a3612175828761251c565b5201611b48565b805f525f516020615ad75f395f51905f528d528260405f2055612049565b8360020b905f81830712910503908160020b60081d60010b5f528b52600160ff60405f2092161b81541790555f80612034565b6121ed90825160a0850151151560018060a01b03608087015116916154ce565b5f611e74565b5f93611e3f565b3092611e37565b611e6592935090612211916142c1565b919050875f611db5565b63f8db18c360e01b5f5260045ffd5b505f611d84565b90505f8112156122545761224490614e78565b6001600160801b03165b94611d86565b505f61224e565b612273915060403d81116118a8576118988183610b21565b505f611d54565b915091505f80611bc6565b6122c091611bf9919081816001600160a01b03808316908216116122c6575b506001600160a01b03926122b99291506154b5565b1684615819565b90611c00565b925090506122b95f6122a4565b926122de9082613738565b928193611b88565b505050509150506106089250610d33915060405192839160208301610bd3565b5f8581525f516020615af75f395f51905f526020908152604091829020865181546001600160a01b039182166001600160a01b031991821617835592880151600183018054958a0151898b015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608087015160029091018054919093169116179055611a96565b602080916123b48461289f565b815201910190611a24565b81518152602091820191016119b9565b90816020910312610152575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561039a575f9161243b575b50151590565b90506020813d602011612465575b8161245660209383610b21565b8101031261015257515f612435565b3d9150612449565b6040519061247a82610aeb565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000166020830152565b604051906124dd82610a86565b5f6080838281528260208201528260408201528260608201520152565b5f1981146125085760010190565b634e487b7160e01b5f52601160045260245ffd5b80518210156125305760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9061254f81516135a9565b91825f525f516020615a775f395f51905f5260205260405f2061257281546124fa565b809155835f525f516020615af75f395f51905f5260205260405f209360405161259a81610a86565b85546001600160a01b0390811682526001870154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529701541660808201529415612776575b825160a086206125fc916001600160a01b031661414a565b505093905060c085019586515115612757576020860151151592805f525f516020615ab75f395f51905f5260205260405f206126388584613bcb565b60018060a01b03165f5260205260405f209660a0600180821b039101511695885151985f5b8a8110612671575050505050505050505050565b808a8a612681600194865161251c565b51805f525f516020615ad75f395f51905f5260205260405f2060048101548d8760ff8360501c166126b1816110d4565b149182612749575b82612736575b82612723575b505080612713575b6126dc575b505050500161265d565b61270a936126e982613c26565b60020b5f5260205260405f208a5f516020615b175f395f51905f528d613c46565b8a8a5f806126d2565b5061271e8882613bfa565b6126cd565b60301c63ffffffff161090508d5f6126c5565b91508d60ff8360581c16151514916126bf565b60028401548c1492506126b9565b50915050610ecf93505f516020615b175f395f51905f52929192613755565b9350825193606085015160020b6125e45763c256622b60e01b5f5260045ffd5b81601f82011215610152578051906127ad826110b9565b926127bb6040519485610b21565b8284526020838301011161015257815f9260208093018386015e8301015290565b906020828203126101525781516001600160401b03811161015257610d339201612796565b6040519081610616816106085f94600160206128299801526040808401526060830190610a62565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561039a576128655750565b612878903d805f833e6106868183610b21565b50565b51906001600160a01b038216820361015257565b519062ffffff8216820361015257565b51908160020b820361015257565b91908260a0910312610152576040516128c581610a86565b60806129118183956128d68161287b565b85526128e46020820161287b565b60208601526128f56040820161288f565b60408601526129066060820161289f565b60608601520161287b565b910152565b9080601f8301121561015257815161292d81610bbc565b9261293b6040519485610b21565b81845260208085019260051b82010192831161015257602001905b8282106129635750505090565b8151815260209182019101612956565b91959491936001600160a01b038316929091606091841561359a576129c5905f60806040516129a181610a86565b6129a96124d0565b81528260208201528660408201528680820152015284876140a1565b90612a06604051966129d688610a86565b82885299151560208801818152604089019b909b52848801958652608088019687526001600160a01b0392613bcb565b168061343b5750340361342c575b612a1d856123de565b612ba257506040805193602080860152610160850197612a408387018351610c4b565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110612b8c575050505194603f1983820301610120840152602080875192838152019601905f5b818110612b735750505091610608612ae583612ac9612b09955f9899899860018060a01b0390511661014083015203601f198101835282610b21565b6040519283918760208401526040808401526060830190610a62565b6040519485809481936348c8949160e01b8352602060048401526024830190610a62565b03926001600160a01b03165af190811561039a575f91612b59575b508051810190602081830312610152576020810151916001600160401b03831161015257610d33926020809201920101612916565b612b6d91503d805f833e6106868183610b21565b5f612b24565b825160020b885260209788019790920191600101612a8d565b8251895260209889019890920191600101612a65565b9193959294855194612bb3866135a9565b94855f525f516020615af75f395f51905f52602052600160405f20015460b81c60020b1561338b575b612be960a088208a61414a565b5050929050612bfb8251151589613bcb565b875f525f516020615a775f395f51905f5260205260405f20549160018060a01b03905116925115159360405198612c318a610b06565b895260020b602089015260018060a01b0316604088015285870152608086015260a0850152612c64604087015151610c19565b915f5b6040880151805182101561337e576020835191818460051b8092010151920101519160a08801511515878a015160020b905f1461336d57612ca984918561412c565b925b60a08a01511515612cbb83615188565b90612cc586615188565b901561331f57612d0d91611bf99180826001600160a01b0380831690821611613314575b50612d059050611be26001600160a01b038381169085166158a3565b1690846158ec565b935b6001600160801b0385161561221b57612e3660408f948d958f89968f60a0808e8c805191600180851b038b83015116916080600180871b039101511690600180861b0382165f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528b5f2092612d8884546124fa565b8094558c5194855260208501528b840152858301526080820152209a8b9388519b612db28d610b06565b868d52600289810b60208f01528c900b8a8e01526001600160801b03908116858e01521660808c0152818b01849052015186519015159c5f999196909190612df988610ab5565b600290810b88520b60208701526001600160801b0316868601528401528351632d35e7ed60e11b815294859384925f928492909160048401614229565b03926001600160a01b03165af190811561039a575f916132f5575b508060801d90600f0b865f146132d457505f81600f0b125f146132cd57612e7790614e78565b6001600160801b03165b6001600160801b0381161561221b578b958f9287938360018060801b036080880151168060018060801b038316106132b5575b5050612f0091928651612ed160018060a01b0382511630856159ba565b6020820151612eea906001600160a01b031630866159ba565b9183156132ae575f935b156132a7573094614eb1565b6001600160801b038116613281575b508a83519183519460a081015160a05285608086015192600160a01b600190036040880151169788938660a08a01511515996020015160020b9d015189600160801b600190038984015116926020810151906040015160a0515f525f516020615ad75f395f51905f5260205260405f20946003860190600160801b600190038916600160801b6001900319835416178255612fa9916142da565b60048501938454918c8c6001600160601b0319911b169460ff60581b9060581b1693600160501b9360ff60501b199162ffffff169069ffffffffffffffffffff191617169060181b65ffffff00000016179060301b63ffffffff60301b1617176001600160581b03161717905560020155815f525f516020615ab75f395f51905f5260205260405f20600160a01b6001900384165f5260205260405f205f6080528c60020b5f5260205260405f206080526080516002019a818c5460801c9061307191615511565b61307b908d6142da565b825f525f516020615a575f395f51905f5260205260405f20600160a01b6001900385165f526020528560405f2097015160020b95600160801b600190038d5416159d60019d60409f996020995f516020615a375f395f51905f529b61324c575b50506080518f0180548061322c5760a051608051555b60a0515f525f516020615ad75f395f51905f528b5260406001905f20015560a05190558e8060801b038f8060801b036001808060801b038454160116168f8060801b03198254161790558d8060a01b038e8060a01b038816165f525f516020615b375f395f51905f5288528e5f208e8060a01b0387165f5288526131808f5f208f8060801b0386169054614094565b998e8060a01b038f8060a01b038916165f525f516020615b375f395f51905f5289528f5f208f8060a01b0388165f5289528f8b905f20558f519586528886015260020b8e8501528301528a8060801b0316608082015260a05160a08201527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c08b8060a01b03851692a38851938452878060a01b031692a3613223828861251c565b52019050612c67565b805f525f516020615ad75f395f51905f528b5260a05160405f20556130f1565b8360020b905f81830712910503908160020b60081d60010b5f528a52604060019060ff905f2092161b81541790555f806130db565b6132a190845160a0850151151560018060a01b03608087015116916154ce565b5f612f0f565b5f94614eb1565b3093612ef4565b612f009350906132c4916142c1565b9150835f612eb4565b505f612e81565b90505f8112156132cd576132e790614e78565b6001600160801b0316612e81565b61330d915060403d81116118a8576118988183610b21565b505f612e51565b915091505f80612ce9565b61335a91611bf9919081816001600160a01b0380831690821611613360575b506001600160a01b03926133539291506154b5565b1683615819565b93612d0f565b925090506133535f61333e565b6133779084613738565b8392612cab565b5050509550935050505090565b5f8681525f516020615af75f395f51905f526020908152604091829020895181546001600160a01b039182166001600160a01b0319918216178355928b0151600183018054958d01518b8e015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b031990971696909617919091179490941790935560808a015160029091018054919093169116179055612bdc565b636d295d4f60e11b5f5260045ffd5b3461342c576040516370a0823160e01b815230600482015291602083602481855afa92831561039a575f93613566575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561039a575f9161352c575b50156134e7576020602492604051938480926370a0823160e01b82523060048301525afa91821561039a575f926134f6575b506134e19192614094565b14612a14575b637627529f60e01b5f5260045ffd5b91506020823d602011613524575b8161351160209383610b21565b81010312610152576134e19151916134d6565b3d9150613504565b90506020813d60201161355e575b8161354760209383610b21565b810103126101525761355890610c0c565b5f6134a4565b3d915061353a565b9092506020813d602011613592575b8161358260209383610b21565b810103126101525751915f61346b565b3d9150613575565b633b77ab5760e11b5f5260045ffd5b6040516135ba602082018093610c4b565b60a081526135c960c082610b21565b51902090565b90919493946135f3606084015160020b9260a0627fffff8960020b1495209061414a565b5050905082810780155f146136e85750925b82156136d4578280620d89e719050260020b8380620d89e8050260020b94858160020b8381125f146136c35750505080935b613641818661412c565b95808760020b136136b9575b506136589085613738565b90808260020b126136b1575b50627ffffe198660020b14613692575061367f575050509190565b92945090911561368d575090565b905090565b929693945091929091156136aa57501561368d575090565b9250505090565b90505f613664565b955061365861364d565b959195131561363757859450613637565b634e487b7160e01b5f52601260045260245ffd5b60029190910b90835f831261370a575061370191614114565b60020b92613605565b906137189061370193614114565b614114565b60020b5f190190627fffff198212627fffff83131761250857565b600291820b910b0390627fffff198212627fffff83131761250857565b6080830191825115613bc45761376b84516135a9565b6020850151158015613bae5785516020015191969594916001600160a01b03165b60018060a01b031696805f526005850160205260405f2060018060a01b0389165f5260205260405f2097815f526006860160205260405f209060018060a01b03165f5260205260405f20905f526004850160205260405f2054965f935193604088015160020b92606089015160020b9360608a51015160020b905b87841061381e575b50505050505050505050505050565b5f9d9495969798999a9b9c9d50875f14613ba257868160020b13155b613b9a5760020b815f8183071291050393875f14613aa0578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159785895f14613a8b5750610152578492817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8815613a8057878660020b13155b613a795715613a5f57845f528260205260405f209687548015613a42579490919293945b80151580613a39575b15613a275790818f96959493928e6001915f520160205260405f208054976004820154600160ff8260501c16613988816110d4565b03613a1c5760301c63ffffffff16146139ed57908f918f8f938d916139ad8e85613bfa565b156139e05791816139d29593600198979593519160a08a80821b039101511695613c46565b0194935b949091929361394a565b50505050505094936139d6565b50509b9a999897509594909d9293505b8615613a1757613a0c9061371d565b9b9a9992919b613807565b613a0c565b5050505094936139d6565b509a999897965094939c91909c6139fd565b508a8210613953565b509594909d92939a9998979650865f14613a1757613a179061371d565b9c919299989796959493865f14613a1757613a179061371d565b509c61380f565b878660020b13613926565b9391505060020b900360020b0260020b613916565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159785895f14613b8057506101525784928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b94613918565b93905060ff809250031660020b0160020b0260020b613b7a565b849d5061380f565b868160020b121561383a565b85515191969594916001600160a01b031661378c565b5050505050565b9015613be857516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b0316613bdc565b6004015460ff8160581c165f14613c1a5760181c60020b9060020b121590565b60020b9060020b131590565b6004015460ff8160581c165f14613c3d5760020b90565b60181c60020b90565b60048501805460ff60501b1916600160511b179081905591969195613cee9590949391929091613c7d605889901c60ff1682613bcb565b9260018060a01b0385511694602060018060a01b0391015116915f946040600384019b613cad8d5460801c614203565b825191613cb983610ab5565b8060020b835260181c60020b6020830152828201528a60608201528151809c8192632d35e7ed60e11b83528660048401614229565b03815f8b5af196871561039a578c975f9b5f9161406f575b506001600160a01b038716614059578b60801d9b5b6001600160a01b0388166140435780600f0b9c5b6001600160a01b038916614039575f9d5b6001600160a01b038a1661402957613d72613d5d5f9a5b886144dd565b93908093859260048d015460601c8c8b614798565b99909f5f81600f0b13801561401d575b613ff6575b505050509084613db2613db89493613da58460801d8260801d61429c565b93600f0b90600f0b61429c565b92614ab7565b60018060801b038b5416915f60028a0199613de0613dda868d5460801c6142c1565b8c6142da565b60018a01865490600188019283549283158614613fe4578082555b80158614613fd157506001915001555b8a546001600160801b031680613fae575b5081865555613e2a84613c26565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613f79575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612508576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f516020615a375f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613e69565b8b546001600160801b03191683199091016001600160801b0316178b555f613e1c565b8552506020526040832060010155613e0b565b83865282602052806040872055613dfb565b8695949c5092613db292614011928a958e87613db89b614798565b90509a9293945f613d87565b505f82600f0b13613d82565b613d72613d5d85600f0b9a613d57565b8260801d9d613d40565b61405382600f0b82600f0b614277565b9c613d2f565b6140698160801d8d60801d614277565b9b613d1b565b905061408b919b5060403d6040116118a8576118988183610b21565b9a909a5f613d06565b9190820180921161250857565b5f93926001600160a01b03161561359a5780519151820361410557905f915b8183106140cc57505050565b9091936140d9858361251c565b519081156140f6576001916140ed91614094565b940191906140c0565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b81810392915f13801582851316918412161761250857565b9060020b9060020b0190627fffff198212627fffff83131761250857565b9190602090604051828101918252600660408201526040815261416e606082610b21565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561039a575f926141cf575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d6020116141fb575b816141eb60209383610b21565b810103126101525751905f6141a7565b3d91506141de565b600160ff1b8114612508575f0390565b9190826040910312610152576020825192015190565b906101609261423a83606093610c4b565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761250857565b600f91820b910b019060016001607f1b0319821260016001607f1b0383131761250857565b6001600160801b03918216908216039190821161250857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f600288019761432e614328888b5460801c6142c1565b8a6142da565b8354906001850191825491821585146144be578181555b8115851461449d576001915001555b88546001600160801b03168061447a575b508184555561437382613c26565b9660028301545f525f516020615a575f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615614445575b5050015460601c90815f525f516020615b375f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116125085760205f516020615a375f395f51905f5291835f525f516020615b375f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f806143bb565b89546001600160801b03191683199091016001600160801b03161789555f614365565b5083525f516020615ad75f395f51905f526020526001604084200155614354565b8285525f516020615ad75f395f51905f52602052816040862055614345565b919091604051906144ed82610aeb565b606082525f602083015290926001600160a01b0382169190848315614764575060405163442f7de960e11b8152600481018490526001600160a01b03919091169190602081602481865afa5f9181614726575b5061454f575b505050505f9190565b60ff6004911610159081614716575b5061456b575b8080614546565b5f91935060246040518095819363f3ffe14b60e01b835260048301525afa91821561039a575f926145ad575b50818051516145a65780614564565b6001925090565b9091503d805f833e6145bf8183610b21565b810190602081830312610152578051906001600160401b038211610152570160408183031261015257604051916145f583610aeb565b81516001600160401b0381116101525782019080601f830112156101525781519161461f83610bbc565b9261462d6040519485610b21565b80845260208085019160051b830101918383116101525760208101915b8383106146715750505050506146659160209184520161287b565b6020820152905f614597565b82516001600160401b0381116101525782019060a0828703601f190112610152576040519061469f82610a86565b6146ab6020840161287b565b82526146b96040840161288f565b60208301526146ca6060840161289f565b60408301526146db6080840161287b565b606083015260a0830151916001600160401b0383116101525761470688602080969581960101612796565b608082015281520192019161464a565b6147209150614dfa565b5f61455e565b9091506020813d60201161475c575b8161474260209383610b21565b81010312610152575160ff8116810361015257905f614540565b3d9150614735565b94505050505f9190565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b9695929193945f1461498957506020820151915180516001600160801b0392831695919391909216911561497a578251156125305760208301516147e5916001600160a01b03169061552a565b9081156149745785925b82156149635760208201516001600160a01b0316965b831561495b5750925b6001600160801b0316806149105750505093909192935b93916001916020935b82518410156148b657614867959661488361485560019361484f888861251c565b5161552a565b989092848060801b0316600f0b614e78565b600f0b604051906148788983610b21565b5f825289848d6155b2565b828060801b0316965f146148a85785828060a01b03910151165b93019295949561482e565b818060a01b0390511661489d565b96909493508692508591506001600160a01b0316803b15610152576148f5935f809460405196879586948593630b0d9c0960e01b85526004850161476e565b03925af1801561039a576149065750565b5f610ecf91610b21565b91614942916149256149519594600f0b614e78565b9160405192614935602085610b21565b5f8452600f0b918b6155b2565b6001600160801b031690615511565b9390919293614825565b90509261480e565b81516001600160a01b031696614805565b826147ef565b6319dcad4d60e31b5f5260045ffd5b909495939291505f925f905f905f88600f0b135f14614a2857505090516001600160a01b03908116956001600160801b03169416919050813b15614a2457836149ec92849283604051809681958294630b0d9c0960e01b84528c6004850161476e565b03925af18015614a1957614a01575b50509091565b614a0c828092610b21565b614a1657806149fb565b80fd5b6040513d84823e3d90fd5b8280fd5b5f91969493929750809550600f0b13614a44575b505050509091565b602001516001600160a01b0390811695506001600160801b0390931693509116803b1561015257825f91614a909383604051809681958294630b0d9c0960e01b84528b6004850161476e565b03925af1801561039a57614aa7575b808080614a3c565b5f614ab191610b21565b5f614a9f565b9293925f92600f0b83811215614df257945b600f0b5f811215614dea57945b8015801590614de1575b614aed575b505050509050565b5f811380614dda575b614d65575b838112614c99575b5082851380614c92575b614c21575b828512614b20575b80614ae5565b60209190910180516001600160a01b039081169592169190823b15614c125760405195632961046560e21b87526004870152838660248183875af1958615614c1657849596614bf5575b505160209291614b8f916001600160a01b0316908390614b8990614203565b916156d6565b600460405180958193630476982d60e21b83525af1908115614be95750614bba575b80808392614b1a565b614bdb9060203d602011614be2575b614bd38183610b21565b8101906123cf565b505f614bb1565b503d614bc9565b604051903d90823e3d90fd5b84614c04919592939495610b21565b614c1257908392915f614b6a565b8380fd5b6040513d86823e3d90fd5b60208201516001600160a01b038281169116813b15614c8e5786614c60928680809460405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af18015614c1657908491614c79575b5050614b12565b81614c8391610b21565b614a2457825f614c72565b8480fd5b5082614b0d565b82516001600160a01b03838116929116823b15614d615760405190632961046560e21b82526004820152858160248183875af18015614d56579086939291614d3b575b50845160209291614cfc916001600160a01b0316908390614b8990614203565b600460405180948193630476982d60e21b83525af18015614c165715614b0357614d349060203d602011614be257614bd38183610b21565b505f614b03565b83614d499194929394610b21565b614c8e579084915f614cdc565b6040513d88823e3d90fd5b8580fd5b82516001600160a01b03908116908316803b1561015257604051630b0d9c0960e01b81526001600160a01b0390921660048301525f6024830181905260448301849052908290606490829084905af1801561039a57614dc5575b50614afb565b614dd29194505f90610b21565b5f925f614dbf565b505f614af6565b50851515614ae0565b505f94614ad6565b505f94614ac9565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f9181614e3c575b50610d3357505f90565b9091506020813d602011614e70575b81614e5860209383610b21565b8101031261015257614e6990610c0c565b905f614e32565b3d9150614e4b565b600f0b60016001607f1b03198114612508575f0390565b6001600160a01b03918216815291166020820152604081019190915260600190565b9195949092955f945f821380615176575b615115575b5084811261503e575b508386138061502c575b614fbf575b50828512614eef575b5050509050565b60209190910180516001600160a01b039081169592169190823b15614c125760405195632961046560e21b87526004870152838660248183875af1958615614c1657849596614fa2575b505160209291614f58916001600160a01b0316908390614b8990614203565b600460405180958193630476982d60e21b83525af1908115614be95750614f83575b80808392614ee8565b614f9b9060203d602011614be257614bd38183610b21565b505f614f7a565b84614fb1919592939495610b21565b614c1257908392915f614f39565b60208301516001600160a01b03838116929116823b15614d6157614fff928692838a9360405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af18015614c1657908491615017575b50614edf565b8161502191610b21565b614a2457825f615011565b506001600160a01b0381161515614eda565b83516001600160a01b03848116929116823b156151115760405190632961046560e21b82526004820152868160248183875af180156151065790879392916150eb575b508551602092916150a1916001600160a01b0316908390614b8990614203565b600460405180948193630476982d60e21b83525af180156150e05715614ed0576150d99060203d602011614be257614bd38183610b21565b505f614ed0565b6040513d87823e3d90fd5b836150f99194929394610b21565b614d61579085915f615081565b6040513d89823e3d90fd5b8680fd5b84516001600160a01b03858116929116823b1561015257615152925f9283869360405196879586948593630b0d9c0960e01b855260048501614e8f565b03925af1801561039a5715614ec75761516e9195505f90610b21565b5f935f614ec7565b506001600160a01b0381161515614ec2565b60020b908160ff1d82810118620d89e881116154a25763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116615486575b6004811661546a575b6008811661544e575b60108116615432575b60208116615416575b604081166153fa575b608081166153de575b61010081166153c2575b61020081166153a6575b610400811661538a575b610800811661536e575b6110008116615352575b6120008116615336575b614000811661531a575b61800081166152fe575b6201000081166152e2575b6202000081166152c7575b6204000081166152ac575b6208000016615293575b5f1261528b575b0160201c90565b5f1904615284565b6b048a170391f7dc42444e8fa290910260801c9061527d565b6d2216e584f5fa1ea926041bedfe9890920260801c91615273565b916e5d6af8dedb81196699c329225ee6040260801c91615268565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c9161525d565b916f31be135f97d08fd981231505542fcfa60260801c91615252565b916f70d869a156d2a1b890bb3df62baf32f70260801c91615248565b916fa9f746462d870fdf8a65dc1f90e061e50260801c9161523e565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91615234565b916fe7159475a2c29b7443b29c7fa6e889d90260801c9161522a565b916ff3392b0822b70005940c7a398e4b70f30260801c91615220565b916ff987a7253ac413176f2b074cf7815e540260801c91615216565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c9161520c565b916ffe5dee046a99a2a811c461f1969c30530260801c91615202565b916fff2ea16466c96a3843ec78b326b528610260801c916151f9565b916fff973b41fa98c081472e6896dfb254c00260801c916151f0565b916fffcb9843d60f6159c9db58835c9266440260801c916151e7565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c916151de565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c916151d5565b916ffff97272373d413259a46990580e213a0260801c916151cc565b826345c3193d60e11b5f5260045260245ffd5b6001600160a01b03918216908216039190821161250857565b90926001600160801b03169190821561550b57610ecf93156154f957516001600160a01b03166156d6565b602001516001600160a01b03166156d6565b50505050565b6001600160801b03918216908216019190821161250857565b906155336124d0565b5081516001600160a01b0382811692911690818310156155aa575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b0391015116926040519461558886610a86565b85526001600160a01b0316602085015260408401526060830152608082015291565b50819061554e565b93929180156156bb576401000276a4945b6040519160608301908382106001600160401b03831117610aa1576020946156585f92615627946040521515988987528787019a898c52604088019060018060a01b031681526040519b8c9889978896633cf3645360e21b88526004880190610c4b565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610a62565b03926001600160a01b03165af192831561039a575f93615687575b505f130361568157600f0b90565b60801d90565b9092506020813d6020116156b3575b816156a360209383610b21565b810103126101525751915f615673565b3d9150615696565b73fffd8963efd1fc6a506488495d951d5263988d25946155c3565b9091906001600160a01b03811690816157645750505f80808093855af1156156fb5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156157b55750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b90606082901b905f19600160601b840992828085109403938085039485841115610152571461589c578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b111561015257146158e357600160601b910990828211900360a01b910360601c1790565b50505060601c90565b91818302915f19818509938380861095039480860395868511156101525714615964579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b6001600160801b0381169190820361598057565b60405162461bcd60e51b81526020600482015260126024820152716c6971756964697479206f766572666c6f7760701b6044820152606490fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561039a575f91615a07575090565b90506020813d602011615a2e575b81615a2260209383610b21565b81010312610152575190565b3d9150615a1556fea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf073544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1453:7731:75:-:0;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;7879:11;-1:-1:-1;;;;;1453:7731:75;7857:10;:34;1453:7731;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;;;;;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;;;;-1:-1:-1;;;2641:68:76;;2673:10;1453:7731:75;2641:68:76;;1453:7731:75;2693:4:76;1453:7731:75;;;;-1:-1:-1;;;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;2641:68:76;;;;;;;1453:7731:75;2641:68:76;;;1453:7731:75;;;;;;3916:11;3864:113;3916:11;;3864:113;:::i;:::-;1453:7731;;;;;;;:::i;:::-;;;;;1813:27:76;;;1453:7731:75;;;;;2641:68:76;;;1453:7731:75;2641:68:76;;1453:7731:75;2641:68:76;;;;;;1453:7731:75;2641:68:76;;;:::i;:::-;;;1453:7731:75;;;;;;;:::i;:::-;2641:68:76;;;;;;-1:-1:-1;2641:68:76;;;1453:7731:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;1531:41;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;;;-1:-1:-1;;;2641:68:76;;2673:10;1453:7731:75;2641:68:76;;1453:7731:75;2693:4:76;1453:7731:75;;;;-1:-1:-1;;;1453:7731:75;;;;;;;;;2641:68:76;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;2641:68:76;;;;;;;1453:7731:75;2641:68:76;;;1453:7731:75;;;;;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;2641:68:76;;;1453:7731:75;2641:68:76;;1453:7731:75;2641:68:76;;;;;;1453:7731:75;2641:68:76;;;:::i;:::-;;;1453:7731:75;;;;;;;:::i;:::-;2641:68:76;;;;;;-1:-1:-1;2641:68:76;;1453:7731:75;;;;;;-1:-1:-1;;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;8895:136;1453:7731;;;;;;:::i;:::-;;;;;;;;:::i;:::-;6330:10;1453:7731;;;8906:124;;1453:7731;;;;8906:124;;1453:7731;;;;;;;;;;8906:124;;1453:7731;;;;;8906:124;;1453:7731;;;;;;8895:136;;;1453:7731;8895:136;;;1453:7731;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;8895:136;-1:-1:-1;;8895:136:75;;;;;;:::i;:::-;1453:7731;;;9143:31;;;1453:7731;;9143:31;6280:26;1453:7731;;9143:31;;1453:7731;;;;;;;;;;;:::i;:::-;9143:31;5899:98;;9143:31;;;;;;:::i;:::-;1453:7731;;;;;;;;;9124:51;;1453:7731;;9124:51;;1453:7731;;;;;;:::i;:::-;9124:51;1453:7731;;9124:11;-1:-1:-1;;;;;1453:7731:75;9124:51;;;;;;;;1453:7731;9124:51;;;;;1453:7731;9124:51;;;;;;:::i;:::-;;;;;:::i;:::-;1453:7731;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;1649:51;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1453:7731:75;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;1765:10:76;:25;1761:90;;1864:24;;:29;1860:110;;-1:-1:-1;;;;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;2290:30:76;;1453:7731:75;;2290:30:76;1453:7731:75;1860:110:76;-1:-1:-1;;;;1453:7731:75;1916:43:76;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;1916:43:76;1453:7731:75;;;;;;-1:-1:-1;;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;:::i;:::-;;;:::i;:::-;5604:13;1453:7731;;;;-1:-1:-1;;1453:7731:75;;;5631:3;5619:10;;;;;;1453:7731;;;;;;;;;;;;;;5707:14;;;;;;;;:::i;:::-;:26;;5703:327;;5631:3;;1453:7731;5631:3;;1453:7731;5604:13;;5703:327;5781:14;1453:7731;5781:14;;;:::i;:::-;1453:7731;;;:::i;:::-;5931:17;;;1453:7731;;;;;;;;;;5899:98;;1453:7731;;;;;5899:98;1453:7731;;;;;;:::i;:::-;5910:86;1453:7731;;;;;;:::i;:::-;;;:::i;:::-;;8411:18;;1453:7731;;;;;;;;;;;;;;;;;;;;;;;;;5931:17;1453:7731;;;5707:14;1453:7731;;8631:24;1453:7731;;5899:98;;;1453:7731;5899:98;;;:::i;:::-;;:::i;:::-;5703:327;;;1453:7731;;;;;-1:-1:-1;;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1453:7731:75;;;;1578:65;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;;1453:7731:75;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;5899:98;;1453:7731;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;5899:98;1453:7731;5899:98;;1453:7731;;:::i;:::-;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;:::i;:::-;;:::o;4030:1427::-;;;;;;4192:17;;4188:80;;4030:1427;4296:45;4329:11;4296:45;:::i;:::-;4409:121;;;;4030:1427;4653:14;;:::i;:::-;4750:164;1453:7731;;:::i;:::-;;2135:35:81;1453:7731:75;;;;:::i;:::-;2135:35:81;:::i;:::-;4208:1:75;1453:7731;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;4208:1;1453:7731;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2236:29:81;2232:178;;4030:1427:75;1453:7731;;2451:81:81;;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;2451:81:81;:::i;:::-;1453:7731:75;;;1032:7:31;;;13865:29:81;;:62;;;;4030:1427:75;13861:170:81;;1453:7731:75;;;-1:-1:-1;;14044:27:81;;:58;;;;4030:1427:75;14040:166:81;;14216:277;;;;14251:19;;;14247:102;;14216:277;1453:7731:75;;;;;;;:::i;:::-;4208:1;1453:7731;;4208:1;1453:7731;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;8411:18:75;;1453:7731;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;8631:24;5195:152;;1453:7731;5429:20;;;1453:7731;;;5429:20;;;1453:7731;5429:20;;;:::i;:::-;4030:1427::o;5195:152::-;5307:8;;;;:::i;14247:102:81:-;13950:70;;;;;;4208:1:75;14279:70:81;1453:7731:75;;1317:6:31;1453:7731:75;;;1317:6:31;1453:7731:75;1317:6:31;4208:1:75;14279:70:81;14216:277;14384:19;;;14380:102;14216:277;14380:102;13950:70;;;4208:1:75;14412:70:81;1453:7731:75;;1317:6:31;1453:7731:75;4208:1;1317:6:31;1453:7731:75;1317:6:31;4208:1:75;14412:70:81;14044:58;14075:27;1317:6:31;14075:27:81;;14044:58;;13861:170;13950:70;;;;;4208:1:75;13950:70:81;1453:7731:75;;;;1317:6:31;1453:7731:75;;;1317:6:31;1453:7731:75;1317:6:31;4208:1:75;13950:70:81;13865:62;13898:29;1317:6:31;13898:29:81;;13865:62;;2232:178;1453:7731:75;;;;;;;:::i;:::-;2325:24:81;1453:7731:75;2325:24:81;;1453:7731:75;;;2325:29:81;2321:78;;2232:178;;;2321:78;2363:36;;;4208:1:75;2363:36:81;1453:7731:75;4208:1;2363:36:81;4409:121:75;1453:7731;;-1:-1:-1;;;4447:45:75;;4481:10;1453:7731;4447:45;;1453:7731;;;4447:45;1453:7731;4447:16;-1:-1:-1;;;;;1453:7731:75;4447:45;;;;;;;4208:1;4447:45;;;4409:121;1453:7731;4409:121;1453:7731;;;;4208:1;1453:7731;;4208:1;1453:7731;4447:45;;;1453:7731;4447:45;;1453:7731;4447:45;;;;;;1453:7731;4447:45;;;:::i;:::-;;;1453:7731;;;;;;;:::i;:::-;4447:45;;;;;;-1:-1:-1;4447:45:75;;4188:80;-1:-1:-1;;;;;;;;;;;1453:7731:75;;-1:-1:-1;4188:80:75;;1453:7731;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;-1:-1:-1;;1453:7731:75;;;;:::o;:::-;;-1:-1:-1;1453:7731:75;;;:::o;6629:863::-;;1453:7731;;6746:11;-1:-1:-1;;;;;1453:7731:75;6724:10;:34;1453:7731;;6841:37;;1453:7731;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;:::i;:::-;6970:31;;6966:140;;1453:7731;;;;:::i;:::-;;7120:29;;1453:7731;;7206:14;;;;:::i;:::-;1453:7731;;2799:64:81;;;1453:7731:75;2799:64:81;;1453:7731:75;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;2897:4:81;1453:7731:75;;;;:::i;:::-;;;;;2897:4:81;:::i;:::-;1453:7731:75;;;;;;:::i;:::-;-1:-1:-1;1453:7731:75;;6629:863;:::o;7116:343::-;7270:26;1453:7731;;;;:::i;:::-;7256:40;7270:26;;1453:7731;;1257:69:86;;1453:7731:75;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;1257:69:86;1453:7731:75;1257:69:86;;1453:7731:75;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;1733:23:86;1453:7731:75;;;;1856:15:86;;;1453:7731:75;;1919:22:86;;;-1:-1:-1;1957:9:86;-1:-1:-1;2878:16:86;;;;1952:1026;1968:14;;;;;;1952:1026;3039:30;;;;;;;;;;1453:7731:75;;7252:207;;7116:343;;1453:7731;;;;-1:-1:-1;1453:7731:75;2138:11:86;1453:7731:75;;;;-1:-1:-1;1453:7731:75;1984:3:86;2021:11;;;;;;;;;;;:::i;:::-;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;2138:11:86;;;1453:7731:75;;;;;;2138:25:86;;1453:7731:75;;2222:20:86;;1453:7731:75;;;;;;;;;;;:::i;:::-;2302:48:86;1453:7731:75;;;2421:15:86;;1453:7731:75;3466:17:86;7270:26:75;3466:17:86;;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;7270:26;1453:7731;;;;;;;;;;;;;;;;;3502:20:86;1453:7731:75;;6768:208:82;3588:36:86;4153:64;3588:36;;;;:::i;:::-;1453:7731:75;3641:53:86;1453:7731:75;;;;;3641:53:86;;:::i;:::-;-1:-1:-1;1453:7731:75;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1453:7731:75;;;;;;4153:64:86;;:::i;:::-;;1453:7731:75;6909:27:82;1453:7731:75;;;6909:27:82;:::i;:::-;1453:7731:75;;;;;;:::i;:::-;;7270:26;1453:7731;;;;;;7270:26;1453:7731;;6826:124:82;;1453:7731:75;6826:124:82;;;1453:7731:75;6826:124:82;1453:7731:75;6826:124:82;;1453:7731:75;;;;;;;;;;6768:208:82;;;2138:11:86;6768:208:82;;;:::i;:::-;;1453:7731:75;-1:-1:-1;6746:11:75;-1:-1:-1;;;;;1453:7731:75;6768:208:82;;;;;;;-1:-1:-1;6768:208:82;;;1984:3:86;-1:-1:-1;1453:7731:75;;;;;;;;5327:26:82;;1984:3:86;5323:311:82;;;-1:-1:-1;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;2052:83:33;;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;;;;6746:11;1453:7731;5411:53:82;;;;-1:-1:-1;1453:7731:75;;5411:53:82;1453:7731:75;;;;;;;;;;5411:53:82;;1453:7731:75;;;;;;5411:53:82;2138:11:86;5411:53:82;;;:::i;:::-;;1453:7731:75;;6746:11;-1:-1:-1;;;;;1453:7731:75;5411:53:82;;;;;;;1453:7731:75;5411:53:82;;;-1:-1:-1;;;;;;;;;;;5411:53:82;1453:7731:75;5411:53:82;7270:26:75;5411:53:82;5693:7;5411:53;;;5323:311;;;2241:89:33;;;2052:83;1453:7731:75;2052:83:33;6746:11:75;;5693:7:82;:::i;:::-;3466:17:86;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;7270:26;1453:7731;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;4409:111:86;-1:-1:-1;;;;;1453:7731:75;;2643:19:86;;2639:125;;-1:-1:-1;2778:27:86;;-1:-1:-1;;;;;1453:7731:75;;;;;-1:-1:-1;2778:27:86;:::i;:::-;2878:50;;;;;5323:311:82;2874:94:86;;1453:7731:75;;1957:9:86;;;;;;;;2874:94;2948:5;;2878:50;2898:30;;;;;2878:50;;2639:125;2689:60;;;;;-1:-1:-1;2689:60:86;2138:11;1453:7731:75;;;;;;;;;;;;-1:-1:-1;2689:60:86;5411:53:82;-1:-1:-1;5411:53:82;;;:::i;:::-;;;;5323:311;1453:7731:75;;;;;;;;;;5485:12:82;:27;;;5323:311;5481:153;;5323:311;;7270:26:75;1453:7731;5323:311:82;5693:7;-1:-1:-1;;;;;;;;;;;5323:311:82;;1453:7731:75;5323:311:82;;;5481:153;1453:7731:75;;;;-1:-1:-1;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;6746:11;1453:7731;5570:53:82;;;;-1:-1:-1;1453:7731:75;;5570:53:82;1453:7731:75;;;;;;;;;;5570:53:82;;1453:7731:75;;;;;;5570:53:82;2138:11:86;5570:53:82;;;:::i;:::-;;1453:7731:75;;6746:11;-1:-1:-1;;;;;1453:7731:75;5570:53:82;;;;;;;1453:7731:75;5570:53:82;;;-1:-1:-1;;;;;;;;;;;5570:53:82;1453:7731:75;5570:53:82;7270:26:75;5570:53:82;5693:7;5570:53;;;5481:153;;;;;;;;;;;;;;5570:53;-1:-1:-1;5570:53:82;;;:::i;:::-;;;;5485:27;2241:89:33;-1:-1:-1;2241:89:33;;;5501:11:82;5485:27;;5327:26;2052:83:33;-1:-1:-1;2052:83:33;1453:7731:75;2052:83:33;2241:89;1453:7731:75;5342:11:82;5327:26;;6768:208;;;;;1453:7731:75;6768:208:82;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;2138:11:86;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;2138:11:86;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;2138:11:86;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;-1:-1:-1;1453:7731:75;7252:207;7431:17;;;-1:-1:-1;7431:17:75;;-1:-1:-1;7431:17:75;6966:140;1453:7731;;3293:61:80;;;1453:7731:75;3293:61:80;;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3364:66:80;1453:7731:75;;;;;;;;;;;:::i;:::-;;;;;;;3385:15:80;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;3364:66:80;:::i;:::-;;5128:8;5168:27;;;;:::i;:::-;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;5282:39:80;1453:7731:75;;;;;5282:44:80;5278:108;;1453:7731:75;14636:46:81;1453:7731:75;357:173:36;;;;;6746:11:75;14636:46:81;:::i;:::-;1453:7731:75;;;;;5559:52:80;1453:7731:75;;;;5559:52:80;;:::i;:::-;1453:7731:75;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5423:323:80;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;5423:323:80;;1453:7731:75;5423:323:80;;;1453:7731:75;;5423:323:80;;1453:7731:75;;5423:323:80;;1453:7731:75;5782:15:80;;1453:7731:75;5768:37:80;;;:::i;:::-;5821:9;-1:-1:-1;6712:15:80;;;;5816:229;5821:9;5836:15;;1453:7731:75;;;5832:26:80;;;;;1453:7731:75;5956:15:80;;6427:190;;;1453:7731:75;6427:190:80;;;;;;;;;;1453:7731:75;5423:323:80;;1453:7731:75;;;;;;;;6664:64:80;7539:205;;;;7617:19;7570:21;7617:19;;;:::i;:::-;7539:205;;1453:7731:75;5423:323:80;;1453:7731:75;;;1850:38:82;;;:::i;:::-;1923;;;;:::i;:::-;1990:203;;;;1511:80:65;;1521:69;;2020:77:82;;-1:-1:-1;;;;;1453:7731:75;;;;;;1304:29:65;1300:98;;1990:203:82;-1:-1:-1;1560:29:65;;-1:-1:-1;1431:63:65;-1:-1:-1;;;;;1453:7731:75;;;;;;1431:63:65;:::i;:::-;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;1560:29:65;:::i;:::-;1453:7731:75;1521:69:65;;;:::i;:::-;1511:80;:::i;:::-;1990:203:82;;-1:-1:-1;;;;;1453:7731:75;;6864:14:80;1453:7731:75;;;;;;9349:323:80;1453:7731:75;;;;;;;;;;;5423:323:80;;;1453:7731:75;;;;;;;;5423:323:80;;1453:7731:75;;;-1:-1:-1;1453:7731:75;7009:17:80;1453:7731:75;;;-1:-1:-1;1453:7731:75;;7007:30:80;1453:7731:75;;7007:30:80;:::i;:::-;1453:7731:75;;;7913:323:80;;;;;1453:7731:75;7913:323:80;;;;;;;;;;;;1453:7731:75;7913:323:80;;;;1453:7731:75;;;;;;;;:::i;:::-;;;;;;;;7080:223:80;;1453:7731:75;;;;7080:223:80;;;1453:7731:75;;;;;;;;7080:223:80;;;1453:7731:75;;7080:223:80;;1453:7731:75;;;;;;;;;;7080:223:80;;;1453:7731:75;;;;5423:323:80;1453:7731:75;;;8519:56:80;-1:-1:-1;1453:7731:75;;;;;;;:::i;:::-;;;;;;;;;9414:232:80;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;9414:232:80;;;1453:7731:75;9414:232:80;;1453:7731:75;;;-1:-1:-1;;;9349:323:80;;1453:7731:75;;;;;5632:16:80;9349:323;;;:::i;:::-;;1453:7731:75;-1:-1:-1;6746:11:75;-1:-1:-1;;;;;1453:7731:75;9349:323:80;;;;;;;-1:-1:-1;9349:323:80;;;1990:203:82;2052:83:33;;1453:7731:75;2052:83:33;2241:89;;;9768:207:80;;;;;9814:52;-1:-1:-1;1453:7731:75;2241:89:33;1453:7731:75;9814:11:80;:52;-1:-1:-1;;;9851:8:80;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;9814:52:80;9768:207;;-1:-1:-1;;;;;1453:7731:75;;9993:17:80;1453:7731:75;;;;;;;;;;-1:-1:-1;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;10067:35:80;-1:-1:-1;10063:112:80;;9768:207;-1:-1:-1;;10236:10:80;;1453:7731:75;;3005:7:82;;10236:10:80;2619:78:82;;-1:-1:-1;;;;;1453:7731:75;2676:4:82;6746:11:75;2619:78:82;:::i;:::-;1453:7731:75;2787:13:82;;1453:7731:75;2723:78:82;;-1:-1:-1;;;;;1453:7731:75;2676:4:82;6746:11:75;2723:78:82;:::i;:::-;2830:40;;;;;-1:-1:-1;2830:40:82;;2898;;;2676:4;2898:40;;6746:11:75;3005:7:82;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;;8586:132:80;;2898:40:82;8792:14:80;;;1453:7731:75;;;;;;;5423:323:80;1453:7731:75;5423:323:80;;1453:7731:75;;;;;;;;;5423:323:80;;1453:7731:75;;5423:323:80;;;1453:7731:75;5423:323:80;;1453:7731:75;;;5423:323:80;;;1453:7731:75;5423:323:80;;1453:7731:75;;;5423:323:80;;1453:7731:75;;;;;;;;;7080:223:80;;;1453:7731:75;;7080:223:80;1453:7731:75;7080:223:80;;1453:7731:75;7080:223:80;1453:7731:75;7080:223:80;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;2066:15:79;1453:7731:75;2066:15:79;;1453:7731:75;;;;;;;;;;;;;;;871:1:83;;;;;;;2106:27:79;;;:::i;:::-;5632:16:80;2143:15:79;;1453:7731:75;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;;;;;;2388:17:79;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;2528:17:79;;;;1453:7731:75;2528:17:79;;1453:7731:75;;;2528:33:79;;;;:::i;:::-;;;1453:7731:75;2528:17:79;;:33;:::i;:::-;1453:7731:75;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;2649:15:79;;1453:7731:75;;;;;;;;;;2528:17:79;1453:7731:75;2528:17:79;1453:7731:75;;864:15:78;860:218;1453:7731:75;860:218:78;;1453:7731:75;860:218:78;-1:-1:-1;;;;;;;;;;;860:218:78;;;2898:40:82;1107:6:83;;;;;;;1453:7731:75;;1128:18:83;;1124:235;1128:18;;;1453:7731:75;;;1124:235:83;3594:343;-1:-1:-1;3594:343:83;-1:-1:-1;;;;;;;;;;;3594:343:83;;1453:7731:75;;-1:-1:-1;3594:343:83;;;1453:7731:75;;;;;;;;;;;;;;;;;;;2528:17:79;;;1453:7731:75;;;;;;;;;;871:1:83;2528:17:79;;;871:1:83;;;2528:17:79;;871:1:83;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;2793:47:79;1453:7731:75;-1:-1:-1;1453:7731:75;;;;;;;;;;2793:47:79;:::i;:::-;2850:26;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2916:123:79;1453:7731:75;;;;;;;;2916:123:79;;1453:7731:75;;;;;;;;;;;3054:69:79;;5876:99:80;;;;:::i;:::-;1453:7731:75;;5821:9:80;;1124:235:83;3594:343;-1:-1:-1;3594:343:83;-1:-1:-1;;;;;;;;;;;3594:343:83;;;1453:7731:75;-1:-1:-1;3594:343:83;;1124:235;;860:218:78;846:396:30;1453:7731:75;846:396:30;;-1:-1:-1;846:396:30;;;;;;;1039:11:78;1676:170:30;1453:7731:75;1676:170:30;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;1676:170:30;1453:7731:75;-1:-1:-1;1453:7731:75;1676:170:30;;1453:7731:75;;;1039:28:78;1453:7731:75;;860:218:78;;;;8586:132:80;8698:8;8654:14;;;1453:7731:75;5423:323:80;;1453:7731:75;;;;;;;;;5423:323:80;;1453:7731:75;;8698:8:80;;:::i;:::-;8586:132;;;2898:40:82;-1:-1:-1;2898:40:82;;;2830;2676:4;2830:40;;;10063:112:80;3005:7:82;10129:35:80;;;;;;;:::i;:::-;10063:112;;;;;;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;5632:16:80;-1:-1:-1;1453:7731:75;9814:52:80;;-1:-1:-1;9814:52:80;;9768:207;9912:52;-1:-1:-1;;9912:11:80;;-1:-1:-1;;;9949:8:80;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;9912:52:80;9768:207;;;9912:52;;-1:-1:-1;9912:52:80;;9349:323;;;;1453:7731:75;9349:323:80;;;;;;;;;:::i;:::-;;;;;1300:98:65;1335:63;;;;1300:98;;;;1990:203:82;2299:84:65;;2309:73;;2116:77:82;;;-1:-1:-1;;;;;1453:7731:75;;;;;;2188:29:65;2184:98;;1990:203:82;-1:-1:-1;;;;;;1453:7731:75;2352:29:65;;1453:7731:75;-1:-1:-1;2352:29:65;:::i;:::-;1453:7731:75;2309:73:65;;:::i;2299:84::-;1990:203:82;;;2184:98:65;2219:63;-1:-1:-1;2219:63:65;-1:-1:-1;2352:29:65;2184:98;;;7539:205:80;7679:19;;;;;:::i;:::-;7712:21;;7539:205;;;5832:26;;;;;;;;3520:20;5832:26;;3520:20;5832:26;;1453:7731:75;;3520:20:80;;;1453:7731:75;3520:20:80;;;:::i;5278:108::-;-1:-1:-1;1453:7731:75;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;-1:-1:-1;;;1453:7731:75;-1:-1:-1;;;1453:7731:75;;;;;;;;;;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5278:108:80;;1453:7731:75;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;417:66:25;;;;;;;;;;;:::o;2217:141:32:-;1453:7731:75;;-1:-1:-1;;;2305:39:32;;417:66:25;2305:39:32;;;1453:7731:75;;417:66:25;;1453:7731:75;;2305:39:32;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;2305:39:32;;;;;;;-1:-1:-1;2305:39:32;;;2217:141;2305:46;;;2217:141;:::o;2305:39::-;;;417:66:25;2305:39:32;;417:66:25;2305:39:32;;;;;;417:66:25;2305:39:32;;;:::i;:::-;;;417:66:25;;;;;2305:39:32;;;;;;-1:-1:-1;2305:39:32;;7923:178:75;1453:7731;;;;;;:::i;:::-;-1:-1:-1;;;;;8032:11:75;1453:7731;;;;8073:21;1453:7731;;;;;7923:178::o;1453:7731::-;;;;;;;:::i;:::-;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2915:2047:81;;3258:36;3281:12;;3258:36;:::i;:::-;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;3327:31:81;1453:7731:75;;3327:31:81;:::i;:::-;1453:7731:75;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:20:81;3427:152;;2915:2047;1453:7731:75;;;357:173:36;;14636:46:81;;-1:-1:-1;;;;;1453:7731:75;14636:46:81;:::i;:::-;3662:13;;;;;;;;;;;1453:7731:75;3662:25:81;3658:123;;1453:7731:75;3810:16:81;;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;3927:47:81;;;;:::i;:::-;1453:7731:75;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;;;;;4099:17:81;;1453:7731:75;;4144:13:81;;;1453:7731:75;4179:9:81;-1:-1:-1;4190:10:81;;;;;;2915:2047;;;;;;;;;;;:::o;4179:9::-;4236:13;;;:16;1453:7731:75;4236:13:81;;;:16;:::i;:::-;1453:7731:75;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;3329:16:81;4360:12;;1453:7731:75;;;;;;;;;;;:::i;:::-;4360:48:81;:100;;;;4179:9;4360:152;;;4179:9;4360:205;;;4179:9;4360:256;;;;;4179:9;4339:547;;4179:9;1453:7731:75;;;;;4179:9:81;;4339:547;4858:12;4667:36;;;;:::i;:::-;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;4858:12:81;-1:-1:-1;;;;;;;;;;;4858:12:81;;:::i;:::-;4339:547;;;;;;4360:256;4585:31;;;;;:::i;:::-;4360:256;;:205;1453:7731:75;;;;4532:33:81;;-1:-1:-1;4360:205:81;;;;:152;1453:7731:75;;;;;;;;;;4480:32:81;4360:152;;;:100;1453:7731:75;4428:17:81;;1453:7731:75;4428:32:81;;;-1:-1:-1;4360:100:81;;3658:123;3738:11;;;;;;;-1:-1:-1;;;;;;;;;;;3738:11:81;;;;:::i;3427:152::-;3473:12;;;;3503:15;1453:7731:75;3503:15:81;;1453:7731:75;;;3427:152:81;3499:69;2363:36;;;-1:-1:-1;3532:36:81;3329:16;-1:-1:-1;3532:36:81;1453:7731:75;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;:::i;9044:138::-;1453:7731;;;9143:31;;;1453:7731;-1:-1:-1;9143:31:75;1453:7731;9143:31;1453:7731;9143:31;;1453:7731;;;;;;;;;;;:::i;:::-;9124:51;1453:7731;;9124:11;-1:-1:-1;;;;;1453:7731:75;9124:51;;;;;;;;9044:138;:::o;9124:51::-;;;;;-1:-1:-1;9124:51:75;;;;;;:::i;:::-;;9044:138::o;1453:7731::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;417:66:25;;1453:7731:75;;;;;;;;;;1903:1171:80;;;;;;-1:-1:-1;;;;;1453:7731:75;;;1903:1171:80;;1453:7731:75;;2210:19:80;;1453:7731:75;;10571:51:80;1453:7731:75;2227:1:80;1453:7731:75;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;10571:51:80;;;:::i;:::-;1453:7731:75;4292:47:80;1453:7731:75;;;;;;:::i;:::-;;;;;;;;10639:138:80;;1453:7731:75;;;;10639:138:80;;1453:7731:75;;;;10639:138:80;;;1453:7731:75;;;;10639:138:80;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;4292:47:80;:::i;:::-;1453:7731:75;4354:18:80;1453:7731:75;;4396:9:80;;:18;1453:7731:75;;4350:526:80;2659:45;;;:::i;:::-;2655:196;;1453:7731:75;;;;2994:22:80;1453:7731:75;2994:22:80;;;1453:7731:75;;;;;;;;;;;;:::i;:::-;;;;;;;;10639:138:80;1453:7731:75;;;;;;;;;;;;;;;;;;;2227:1:80;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:1:80;1453:7731:75;;;;;;;;;;;2944:73:80;1453:7731:75;2994:22:80;1453:7731:75;;2227:1:80;1453:7731:75;;;;;;;;;;;;;;;;2994:22:80;5899:98:75;;2994:22:80;;;;;;:::i;:::-;1453:7731:75;;;;;2944:73:80;1453:7731:75;2944:73:80;;1453:7731:75;;;;;;;;;;;:::i;2944:73:80:-;1453:7731:75;;;;;;;;;;;2925:93:80;;1453:7731:75;2925:93:80;;;1453:7731:75;;;;;;:::i;:::-;2925:93:80;;-1:-1:-1;;;;;1453:7731:75;2925:93:80;;;;;;;2227:1;2925:93;;;1453:7731:75;;;;3036:31:80;;1453:7731:75;;;;;;;;;3036:31:80;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;3036:31:80;1453:7731:75;3036:31:80;;;1453:7731:75;;;;:::i;2925:93:80:-;;;;;;2227:1;2925:93;;;;;;:::i;:::-;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2655:196:80;2801:39;;;;;5128:8;;5168:27;;;;:::i;:::-;1453:7731:75;;2227:1:80;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;5282:39:80;1453:7731:75;2227:1:80;1453:7731:75;5282:39:80;1453:7731:75;;;;;5282:44:80;5278:108;;2655:196;14636:46:81;357:173:36;;;14636:46:81;;:::i;:::-;1453:7731:75;;;;;5559:52:80;1453:7731:75;;;;5559:52:80;;:::i;:::-;1453:7731:75;2227:1:80;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;2227:1:80;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5423:323:80;;1453:7731:75;;;;;;;;5423:323:80;;1453:7731:75;5423:323:80;;;1453:7731:75;;5423:323:80;;1453:7731:75;357:173:36;5423:323:80;;1453:7731:75;5768:37:80;1453:7731:75;10639:138:80;;5782:15;1453:7731:75;5768:37:80;:::i;:::-;5821:9;2227:1;5821:9;1453:7731:75;10639:138:80;;5836:15;1453:7731:75;;5832:26:80;;;;;1453:7731:75;5956:15:80;;6427:190;;;;;;;;;;;;;;5423:323;357:173:36;5423:323:80;;1453:7731:75;;;6712:15:80;;;1453:7731:75;;;6664:64:80;7539:205;;;;7617:19;7570:21;7617:19;;;:::i;:::-;7539:205;;357:173:36;5423:323:80;;1453:7731:75;;;1850:38:82;;;:::i;:::-;1923;;;;:::i;:::-;1990:203;;;;1511:80:65;;1521:69;;2020:77:82;;-1:-1:-1;;;;;1453:7731:75;;;;;;1304:29:65;1300:98;;1990:203:82;-1:-1:-1;1560:29:65;;-1:-1:-1;1431:63:65;-1:-1:-1;;;;;1453:7731:75;;;;;;1431:63:65;:::i;1560:29::-;1453:7731:75;1521:69:65;;;:::i;1511:80::-;1990:203:82;;-1:-1:-1;;;;;1453:7731:75;;6864:14:80;1453:7731:75;;9349:323:80;1453:7731:75;;;;;;;;;357:173:36;1453:7731:75;;;;;;;;;;;5423:323:80;;;1453:7731:75;;;;;;;;;5423:323:80;;1453:7731:75;;7009:28:80;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;7009:17:80;1453:7731:75;;;-1:-1:-1;1453:7731:75;;7007:30:80;1453:7731:75;;7007:30:80;:::i;:::-;1453:7731:75;;;7913:323:80;;;;;1453:7731:75;7913:323:80;;;;;;;;;;;1453:7731:75;7913:323:80;;;;1453:7731:75;;;;;;;;;:::i;:::-;;;;;;;;;7080:223:80;;1453:7731:75;;;;7080:223:80;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;;7080:223:80;;;1453:7731:75;;;7080:223:80;;1453:7731:75;7080:223:80;;;1453:7731:75;;;5423:323:80;1453:7731:75;;;;;;;-1:-1:-1;;1453:7731:75;;8519:56:80;;1453:7731:75;;;;:::i;:::-;;;;;;;;;9414:232:80;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;9414:232:80;;;1453:7731:75;9414:232:80;;1453:7731:75;;;-1:-1:-1;;;9349:323:80;;1453:7731:75;;;;;-1:-1:-1;;1453:7731:75;;;;5632:16:80;9349:323;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;9349:323:80;;;;;;;2227:1;9349:323;;;1990:203:82;2052:83:33;;1453:7731:75;2052:83:33;2241:89;;;9768:207:80;;;;;9814:52;2227:1;1453:7731:75;2241:89:33;1453:7731:75;9814:11:80;:52;2227:1;;;9851:8;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;9814:52:80;-1:-1:-1;;;;;1453:7731:75;;9993:17:80;1453:7731:75;;;;;;;;;;;;;;;7080:223:80;;1453:7731:75;;;;;;;;;;10067:35:80;10063:112;;9768:207;10236:10;;3005:7:82;10236:10:80;;;;2619:78:82;1453:7731:75;;;;;;;;2559:4:80;2619:78:82;;:::i;:::-;1453:7731:75;2787:13:82;;1453:7731:75;2723:78:82;;-1:-1:-1;;;;;1453:7731:75;2559:4:80;2723:78:82;;:::i;:::-;2830:40;;;;;2227:1:80;2830:40:82;;2898;;;2559:4:80;2898:40:82;3005:7;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;;8586:132:80;;2898:40:82;8792:14:80;;;;1453:7731:75;;;7080:223:80;357:173:36;7080:223:80;;1453:7731:75;;;5423:323:80;1453:7731:75;5423:323:80;;1453:7731:75;;;;;;;;;5423:323:80;;1453:7731:75;;5423:323:80;;;;357:173:36;5423:323:80;;1453:7731:75;;;5423:323:80;1453:7731:75;5423:323:80;1453:7731:75;;;5423:323:80;;1453:7731:75;;;;;;;;7080:223:80;;;1453:7731:75;;7080:223:80;1453:7731:75;7080:223:80;;1453:7731:75;7080:223:80;1453:7731:75;7080:223:80;1453:7731:75;;;2227:1:80;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;2227:1:80;1453:7731:75;2066:15:79;5282:14:80;2066:15:79;;1453:7731:75;;;;;;;;;;;;;;;871:1:83;;;;;;;2106:27:79;;;:::i;:::-;5632:16:80;2143:15:79;;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;;;;;;2388:17:79;1453:7731:75;;2227:1:80;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;2227:1:80;1453:7731:75;;;;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;2472:46:79;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;2528:17:79;;1453:7731:75;2528:17:79;1453:7731:75;;;;;;2528:33:79;;;;:::i;:::-;;;;;:::i;:::-;1453:7731:75;2227:1:80;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;2227:1:80;1453:7731:75;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;2649:15:79;;1453:7731:75;;;;;;;;;;;;;864:15:78;860:218;5282:39:80;860:218:78;1453:7731:75;860:218:78;;1453:7731:75;860:218:78;-1:-1:-1;;;;;;;;;;;860:218:78;;;2898:40:82;-1:-1:-1;;1107:6:83;;;;1453:7731:75;;1128:18:83;;;1453:7731:75;;;;;1124:235:83;3594:343;;2227:1:80;3594:343:83;-1:-1:-1;;;;;;;;;;;3594:343:83;;1453:7731:75;5282:39:80;3594:343:83;2227:1:80;3594:343:83;;;1453:7731:75;;;;;;;;;;;;;;5282:39:80;1453:7731:75;;;;;;;;;;;;;;;;871:1:83;;;;;;;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;2793:47:79;1453:7731:75;-1:-1:-1;1453:7731:75;;;;;;;;;;2793:47:79;:::i;:::-;2850:26;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;357:173:36;1453:7731:75;;;2916:123:79;1453:7731:75;;;;;;;;2916:123:79;;1453:7731:75;;;;;;;;;;;3054:69:79;;5876:99:80;;;;:::i;:::-;1453:7731:75;;5821:9:80;;;;1124:235:83;3594:343;2227:1:80;3594:343:83;-1:-1:-1;;;;;;;;;;;3594:343:83;;;;1453:7731:75;2227:1:80;3594:343:83;;1124:235;;860:218:78;846:396:30;1453:7731:75;846:396:30;;2227:1:80;846:396:30;;;;;;;1039:11:78;1676:170:30;1453:7731:75;1676:170:30;;;5282:39:80;1453:7731:75;-1:-1:-1;1453:7731:75;;;;5282:39:80;1453:7731:75;1676:170:30;1453:7731:75;-1:-1:-1;1453:7731:75;1676:170:30;;1453:7731:75;;;1039:28:78;1453:7731:75;;860:218:78;;;;8586:132:80;8698:8;8654:14;;;357:173:36;5423:323:80;;1453:7731:75;;;;;;;;;5423:323:80;;1453:7731:75;;8698:8:80;;:::i;:::-;8586:132;;;2898:40:82;2227:1:80;2898:40:82;3005:7;:::i;2830:40::-;2559:4:80;2830:40:82;;;10063:112:80;3005:7:82;10129:35:80;;;;;;:::i;:::-;10063:112;;;;;;9814:52;;2227:1;9814:52;;9768:207;9912:52;-1:-1:-1;2227:1:80;9912:11;;2227:1;;;9949:8;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;9768:207:80;;9349:323;;;;1453:7731:75;9349:323:80;;;;;;;;;:::i;:::-;;;;;1300:98:65;1335:63;;;;1300:98;;;;1990:203:82;2299:84:65;;2309:73;;2116:77:82;;;-1:-1:-1;;;;;1453:7731:75;;;;;;2188:29:65;2184:98;;1990:203:82;-1:-1:-1;;;;;;1453:7731:75;2352:29:65;;1453:7731:75;-1:-1:-1;2352:29:65;:::i;:::-;1453:7731:75;2309:73:65;;:::i;2299:84::-;1990:203:82;;;2184:98:65;2219:63;-1:-1:-1;2219:63:65;-1:-1:-1;2352:29:65;2184:98;;;7539:205:80;7679:19;;;;:::i;:::-;7712:21;7539:205;;;5832:26;;;;;;;;;;;2794:46;:::o;5278:108::-;2227:1;1453:7731:75;;;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;-1:-1:-1;;;1453:7731:75;-1:-1:-1;;;1453:7731:75;;;;;;;;;;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5278:108:80;;1453:7731:75;;;;2227:1:80;1453:7731:75;;2227:1:80;1453:7731:75;4350:526:80;4497:9;1453:7731:75;;;;-1:-1:-1;;;4594:28:80;;2559:4;4594:28;;;1453:7731:75;;;;4594:28:80;1453:7731:75;4594:28:80;;;;;;;;2227:1;4594:28;;;4350:526;-1:-1:-1;1453:7731:75;;-1:-1:-1;;;4645:45:80;;2539:10;4594:28;4645:45;;1453:7731:75;2559:4:80;4594:28;1453:7731:75;;;;;;;;;;;4645:45:80;1453:7731:75;-1:-1:-1;4645:45:80;;;;;;;;2227:1;4645:45;;;4350:526;1453:7731:75;;;;;4594:28:80;1453:7731:75;;;;;;;;;;4762:28:80;;2559:4;4594:28;4762;;1453:7731:75;4762:28:80;;;;;;;2227:1;4762:28;;;4350:526;4794:21;;;;;:::i;:::-;4762:53;4350:526;1453:7731:75;;;;;2227:1:80;1453:7731:75;4594:28:80;2227:1;1453:7731:75;4762:28:80;;;1453:7731:75;4762:28:80;;1453:7731:75;4762:28:80;;;;;;417:66:25;4762:28:80;;;:::i;:::-;;;417:66:25;;;;4794:21:80;417:66:25;;4762:28:80;;;;;;-1:-1:-1;4762:28:80;;4645:45;;;1453:7731:75;4645:45:80;;1453:7731:75;4645:45:80;;;;;;1453:7731:75;4645:45:80;;;:::i;:::-;;;1453:7731:75;;;;;;;:::i;:::-;4645:45:80;;;;;;-1:-1:-1;4645:45:80;;4594:28;;;;1453:7731:75;4594:28:80;;1453:7731:75;4594:28:80;;;;;;417:66:25;4594:28:80;;;:::i;:::-;;;417:66:25;;;;;4594:28:80;;;;;;;-1:-1:-1;4594:28:80;;1453:7731:75;;;;2227:1:80;1453:7731:75;;2227:1:80;1453:7731:75;874:123:53;1453:7731:75;;;974:15:53;;;1453:7731:75;;;:::i;:::-;974:15:53;;;;;;;:::i;:::-;1453:7731:75;964:26:53;;874:123;:::o;10560:1108:81:-;;;;;;14636:46;10817:15;;;1453:7731:75;;;;357:173:36;1656:15:81;1453:7731:75;;;10920:24:81;11014:40;357:173:36;14636:46:81;;:::i;:::-;12838:88;;;;;;;12940:14;;12936:265;12940:14;;;12970:24;12936:265;;1453:7731:75;;;;1032:7:31;;;;1453:7731:75;;;;;;;;;;;;;;;;13334:22:81;;;13330:156;13334:22;;;13372;;;;13330:156;;13510:20;;;;:::i;:::-;1453:7731:75;;;;;13544:23:81;13540:77;;13330:156;13641:20;;;;;:::i;:::-;1453:7731:75;;;;;13675:23:81;13671:77;;13330:156;1656:15;;;1453:7731:75;;;10864:27:81;11065:293;;11368:182;;;11626:35;;;;10560:1108;:::o;11368:182::-;11452:38;;-1:-1:-1;11452:38:81;;;;;;11504:35;:::o;11452:38::-;;;11504:35;:::o;11065:293::-;11233:65;;;;-1:-1:-1;11233:65:81;;;;;;;-1:-1:-1;11248:39:81;;;;11312:35;:::o;11233:65::-;;;;;11312:35;:::o;13671:77::-;13714:23;;13671:77;;;13540;;-1:-1:-1;13641:20:81;13540:77;;13330:156;13415:22;;;;13411:75;13330:156;13411:75;13453:22;;-1:-1:-1;13330:156:81;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;12936:265:81;1453:7731:75;;;;;;13015:16:81;-1:-1:-1;13015:16:81;;-1:-1:-1;;13066:31:81;;;;:::i;:::-;1453:7731:75;;13011:190:81;12936:265;;13011:190;13148:31;;;:41;:31;;:::i;:::-;:41;:::i;1453:7731:75:-;;;-1:-1:-1;;1453:7731:75;;-1:-1:-1;;1453:7731:75;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;;;:::o;4968:3403:81:-;5183:17;;;1453:7731:75;;;5183:22:81;5179:59;;5270:36;5293:12;;5270:36;:::i;:::-;5335:16;;;1453:7731:75;;5392:60:81;;;;5405:12;;5335:16;5405:22;1453:7731:75;5392:60:81;;;5405:12;5392:60;-1:-1:-1;;;;;1453:7731:75;5392:60:81;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;5507:17:81;;;5335:16;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;-1:-1:-1;1453:7731:75;5614:16:81;;;5335;1453:7731:75;;-1:-1:-1;1453:7731:75;5614:35:81;1453:7731:75;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;-1:-1:-1;1453:7731:75;5773:16:81;;;5335;1453:7731:75;;-1:-1:-1;1453:7731:75;;5924:17:81;-1:-1:-1;1453:7731:75;;6052:14:81;1453:7731:75;6052:14:81;;1453:7731:75;;;6091:12:81;;;;1453:7731:75;;;6133:12:81;6091;6133;;:24;1453:7731:75;;;6168:2197:81;6175:19;;;;;;6168:2197;4968:3403;;;;;;;;;;;;;:::o;6168:2197::-;-1:-1:-1;6214:51:81;;;;;;;;;;;;;;;;;1453:7731:75;;;;6230:16:81;;6214:51;6210:62;;1453:7731:75;846:396:30;;-1:-1:-1;846:396:30;;;;;;;4565:1682;;;;;;1676:170;1453:7731:75;1676:170:30;;4839:13;1676:170;1453:7731:75;1676:170:30;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;;;;;;4839:20:30;5014:11;;;;;;5164:194;;;;;;;1453:7731:75;;;;;;759:552:19;;1453:7731:75;;;;;;;759:552:19;;;;;;-1:-1:-1;;;;;759:552:19;5614:16:81;759:552:19;;;;;1453:7731:75;759:552:19;5507:17:81;759:552:19;;;;;;;5773:16:81;759:552:19;;;;;;;1453:7731:75;759:552:19;;;;;;;;;;1453:7731:75;;;;;;;;;;;;5164:194:30;4565:1682;;6446:54:81;;;;1453:7731:75;;;;6462:18:81;;6446:54;6514:24;;6557:12;6553:125;;6771:265;-1:-1:-1;6771:265:81;;5335:16;6771:265;1453:7731:75;-1:-1:-1;6771:265:81;;;;7054:18;;7050:131;;7195:22;;;;;;7231:1061;7238:21;;;:44;;;7231:1061;7238:44;;;7397:286;;;;;;;;;5723:17;7397:286;-1:-1:-1;7397:286:81;5723:17;5335:16;7397:286;1453:7731:75;-1:-1:-1;7397:286:81;;;7705:12;5773:16;7705:12;;1453:7731:75;5723:17:81;1453:7731:75;;;;;;;;:::i;:::-;7705:48:81;7701:146;;1453:7731:75;;;;7868:34:81;7864:45;;7932:31;;;;;;;;;;;;:::i;:::-;7931:32;7927:130;;8098:12;;8139:17;8098:12;;5723:17;8098:12;;;;;1453:7731:75;8139:17:81;1453:7731:75;;;;;8139:17:81;;1453:7731:75;;8139:17:81;;:::i;:::-;1453:7731:75;8256:21:81;7231:1061;;;;;;;;;7927:130;7987:21;;;;;;;8030:8;;;7864:45;7904:5;;;;;;;;;;;;;;;7231:1061;8315:39;;;;8331:12;;;:::i;:::-;6168:2197;;;;;;;;8315:39;;;7701:146;7777:21;;;;;7820:8;;;7238:44;;;;;;;;;;;;;;;;;7263:19;;;;7238:44;;7050:131;7101:39;;;;;;;;;;;;;;;;;;7117:12;;;:::i;6553:125::-;6598:39;;;;;;;;;;;;;;;6614:12;;;:::i;6514:24::-;6533:5;;;;6446:54;1453:7731:75;;;;6483:17:81;6446:54;;5164:194:30;1453:7731:75;;;;;;;;;;;;;5164:194:30;;4565:1682;1453:7731:75;5723:17:81;1453:7731:75;;;;;;1676:170:30;;1453:7731:75;1676:170:30;5702:13;1676:170;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;5723:17:81;1453:7731:75;;;;;;;5647:20:30;1453:7731:75;;5702:20:30;5869:11;;;;;;6019:213;;;;;;;1453:7731:75;;;1766:834:19;;;1453:7731:75;1766:834:19;-1:-1:-1;1766:834:19;;;;;;;;;;;;;;;;;;;;;;;;;1453:7731:75;;;;;;;;;;6019:213:30;4565:1682;;;6019:213;1453:7731:75;;;;;;;;;;;;;;;;;6019:213:30;;6210:62:81;6267:5;;;;;6214:51;1453:7731:75;;;;6249:16:81;;6214:51;;5392:60;5430:12;;1453:7731:75;5392:60:81;;;5430:12;5392:60;-1:-1:-1;;;;;1453:7731:75;5392:60:81;;5179:59;5221:7;;;;;:::o;1373:176:79:-;;1498:43;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;1498:43:79;-1:-1:-1;;;;;1453:7731:75;;1373:176:79:o;1498:43::-;1528:13;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;1498:43:79;;14775:217:81;14902:17;;1453:7731:75;;;;;;14902:83:81;1453:7731:75;;;;;;;;;;14922:30:81;;14775:217;:::o;14902:83::-;1453:7731:75;;;;;14955:30:81;;14775:217;:::o;1196:171:79:-;1307:17;;1453:7731:75;;;;;;1307:53:79;1453:7731:75;;;;;1196:171:79;:::o;1307:53::-;1453:7731:75;;;;1196:171:79;:::o;8377:1153:81:-;8679:12;;;1453:7731:75;;-1:-1:-1;;;;1453:7731:75;-1:-1:-1;;;1453:7731:75;;;;;8377:1153:81;;1453:7731:75;;3445:229:82;;8377:1153:81;;;;;;;8754:53;1453:7731:75;;;;;;8377:1153:81;8754:53;:::i;:::-;1453:7731:75;;;;;;;;;;9069:17:81;1453:7731:75;;;;;9069:17:81;;1453:7731:75;;8892:204:81;-1:-1:-1;3614:15:82;1453:7731:75;;3614:15:82;;1453:7731:75;3598:33:82;1453:7731:75;;;;3598:33:82;:::i;:::-;1453:7731:75;;;;;;:::i;:::-;;8694:34:81;1453:7731:75;;;;;8694:34:81;1453:7731:75;9069:17:81;3503:145:82;;1453:7731:75;3503:145:82;;;1453:7731:75;3503:145:82;;;;1453:7731:75;;;;;;;;;;3445:229:82;;;8679:12:81;3445:229:82;;;:::i;:::-;;;-1:-1:-1;3445:229:82;;;;;;;;;;-1:-1:-1;;;3445:229:82;;;8377:1153:81;-1:-1:-1;;;;;;1453:7731:75;;;;2052:83:33;1453:7731:75;2052:83:33;3912:66:82;;-1:-1:-1;;;;;1453:7731:75;;;;2241:89:33;;;4018:66:82;;-1:-1:-1;;;;;1453:7731:75;;;;-1:-1:-1;4127:60:82;;-1:-1:-1;;;;;1453:7731:75;;;;4447:112:82;4365:38;-1:-1:-1;4230:60:82;;4365:38;;:::i;:::-;8679:12:81;;;;;;;;;1453:7731:75;3503:145:82;1453:7731:75;4447:112:82;;;:::i;:::-;1453:7731:75;;;-1:-1:-1;1453:7731:75;2241:89:33;1453:7731:75;4574:27:82;:58;;;;4230:60;4570:232;;4230:60;2052:83:33;;;;;;4878:24:82;;2052:83:33;;4852:24:82;2052:83:33;1453:7731:75;2052:83:33;;1453:7731:75;2052:83:33;4852:24:82;:::i;:::-;2241:89:33;;;;;;4878:24:82;:::i;:::-;;;:::i;:::-;1453:7731:75;;;;;;;;3445:17:79;-1:-1:-1;8694:34:81;3445:17:79;;1453:7731:75;3445:25:79;;1453:7731:75;;;;;3445:25:79;:::i;:::-;;;:::i;:::-;1453:7731:75;3516:17:79;;2079:369:83;;;1453:7731:75;2079:369:83;;;;;2530:20;;;;;;;1453:7731:75;;;2526:145:83;2748:20;;;;;;2784:6;1453:7731:75;2784:6:83;;;1453:7731:75;2744:145:83;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;2899:95:83;;2744:145;3187:167;;;;;3608:19:79;;;:::i;:::-;3685:17;3667;8694:34:81;3685:17:79;;1453:7731:75;;;-1:-1:-1;1453:7731:75;3667:17:79;9069::81;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;3503:145:82;1453:7731:75;-1:-1:-1;1453:7731:75;3722:15:79;;1453:7731:75;8694:34:81;1453:7731:75;;;;;;;;;;1219:14:78;1215:218;;2744:145:83;8679:12:81;;3830:19:79;8679:12:81;;;1453:7731:75;3503:145:82;1453:7731:75;3830:19:79;;1453:7731:75;;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3944:69:79;;8679:12:81;;1453:7731:75;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;-1:-1:-1;;;;;1453:7731:75;;;9069:17:81;1453:7731:75;;;;;;;;;;;;;;3503:145:82;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;8694:34:81;1453:7731:75;;;;;;;;;;;;;;;;;;;;9205:318:81;;1453:7731:75;;9205:318:81;8377:1153::o;1215:218:78:-;846:396:30;8694:34:81;846:396:30;;-1:-1:-1;846:396:30;;;;;;;1393:11:78;1676:170:30;8694:34:81;1676:170:30;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;;;;-1:-1:-1;1453:7731:75;1676:170:30;;1453:7731:75;1408:14:78;1453:7731:75;;1393:29:78;1453:7731:75;;1215:218:78;;;;2899:95:83;871:1;;-1:-1:-1;;;;;;871:1:83;1453:7731:75;;871:1:83;;;-1:-1:-1;;;;;1453:7731:75;871:1:83;;;-1:-1:-1;2899:95:83;;2744:145;3594:343;;-1:-1:-1;9069:17:81;3594:343:83;1453:7731:75;3594:343:83;;1453:7731:75;3594:343:83;;2744:145;;2526;3594:343;;;;9069:17:81;3594:343:83;;1453:7731:75;3594:343:83;;;2526:145;;4570:232:82;4672:119;;;;;;4878:24;4672:119;;;;;;;4878:24;4672:119;;:::i;:::-;4648:143;;4570:232;;;;;;;4574:58;1453:7731:75;-1:-1:-1;1453:7731:75;2241:89:33;1453:7731:75;4605:27:82;4574:58;;4230:60;4447:112;4365:38;2241:89:33;;;4230:60:82;;;4127;2052:83:33;1453:7731:75;2052:83:33;4127:60:82;;;4018:66;4060:24;2241:89:33;;;;;;4060:24:82;:::i;:::-;4018:66;;;3912;3954:24;2052:83:33;1453:7731:75;2052:83:33;;1453:7731:75;2052:83:33;3954:24:82;:::i;:::-;3912:66;;;3445:229;;;;;;;1453:7731:75;3445:229:82;1453:7731:75;3445:229:82;;;;;;;:::i;:::-;;;;;;;1453:7731:75;;;;;;;;;;:::o;3553:598:80:-;1453:7731:75;;3553:598:80;-1:-1:-1;;;;;1453:7731:75;3709:19:80;1453:7731:75;;;;;;3825:27:80;;1453:7731:75;;3912:9:80;1453:7731:75;3907:238:80;3923:10;;;;;;3553:598;;;:::o;3912:9::-;3966:13;;;;;;;:::i;:::-;1453:7731:75;4001:9:80;;;1453:7731:75;;;4062:13:80;;;;:::i;:::-;1453:7731:75;;3912:9:80;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;:::o;:::-;;;;;;;;;1656:15:81;1453:7731:75;;;;;;;;;:::o;1580:996:29:-;;;14953:51;1580:996;1453:7731:75;;14953:51:29;;;1453:7731:75;;;414:1:29;1453:7731:75;398:19:29;;1453:7731:75;;14953:51:29;;;;;;:::i;:::-;1453:7731:75;14943:62:29;;1453:7731:75;;-1:-1:-1;;;1892:27:29;;;;;1453:7731:75;;;;;;;1892:27:29;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;1892:27:29;;;;;;;-1:-1:-1;1892:27:29;;;1580:996;-1:-1:-1;;;;;;2147:423:29;;;1453:7731:75;2147:423:29;;;;;;;;;;;;;;;;;;1580:996::o;1892:27::-;;;;14953:51;1892:27;;14953:51;1892:27;;;;;;417:66:25;1892:27:29;;;:::i;:::-;;;417:66:25;;;;;1892:27:29;;;;;;;-1:-1:-1;1892:27:29;;1453:7731:75;-1:-1:-1;;;1453:7731:75;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;:::o;:::-;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;:::o;3136:884:79:-;;;;3783:11;3136:884;1453:7731:75;;;;;3420:15:79;;;1453:7731:75;;3445:17:79;-1:-1:-1;3445:17:79;;;1453:7731:75;3445:25:79;;1453:7731:75;;;;;3445:25:79;:::i;:::-;;;:::i;:::-;2079:369:83;;;3516:17:79;2079:369:83;;;;;2530:20;;;;;;;1453:7731:75;;;2526:145:83;2748:20;;;;;;3516:17:79;2784:6:83;;;1453:7731:75;2744:145:83;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;2899:95:83;;2744:145;3187:167;;;;;3608:19:79;;;:::i;:::-;3685:17;3445;3685;;1453:7731:75;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;3722:15:79;1453:7731:75;-1:-1:-1;1453:7731:75;3722:15:79;;1453:7731:75;3445:17:79;1453:7731:75;;;;;;;;;;1219:14:78;1215:218;;2744:145:83;3783:11:79;;;1453:7731:75;3722:15:79;1453:7731:75;3830:26:79;1453:7731:75;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3879:26:79;1453:7731:75;-1:-1:-1;1453:7731:75;-1:-1:-1;;;;;;;;;;;1453:7731:75;;;-1:-1:-1;1453:7731:75;;;;;;;;-1:-1:-1;1453:7731:75;;;;;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;3944:69:79;;3136:884::o;1215:218:78:-;846:396:30;3445:17:79;846:396:30;;-1:-1:-1;846:396:30;;;;;;;1393:11:78;1676:170:30;3445:17:79;1676:170:30;;;1453:7731:75;;-1:-1:-1;1453:7731:75;;;3516:17:79;1676:170:30;1453:7731:75;-1:-1:-1;1453:7731:75;1676:170:30;;1453:7731:75;1408:14:78;1453:7731:75;;1393:29:78;1453:7731:75;;1215:218:78;;;;2899:95:83;871:1;;-1:-1:-1;;;;;;871:1:83;1453:7731:75;;871:1:83;;;-1:-1:-1;;;;;1453:7731:75;871:1:83;;;-1:-1:-1;2899:95:83;;2744:145;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:83;;3516:17:79;3594:343:83;;;;;2744:145;;2526;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:83;;;;;;;2526:145;;7059:692:82;;;;1453:7731:75;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;7261:20:82;;7257:77;;-1:-1:-1;1453:7731:75;;-1:-1:-1;;;7348:44:82;;;;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;7348:44:82;1453:7731:75;;7348:44:82;;1453:7731:75;;7348:44:82;;;7059:692;7344:364;;;7059:692;7718:26;;;;1453:7731:75;7718:26:82;7059:692;:::o;7344:364::-;1453:7731:75;7348:44:82;1453:7731:75;;7435:12:82;;:41;;;;7344:364;7431:258;;;7344:364;;;;;7431:258;1453:7731:75;;;;7348:44:82;1453:7731:75;;;;;;;;;7509:50:82;;7348:44;7509:50;;1453:7731:75;7509:50:82;;;;;;;1453:7731:75;7509:50:82;;;7431:258;7496:63;;7581:15;;1453:7731:75;7577:98:82;;7431:258;;;7577:98;7639:4;;-1:-1:-1;7631:25:82;:::o;7509:50::-;;;;;;1453:7731:75;7509:50:82;;;;;;:::i;:::-;;;1453:7731:75;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7509:50:82;;;;1453:7731:75;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;-1:-1:-1;;1453:7731:75;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7435:41:82;7451:25;;;;:::i;:::-;7435:41;;;7348:44;;;;1453:7731:75;7348:44:82;;1453:7731:75;7348:44:82;;;;;;1453:7731:75;7348:44:82;;;:::i;:::-;;;1453:7731:75;;;;;;;;;;;;7348:44:82;;;;;;;-1:-1:-1;7348:44:82;;7257:77;7297:26;;;;;1453:7731:75;7297:26:82;;:::o;1453:7731:75:-;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;:::o;8427:674:82:-;;;;;;;8737:358;;;;-1:-1:-1;8867:21:82;;;1453:7731:75;8890:15:82;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;8890:15:82;;1453:7731:75;;;;;1868:15:57;1453:7731:75;;;;;;;8867:21:82;1453:7731:75;;2145:7:57;2929:39;;-1:-1:-1;;;;;1453:7731:75;;2929:39:57;:::i;:::-;3001:30;;;;;;;;3059:50;;;;8867:21:82;3072:17:57;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;3059:50:57;3152:30;;;;;;;-1:-1:-1;;;;;1453:7731:75;3283:16:57;1453:7731:75;;3315:36:57;;;3279:234;;;;;;2064:119;2264:13;2276:1;1453:7731:75;;2259:355:57;2296:3;1453:7731:75;;2279:15:57;;;;;2490:28;2384:7;;2450:73;2359:47;2276:1;2384:7;;;;;:::i;:::-;;2359:47;:::i;:::-;1453:7731:75;;;;;;;;;;;2490:28:57;:::i;:::-;1453:7731:75;;;;;;;;;:::i;:::-;-1:-1:-1;1453:7731:75;;2450:73:57;;;;:::i;:::-;1453:7731:75;;;;;;2553:50:57;;;;;1453:7731:75;;;;;;2566:17:57;;1453:7731:75;;2553:50:57;2296:3;1453:7731:75;2264:13:57;;;;;;2553:50;1453:7731:75;;;;;;;;2553:50:57;;2279:15;;;;;-1:-1:-1;2279:15:57;;-1:-1:-1;8764:142:82;;-1:-1:-1;;;;;;1453:7731:75;8920:47:82;;;;;;1453:7731:75;-1:-1:-1;1453:7731:75;;;;;;;;;;;;;;8920:47:82;;;;;;:::i;:::-;;;;;;;;;;;8737:358;8427:674::o;8920:47::-;-1:-1:-1;8920:47:82;;;:::i;3279:234:57:-;1453:7731:75;3429:72:57;1453:7731:75;3469:20:57;3397:105;1453:7731:75;;;;3469:20:57;:::i;:::-;1453:7731:75;;;;;;;;:::i;:::-;-1:-1:-1;1453:7731:75;;;;3429:72:57;;;:::i;:::-;-1:-1:-1;;;;;1453:7731:75;;3397:105:57;:::i;:::-;3279:234;;;;;;;3152:30;;;;;;3059:50;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;3059:50:57;;3001:30;;;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;-1:-1:-1;1453:7731:75;8737:358:82;9021:63;;;;;;;-1:-1:-1;9021:63:82;-1:-1:-1;9311:17:82;-1:-1:-1;1453:7731:75;-1:-1:-1;1453:7731:75;;;9344:11:82;9340:342;-1:-1:-1;;;;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;-1:-1:-1;;;;;1453:7731:75;;;;9450:47:82;-1:-1:-1;9450:47:82;;;;;1453:7731:75;9450:47:82;1453:7731:75;;;;;;;;;;;;;;;9450:47:82;;;;;;;:::i;:::-;;;;;;;;;;;9340:342;;;8998:86;8737:358;8427:674::o;9450:47::-;;;;;;:::i;:::-;1453:7731:75;;9450:47:82;;;1453:7731:75;;;9450:47:82;1453:7731:75;;;;;;;;;9450:47:82;1453:7731:75;;;9340:342:82;-1:-1:-1;1453:7731:75;;;;;;;;;;;;9518:11:82;9514:168;;9340:342;;;;;8998:86;8737:358;8427:674::o;9514:168::-;9555:13;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;;;-1:-1:-1;;;;;;1453:7731:75;;;;-1:-1:-1;1453:7731:75;;9624:47:82;;;;;1453:7731:75;-1:-1:-1;1453:7731:75;9624:47:82;1453:7731:75;;;;;;;;;;;;;9624:47:82;;;;;;;:::i;:::-;;;;;;;;;;;9514:168;;;;;;9624:47;-1:-1:-1;9624:47:82;;;:::i;:::-;-1:-1:-1;9624:47:82;;8026:395;;;;8179:1;;1453:7731:75;;8169:11:82;;;8179:1;;;8169:41;;1453:7731:75;;8179:1:82;8236:11;;8179:1;;;8236:41;;8292:11;;;;:26;;;8236:41;8288:127;;8236:41;8026:395;;;;;;:::o;8288:127::-;8179:1;5861:6;;:31;;;8288:127;5857:115;;8288:127;5985:6;;;5981:183;;8288:127;6178:6;;;;:31;;;8288:127;6174:115;;8288:127;6302:6;;;6298:183;;8288:127;;;;6298:183;6341:13;;;;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;6324:31:82;;;;;1453:7731:75;;;;;;6324:31:82;;;;;1453:7731:75;6324:31:82;;;;;;;;;;;;;;;;;;6298:183;-1:-1:-1;1453:7731:75;6341:13:82;;1453:7731:75;6414:21:82;;-1:-1:-1;;;;;1453:7731:75;;;;6430:3:82;;;:::i;:::-;6414:21;;:::i;:::-;6324:31;1453:7731:75;;;;;;;;;6450:20:82;;;;;;;;;;;;6298:183;;;;;;;6450:20;;;6341:13;6450:20;6341:13;6450:20;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1453:7731:75;;;;;;;;;;6324:31:82;;;;;;;;;;:::i;:::-;1453:7731:75;;6324:31:82;;;;;;;1453:7731:75;;;;6324:31:82;1453:7731:75;;;;;;;;;6174:115:82;6242:13;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;;;;6225:53:82;;;;;1453:7731:75;6225:53:82;1453:7731:75;;;;;;;;;;;;;;;;;6225:53:82;;;;;;:::i;:::-;;;;;;;;;;;;;;6174:115;;;;;6225:53;;;;;:::i;:::-;1453:7731:75;;6225:53:82;;;;;1453:7731:75;;;6178:31:82;;;;;5981:183;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;6007:31:82;;;;;1453:7731:75;;;;;;6007:31:82;;;;;1453:7731:75;6007:31:82;;;;;;;;;;;;;;;;;;;5981:183;-1:-1:-1;1453:7731:75;;;;;6097:21:82;;-1:-1:-1;;;;;1453:7731:75;;;;6113:3:82;;;:::i;6097:21::-;6007:31;1453:7731:75;;;;;;;;;6133:20:82;;;;;;;;;5981:183;6133:20;;;1453:7731:75;6133:20:82;1453:7731:75;6133:20:82;;;;;;;:::i;:::-;;;5981:183;;6007:31;;;;;;;;;:::i;:::-;1453:7731:75;;6007:31:82;;;;;;;1453:7731:75;;;;;;;;;6007:31:82;1453:7731:75;;;5857:115:82;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;5908:53:82;;;;;1453:7731:75;;-1:-1:-1;;;5908:53:82;;-1:-1:-1;;;;;1453:7731:75;;;5908:53:82;;;1453:7731:75;8179:1:82;1453:7731:75;;;;;;;;;;;;8179:1:82;1453:7731:75;;;;;;8179:1:82;;5908:53;;;;;;;;5857:115;;;;5908:53;;;;;8179:1;5908:53;;:::i;:::-;8179:1;5908:53;;;;5861:31;;8179:1;5861:31;;8292:26;8307:11;;;;8292:26;;8236:41;;8179:1;8236:41;;;8169;;8179:1;8169:41;;;7757:263;1453:7731:75;;-1:-1:-1;;;7840:63:82;;-1:-1:-1;;;7840:63:82;;;1453:7731:75;;;;;;7840:63:82;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;7840:63:82;;1453:7731:75;;7840:63:82;;;7757:263;-1:-1:-1;7836:178:82;;7991:12;1453:7731:75;7991:12:82;:::o;7840:63::-;;;;1453:7731:75;7840:63:82;;1453:7731:75;7840:63:82;;;;;;1453:7731:75;7840:63:82;;;:::i;:::-;;;1453:7731:75;;;;;;;:::i;:::-;7840:63:82;;;;;;;-1:-1:-1;7840:63:82;;1453:7731:75;;;-1:-1:-1;;;;;;1453:7731:75;;;;;;;:::o;:::-;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;:::o;5714:773:82:-;;;;;;;5866:1;5861:6;5866:1;5861:6;;:31;;;5714:773;5857:115;;5714:773;5985:6;;;;5981:183;;5714:773;6178:6;;;;:31;;;5714:773;6174:115;;5714:773;6302:6;;;;6298:183;;5714:773;;;;;;:::o;6298:183::-;6341:13;;;;;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;;;6324:31:82;;;;;1453:7731:75;;;;;;6324:31:82;;;;;1453:7731:75;6324:31:82;;;;;;;;;;;;;;;;;;6298:183;-1:-1:-1;1453:7731:75;6341:13:82;;1453:7731:75;6414:21:82;;-1:-1:-1;;;;;1453:7731:75;;;;6430:3:82;;;:::i;6414:21::-;6324:31;1453:7731:75;;;;;;;;;6450:20:82;;;;;;;;;;;;6298:183;;;;;;;6450:20;;;6341:13;6450:20;6341:13;6450:20;;;;;;;:::i;:::-;;;;;6324:31;;;;;;;;;;:::i;:::-;1453:7731:75;;6324:31:82;;;;;;;6174:115;6242:13;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;;;;;;6225:53:82;;;;;;1453:7731:75;;;;;;;;;;;;;;;;;;6225:53:82;;;;;;:::i;:::-;;;;;;;;;;;;;;6174:115;;;;6225:53;;;;;:::i;:::-;1453:7731:75;;6225:53:82;;;;6178:31;-1:-1:-1;;;;;;1453:7731:75;;6188:21:82;;6178:31;;5981:183;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;6007:31:82;;;;;1453:7731:75;;;;;;6007:31:82;;;;;1453:7731:75;6007:31:82;;;;;;;;;;;;;;;;;;;5981:183;-1:-1:-1;1453:7731:75;;;;;6097:21:82;;-1:-1:-1;;;;;1453:7731:75;;;;6113:3:82;;;:::i;6097:21::-;6007:31;1453:7731:75;;;;;;;;;6133:20:82;;;;;;;;;5981:183;6133:20;;;1453:7731:75;6133:20:82;1453:7731:75;6133:20:82;;;;;;;:::i;:::-;;;5981:183;;6133:20;1453:7731:75;;;;;;;;;6007:31:82;;;;;;;;;:::i;:::-;1453:7731:75;;6007:31:82;;;;;;;1453:7731:75;;;;;;;;;6007:31:82;1453:7731:75;;;5857:115:82;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;5908:53:82;;;;;;1453:7731:75;5866:1:82;1453:7731:75;;;;;;;;;;;;;;;;5908:53:82;;;;;;:::i;:::-;;;;;;;;;;5857:115;5908:53;;;;;5866:1;5908:53;;:::i;:::-;5866:1;5908:53;;5857:115;;5861:31;-1:-1:-1;;;;;;1453:7731:75;;5871:21:82;;5861:31;;3149:4018:31;3297:459;;;;;;;;;;1317:6;3774:35;;3770:78;;6424:727;4356:13;;4383:160;;;;;1453:7731:75;4383:160:31;;;4560:13;3297:459;4560:13;;4556:83;;3149:4018;4667:3;4657:13;;4653:83;;3149:4018;4764:3;4754:13;;4750:83;;3149:4018;4861:4;4851:14;;4847:84;;3149:4018;4959:4;4949:14;;4945:84;;3149:4018;5057:4;5047:14;;5043:84;;3149:4018;4383:160;5145:14;;5141:84;;3149:4018;5253:5;5243:15;;5239:85;;3149:4018;5352:5;5342:15;;5338:85;;3149:4018;5451:5;5441:15;;5437:85;;3149:4018;5550:5;5540:15;;5536:85;;3149:4018;5649:6;5639:16;;5635:86;;3149:4018;5749:6;5739:16;;5735:86;;3149:4018;5849:6;5839:16;;5835:86;;3149:4018;5949:6;5939:16;;5935:86;;3149:4018;6049:7;6039:17;;6035:86;;3149:4018;6149:7;6139:17;;6135:85;;3149:4018;6248:7;6238:17;;6234:83;;3149:4018;6345:7;6335:17;6331:78;;3149:4018;-1:-1:-1;;6424:727:31;;3149:4018;6424:727;4959:4;6424:727;3149:4018;:::o;6424:727::-;-1:-1:-1;;6424:727:31;;;6331:78;6376:25;1453:7731:75;;;4383:160:31;1453:7731:75;;6331:78:31;;6234:83;6279:30;1453:7731:75;;;4383:160:31;1453:7731:75;;6234:83:31;;6135:85;1453:7731:75;6180:32:31;1453:7731:75;4383:160:31;1453:7731:75;6135:85:31;;;6035:86;1453:7731:75;6080:33:31;1453:7731:75;4383:160:31;1453:7731:75;6035:86:31;;;5935;1453:7731:75;5979:34:31;1453:7731:75;4383:160:31;1453:7731:75;5935:86:31;;;5835;1453:7731:75;5879:34:31;1453:7731:75;4383:160:31;1453:7731:75;5835:86:31;;;5735;1453:7731:75;5779:34:31;1453:7731:75;4383:160:31;1453:7731:75;5735:86:31;;;5635;1453:7731:75;5679:34:31;1453:7731:75;4383:160:31;1453:7731:75;5635:86:31;;;5536:85;1453:7731:75;5579:34:31;1453:7731:75;4383:160:31;1453:7731:75;5536:85:31;;;5437;1453:7731:75;5480:34:31;1453:7731:75;4383:160:31;1453:7731:75;5437:85:31;;;5338;1453:7731:75;5381:34:31;1453:7731:75;4383:160:31;1453:7731:75;5338:85:31;;;5239;1453:7731:75;5282:34:31;1453:7731:75;4383:160:31;1453:7731:75;5239:85:31;;;5141:84;1453:7731:75;5183:34:31;1453:7731:75;4383:160:31;1453:7731:75;5141:84:31;;;5043;1453:7731:75;5085:34:31;1453:7731:75;4383:160:31;1453:7731:75;5043:84:31;;;4945;1453:7731:75;4987:34:31;1453:7731:75;4383:160:31;1453:7731:75;4945:84:31;;;4847;1453:7731:75;4889:34:31;1453:7731:75;4383:160:31;1453:7731:75;4847:84:31;;;4750:83;1453:7731:75;4791:34:31;1453:7731:75;4383:160:31;1453:7731:75;4750:83:31;;;4653;1453:7731:75;4694:34:31;1453:7731:75;4383:160:31;1453:7731:75;4653:83:31;;;4556;1453:7731:75;4597:34:31;1453:7731:75;4383:160:31;1453:7731:75;4556:83:31;;;3770:78;3811:20;;;;1431:143:21;;;;;;;456:27:63;-1:-1:-1;;;;;1453:7731:75;;;;;;456:27:63;;1453:7731:75;456:27:63;;;;:::o;2206:281:82:-;;;-1:-1:-1;;;;;1453:7731:75;;2206:281:82;2322:11;;2318:48;;2448:32;;2395:43;;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;2448:32:82;:::i;2395:43::-;2425:13;;1453:7731:75;-1:-1:-1;;;;;1453:7731:75;2448:32:82;:::i;2318:48::-;2349:7;;;;:::o;1453:7731:75:-;-1:-1:-1;;;;;1453:7731:75;;;;;;;;;;;;;:::o;4545:484:57:-;;1453:7731:75;;:::i;:::-;-1:-1:-1;1453:7731:75;;-1:-1:-1;;;;;1453:7731:75;;;;;;;734:50:35;;;1453:7731:75;;;4800:80:57;1453:7731:75;;;;;;448:51:35;;;4977:10:57;1453:7731:75;4977:10:57;;;1453:7731:75;;4989:18:57;;;1453:7731:75;;;;5009:12:57;1453:7731:75;;;;;5009:12:57;;1453:7731:75;;;4989:18:57;1453:7731:75;;;;;:::i;:::-;;;-1:-1:-1;;;;;1453:7731:75;4977:10:57;4947:75;;1453:7731:75;4989:18:57;4947:75;;1453:7731:75;5009:12:57;4947:75;;1453:7731:75;4947:75:57;;;1453:7731:75;;4545:484:57:o;4800:80::-;;;;;;3525:709;;;;4001:70;;;;1862:10:31;4001:70:57;;1453:7731:75;;;1862:10:31;1453:7731:75;;;;;;-1:-1:-1;;;;;1453:7731:75;;;;;3961:111:57;1453:7731:75;1862:10:31;-1:-1:-1;1453:7731:75;1862:10:31;1453:7731:75;;;;;;;;;3961:111:57;;;1453:7731:75;;;;;3961:111:57;;1453:7731:75;;;;;;;;;;;;;;;;;;;;;3902:210:57;;;;;1862:10:31;;:::i;:::-;;1453:7731:75;;1862:10:31;;;1453:7731:75;1862:10:31;;;;1453:7731:75;1862:10:31;-1:-1:-1;;;;;1453:7731:75;1862:10:31;;;1453:7731:75;1862:10:31;;;;;;;;;;:::i;:::-;3902:210:57;;-1:-1:-1;;;;;1453:7731:75;3902:210:57;;;;;;;-1:-1:-1;3902:210:57;;;4001:70;-1:-1:-1;;;4147:33:57;-1:-1:-1;;2241:89:33;;3525:709:57;:::o;4146:71::-;2052:83:33;;3525:709:57;:::o;3902:210::-;;;;3961:111;3902:210;;3961:111;3902:210;;;;;;3961:111;3902:210;;;:::i;:::-;;;1862:10:31;;;;1453:7731:75;;-1:-1:-1;3902:210:57;;;;;-1:-1:-1;3902:210:57;;4001:70;2042:49:31;4001:70:57;;;1472:2873:35;;;;-1:-1:-1;;;;;1453:7731:75;;;4998:58:35;1453:7731:75;;1809:163:35;;-1:-1:-1;1809:163:35;;;;;;;2085:8;2081:127;;1765:2574;1472:2873::o;2081:127::-;3741:1424:21;;-1:-1:-1;;;3741:1424:21;;-1:-1:-1;;;;;3741:1424:21;;;;;;;-1:-1:-1;3741:1424:21;;;;;;;;;;;1453:7731:75;3741:1424:21;5899:98:75;3741:1424:21;-1:-1:-1;;3741:1424:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:29:35;;;3741:1424:21;;;;;;;1765:2574:35;2238:1774;-1:-1:-1;2238:1774:35;;;;;;;;;;;;;;;;;1453:7731:75;;;;;2238:1774:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:8;4120:209;;1765:2574;1472:2873::o;4120:209::-;2238:1774;3741:1424:21;-1:-1:-1;;;3741:1424:21;;2238:1774:35;3741:1424:21;;;;;;-1:-1:-1;;;2238:1774:35;3741:1424:21;;;;2238:1774:35;3741:1424:21;;;5899:98:75;3741:1424:21;;-1:-1:-1;;3741:1424:21;;;;;;;;;;;;;;-1:-1:-1;3741:1424:21;;;;;;;2238:1774:35;3741:1424:21;;;;;4268:28:35;;;3741:1424:21;;;;;;;858:4141:64;;1453:7731:75;;;;;-1:-1:-1;;;;;858:4141:64;1464:147;;;;;;;;;;;;1736:19;;;;1453:7731:75;;;1837:10:64;1833:177;;456:27:63;;-1:-1:-1;;;456:27:63;2341:95:64;1453:7731:75;;;;2833:31:64;2928:94;;;3893:1;1453:7731:75;3874:1:64;1453:7731:75;3873:21:64;1453:7731:75;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;3371:96:64;;;;1453:7731:75;3371:96:64;;;2508:145;;;;;;1453:7731:75;2508:145:64;;3094:82;3480:21;1453:7731:75;858:4141:64;:::o;1833:177::-;1867:98;;;;1982:13;:::o;858:4141::-;1453:7731:75;;;;858:4141:64;-1:-1:-1;;858:4141:64;;1464:147;;;;;;;;;;;;456:27:63;;1453:7731:75;456:27:63;;1736:19:64;1453:7731:75;;;1837:10:64;1833:177;;-1:-1:-1;;;456:27:63;2341:95:64;2508:145;;;;;;1453:7731:75;;2508:145:64;;3094:82;;3480:21;858:4141;:::o;1833:177::-;1867:98;;;;;1982:13;:::o;858:4141::-;;1453:7731:75;;;;-1:-1:-1;;1453:7731:75;858:4141:64;1464:147;;;;;;;;;;;;1736:19;;;;1453:7731:75;;;1837:10:64;1833:177;;2341:95;;;;1453:7731:75;;;;2833:31:64;2928:94;;;3893:1;1453:7731:75;3874:1:64;1453:7731:75;3873:21:64;1453:7731:75;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;;;;3893:1:64;1453:7731:75;;3371:96:64;;;;1453:7731:75;3371:96:64;;;2508:145;;;;;;1453:7731:75;2508:145:64;;3094:82;3480:21;1453:7731:75;858:4141:64;:::o;1833:177::-;1867:98;;;;;1982:13;:::o;553:132:65:-;-1:-1:-1;;;;;1453:7731:75;;;553:132:65;634:21;;1453:7731:75;;553:132:65:o;1453:7731:75:-;;;-1:-1:-1;;;1453:7731:75;;;;;;;;;;;;-1:-1:-1;;;1453:7731:75;;;;;;;1711:436:32;-1:-1:-1;;;;;1853:233:32;;;-1:-1:-1;1853:233:32;;;;;;;;;;;;;;;1453:7731:75;;-1:-1:-1;;;2117:21:32;;;;;1453:7731:75;;;;1853:233:32;1453:7731:75;;2117:21:32;;1453:7731:75;;;2117:21:32;;;;;;;-1:-1:-1;2117:21:32;;;2095:45;1711:436;:::o;2117:21::-;;;1853:233;2117:21;;1853:233;2117:21;;;;;;417:66:25;2117:21:32;;;:::i;:::-;;;417:66:25;;;;;1711:436:32;:::o;2117:21::-;;;-1:-1:-1;2117:21:32;","linkReferences":{},"immutableReferences":{"10410":[{"start":28,"length":32},{"start":797,"length":32},{"start":994,"length":32},{"start":1597,"length":32},{"start":3399,"length":32},{"start":4324,"length":32},{"start":5430,"length":32},{"start":5540,"length":32},{"start":5625,"length":32},{"start":5722,"length":32},{"start":6042,"length":32},{"start":6127,"length":32},{"start":6818,"length":32},{"start":7452,"length":32},{"start":7632,"length":32},{"start":7689,"length":32},{"start":7745,"length":32},{"start":9348,"length":32},{"start":10286,"length":32}],"10413":[{"start":2470,"length":32},{"start":9385,"length":32}],"10416":[{"start":1760,"length":32},{"start":3996,"length":32}]}},"methodIdentifiers":{"authority()":"bf7e214f","balanceOf(address,address)":"f7888aec","create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":"eb07ed24","fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":"7a9cf273","fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":"5f8fbad6","getMaxFillCount()":"d8c31772","poolManager()":"dc4c90d3","setAuthority(address)":"7a9e5e4b","setMaxFillCount(uint256)":"c96d060b","unlockCallback(bytes)":"91dd7346","withdraw(bytes32[],address,uint256,address)":"c2ec68ea","zoraCoinVersionLookup()":"5ef3e955","zoraHookRegistry()":"a6de70b4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zoraCoinVersionLookup_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zoraHookRegistry_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"authority_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArrayLengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"expectedCoin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualCoin\",\"type\":\"address\"}],\"name\":\"CoinMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientForwardedFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientTransferFunds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"startTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"endTick\",\"type\":\"int24\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"}],\"name\":\"InvalidFillWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPoolKey\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxFillCountCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"}],\"name\":\"MinAmountNotReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NativeValueMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPoolManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyZoraHook\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderClosed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNotMaker\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PathMustHaveAtLeastOneStep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RouterMsgSenderInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnknownCallback\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnlockedFillNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroMaker\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroOrderSize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroRealizedOrder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"orderTick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"orderSize\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"}],\"name\":\"LimitOrderCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coinIn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coinOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountIn\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountOut\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"fillReferralAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"}],\"name\":\"LimitOrderFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"orderSize\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCancelled\",\"type\":\"bool\"}],\"name\":\"LimitOrderUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"MakerBalanceUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"uint256[]\",\"name\":\"orderSizes\",\"type\":\"uint256[]\"},{\"internalType\":\"int24[]\",\"name\":\"orderTicks\",\"type\":\"int24[]\"},{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"startTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"endTick\",\"type\":\"int24\"},{\"internalType\":\"uint256\",\"name\":\"maxFillCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"}],\"name\":\"fill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"bytes32[]\",\"name\":\"orderIds\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IZoraLimitOrderBook.OrderBatch[]\",\"name\":\"batches\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"}],\"name\":\"fill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxFillCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolManager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxFillCount\",\"type\":\"uint256\"}],\"name\":\"setMaxFillCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"unlockCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"orderIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zoraCoinVersionLookup\",\"outputs\":[{\"internalType\":\"contract IDeployedCoinVersionLookup\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zoraHookRegistry\",\"outputs\":[{\"internalType\":\"contract IZoraHookRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"AccessManagedInvalidAuthority(address)\":[{\"details\":\"Thrown when trying to set an invalid authority (e.g., not a contract)\"}],\"AccessManagedUnauthorized()\":[{\"details\":\"Thrown when an unauthorized caller attempts to access a restricted function\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Emitted when the authority is updated\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority address.\",\"returns\":{\"_0\":\"The address of the authority contract\"}},\"balanceOf(address,address)\":{\"params\":{\"coin\":\"Address of the coin (use address(0) for native ETH).\",\"maker\":\"Address of the maker.\"},\"returns\":{\"_0\":\"Total value of open orders.\"}},\"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)\":{\"details\":\"This function is access-controlled via OpenZeppelin's AccessManager. The caller must have the appropriate role as configured in the AccessManager contract. Initially, this can be set to PUBLIC_ROLE to allow anyone to create orders, or it can be restricted to specific addresses/roles for permissioned operation.\",\"params\":{\"isCurrency0\":\"Whether the orders are denominated in currency0.\",\"key\":\"Pool key specifying currency pair and tick spacing.\",\"maker\":\"Address of the maker who will own the orders.\",\"orderSizes\":\"Order liquidity sizes.\",\"orderTicks\":\"Corresponding ticks.\"},\"returns\":{\"_0\":\"Deterministic order identifiers.\"}},\"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)\":{\"params\":{\"batches\":\"Array of per-pool batches containing order ids to process.\",\"fillReferral\":\"Address to receive accrued LP fees; use address(0) to give fees to maker.\"}},\"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)\":{\"params\":{\"endTick\":\"Inclusive ending tick. Use `type(int24).max` for the default upper bound.\",\"fillReferral\":\"Address to receive accrued LP fees; use address(0) to give fees to maker.\",\"isCurrency0\":\"Whether currency0 orders are targeted; otherwise currency1.\",\"key\":\"Pool key whose orders should be processed.\",\"maxFillCount\":\"Maximum orders to fill in this pass.\",\"startTick\":\"Inclusive starting tick. Use `-type(int24).max` for the default lower bound.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control of the contract to a new authority. Can only be called by the current authority.\",\"params\":{\"newAuthority\":\"The address of the new authority contract\"}},\"setMaxFillCount(uint256)\":{\"details\":\"This function is access-controlled via OpenZeppelin's AccessManager. The caller must have the appropriate role as configured in the AccessManager contract.\",\"params\":{\"maxFillCount\":\"The new maximum fill count value.\"}},\"unlockCallback(bytes)\":{\"params\":{\"data\":\"ABI encoded callback identifier and callback data.\"},\"returns\":{\"_0\":\"result Optional return data for create flows.\"}},\"withdraw(bytes32[],address,uint256,address)\":{\"details\":\"Orders are cancelled sequentially until minAmountOut is reached. If minAmountOut is 0, all provided orders are cancelled. Reverts if total withdrawn is less than minAmountOut.\",\"params\":{\"coin\":\"The coin address that all orders must match (use address(0) for native ETH).\",\"minAmountOut\":\"Minimum amount to withdraw (0 = cancel all provided orders).\",\"orderIds\":\"Order identifiers to cancel.\",\"recipient\":\"Destination for returned assets.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AddressZero()\":[{\"notice\":\"Address argument was zero.\"}],\"ArrayLengthMismatch()\":[{\"notice\":\"Input arrays must have equal length.\"}],\"CoinMismatch(bytes32,address,address)\":[{\"notice\":\"Order coin does not match expected coin for batch withdrawal.\"}],\"InsufficientForwardedFunds()\":[{\"notice\":\"Forwarded funds from hook were insufficient.\"}],\"InsufficientTransferFunds()\":[{\"notice\":\"Transfer in of funds failed or was insufficient.\"}],\"InvalidFillWindow(int24,int24,bool)\":[{\"notice\":\"Tick range inputs were invalid or misaligned.\"}],\"InvalidOrder()\":[{\"notice\":\"Order id was not found.\"}],\"InvalidPoolKey()\":[{\"notice\":\"Referenced pool key hash is unknown.\"}],\"MaxFillCountCannotBeZero()\":[{\"notice\":\"Fill requests must cap the number of orders processed.\"}],\"MinAmountNotReached(uint256,uint256)\":[{\"notice\":\"Withdrawal did not reach minimum amount threshold.\"}],\"NativeValueMismatch()\":[{\"notice\":\"Supplied ETH must match expected amount.\"}],\"NotPoolManager()\":[{\"notice\":\"Caller must be the configured pool manager.\"}],\"OnlyZoraHook()\":[{\"notice\":\"Caller must be a registered Zora hook.\"}],\"OrderClosed()\":[{\"notice\":\"Order is no longer open.\"}],\"OrderNotMaker()\":[{\"notice\":\"Operation attempted by non-maker.\"}],\"PathMustHaveAtLeastOneStep()\":[{\"notice\":\"Thrown when a attempting to swap with a path that has no steps.\"}],\"RouterMsgSenderInvalid()\":[{\"notice\":\"Router caller failed to expose the original message sender.\"}],\"UnknownCallback()\":[{\"notice\":\"Unlock callback id was not recognized.\"}],\"UnlockedFillNotAllowed()\":[{\"notice\":\"Non-hook caller attempted to fill orders while pool is unlocked.\"}],\"ZeroMaker()\":[{\"notice\":\"Maker address cannot be zero.\"}],\"ZeroOrderSize()\":[{\"notice\":\"Orders must specify a non-zero size.\"}],\"ZeroRealizedOrder()\":[{\"notice\":\"Callback realized zero fills when one was expected.\"}]},\"events\":{\"LimitOrderCreated(address,address,bytes32,bool,int24,int24,uint128,bytes32)\":{\"notice\":\"Emitted when a new order joins a tick queue.\"},\"LimitOrderFilled(address,address,address,uint128,uint128,address,uint128,bytes32,int24,bytes32)\":{\"notice\":\"Emitted when an order is filled and removed from the book.\"},\"LimitOrderUpdated(address,address,bytes32,bool,int24,uint128,bytes32,bool)\":{\"notice\":\"Emitted when an order is amended or marked inactive.\"},\"MakerBalanceUpdated(address,address,uint256)\":{\"notice\":\"Emitted when a maker's aggregate balance for a coin changes.\"}},\"kind\":\"user\",\"methods\":{\"balanceOf(address,address)\":{\"notice\":\"Returns the aggregate balance of open orders for a maker/coin pair.\"},\"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)\":{\"notice\":\"Creates limit orders, pulling funds from msg.sender when pool manager is locked, or using funds already in manager when unlocked.\"},\"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)\":{\"notice\":\"Fills explicit order ids grouped by pool.\"},\"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)\":{\"notice\":\"Fills limit orders within a tick window.\"},\"setMaxFillCount(uint256)\":{\"notice\":\"Sets the maximum number of orders that can be filled in a single fill operation.\"},\"unlockCallback(bytes)\":{\"notice\":\"Processes pool-manager unlock callbacks and routes them to the correct handler.\"},\"withdraw(bytes32[],address,uint256,address)\":{\"notice\":\"Cancels orders and withdraws resulting funds to a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ZoraLimitOrderBook.sol\":\"ZoraLimitOrderBook\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/\",\":@uniswap/v4-core/=node_modules/@uniswap/v4-core/\",\":@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/\",\":@zoralabs/coins/=node_modules/@zoralabs/coins/\",\":@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":permit2/src/=node_modules/@uniswap/permit2/src/\",\":solady/=node_modules/solady/src/\",\":solmate/=node_modules/solmate/src/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x9c9a58dd831b9bb4a0ea47d96b53c13ab9a6e4270a518ea395b1424092fd74dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d806b0c87fbcaf0cb827b51203b27f8289b13743aeadb5867fbbe041fcf87a92\",\"dweb:/ipfs/QmfTEGiDGxKDaqBuBJ5wWJockGDrsEBZnW5S7UWrKhAxGc\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"node_modules/@uniswap/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"node_modules/@uniswap/v4-core/src/libraries/CurrencyReserves.sol\":{\"keccak256\":\"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725\",\"dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX\"]},\"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"node_modules/@uniswap/v4-core/src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb\",\"dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy\"]},\"node_modules/@uniswap/v4-core/src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"node_modules/@uniswap/v4-core/src/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99\",\"dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD\"]},\"node_modules/@uniswap/v4-core/src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"node_modules/@uniswap/v4-core/src/libraries/NonzeroDeltaCount.sol\":{\"keccak256\":\"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59\",\"dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm\"]},\"node_modules/@uniswap/v4-core/src/libraries/Position.sol\":{\"keccak256\":\"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2\",\"dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5\"]},\"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"node_modules/@uniswap/v4-core/src/libraries/StateLibrary.sol\":{\"keccak256\":\"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0\",\"dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY\"]},\"node_modules/@uniswap/v4-core/src/libraries/TickBitmap.sol\":{\"keccak256\":\"0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d\",\"dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy\"]},\"node_modules/@uniswap/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"node_modules/@uniswap/v4-core/src/libraries/TransientStateLibrary.sol\":{\"keccak256\":\"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5\",\"dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV\"]},\"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"node_modules/@uniswap/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"node_modules/@uniswap/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"node_modules/@uniswap/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol\":{\"keccak256\":\"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89\",\"dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg\"]},\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":{\"keccak256\":\"0xff3bcd3254ea7e582b75eebbff7436f20a2d485d9999974e02e98cc94217790c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://898dd5381336d821fff4a637be1bb667b6f24006ebe8f2df56a530f3fbe01fc3\",\"dweb:/ipfs/QmayrLdYhSPvjDzDA7Mss1i1SjJ5uorndpDZkVn1LQ2YSU\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol\":{\"keccak256\":\"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa\",\"dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol\":{\"keccak256\":\"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e\",\"dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs\"]},\"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol\":{\"keccak256\":\"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d\",\"dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u\"]},\"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol\":{\"keccak256\":\"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5\",\"dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR\"]},\"node_modules/@zoralabs/coins/src/interfaces/ISwapPathRouter.sol\":{\"keccak256\":\"0xeebfdea1a86042bd63677468b3612fae436640f9d6349b256492bb07e11579ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://836f51152dea368c8b26fccca6996bf209a3b856bd48083ddf28054695ad35df\",\"dweb:/ipfs/QmRQqekV2mAXhkWKiaYqEJNiobDnaqsTNzmpRQZ8sRjERk\"]},\"node_modules/@zoralabs/coins/src/interfaces/IUpgradeableV4Hook.sol\":{\"keccak256\":\"0x5a36e59307830bcddcb8ef0e19dd762625cf9c60b963b62e02b6563e053ba6d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161542fe80b54ebb967878953ecb94f65d36522d320c80f1b946ff5988ffcd9f\",\"dweb:/ipfs/QmZRoC2EiCsYwGAYxJBDpBYYnxjGumYfdMhTFPE89bHPVg\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraHookRegistry.sol\":{\"keccak256\":\"0xa18bdb2bd39e678349266ffc3d7317463e1c123468ae1ddadf92adbfdd6cd2de\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://d4cc3af34f7e247a4270dd560c42c10fb32e95ddabca80fab849a74d1ec89df1\",\"dweb:/ipfs/Qme4dLBrAYQc9jHRyb52bH2S3xxKK45s7TiQf8YJNcy52M\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol\":{\"keccak256\":\"0xcf41c76b6dcf12b79c26ba93040c0ec6b68614c00597203c9330f4b769dcd389\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://f2c1b3b86b7f67c3de52e7886697fc02de9837ba724cbfde34031ecf832faf7a\",\"dweb:/ipfs/QmXStRKqsn9KC5WXQvTz57Qxqcr1WrB2Lrs1b28bZmL4Sy\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraV4CoinHook.sol\":{\"keccak256\":\"0x66b599b02c7b42b08c39d495350942053f0dcd845f3a931cf5d0e80db4262e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://028eab54390c4f05437e1e1bf8afc3cad71f1ea307d7b51b31d005b5381375f7\",\"dweb:/ipfs/QmQxRjsFrbH86P1sEuueAJQGSTi1UECKQEvVWbZkJbwHgM\"]},\"node_modules/@zoralabs/coins/src/libs/CoinCommon.sol\":{\"keccak256\":\"0x29819e0c132622098240e65e4b23ac22be043721b9e57180020b4efd24558d21\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://edffc9cbf8434fc046e4b72013b740f1985aaff0344bc7a9a03631bf3e09ddc6\",\"dweb:/ipfs/QmcsFJqL4gWNoKVPfHoPUyH6gH6KTb5b3zQnnMFDabSqn1\"]},\"node_modules/@zoralabs/coins/src/libs/CoinConfigurationVersions.sol\":{\"keccak256\":\"0x5fb77e3319d5b78357c1495a1c9956a71a430311fab5b828dad269c38d5068dd\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://43f88dfa477cec2ecb219a66d2dfa17b7a88b3d9ee5af95c6cca8ca42fcaf9e0\",\"dweb:/ipfs/QmdwZ8eeMFWUcFE6DoNV8pJY1j2ptPeY2Jfr4DoE8rcWP4\"]},\"node_modules/@zoralabs/coins/src/libs/CoinConstants.sol\":{\"keccak256\":\"0x0c17b040ed707c2353e4b238bf6bac90d22a71980ff1a091f763da281b7035bf\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://083bb0022dd69434858946ea15b55d08483913baf57b428d600ede1eb5a19f46\",\"dweb:/ipfs/QmXdNPvCm2Wv4R8Kbd7FYdnjjQCLWVGsr1DhCn5MrQj3Z7\"]},\"node_modules/@zoralabs/coins/src/libs/UniV4SwapToCurrency.sol\":{\"keccak256\":\"0xe692c69e9af5549c745565fc33bf2b40e52e9bf12360332ea04795a351a808ac\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a4ffb4d6279e84b739de7955b73239563b6cc02fe7e419da35e4db8e9362fda0\",\"dweb:/ipfs/QmWUedeoMpPVZyrGNan8bvbeDdNv5SYrfBKHoD2h8eZ8z2\"]},\"node_modules/@zoralabs/coins/src/types/LpPosition.sol\":{\"keccak256\":\"0x19dfc13b9f6a831ee7a624094c17a7c0b20bbc9ef62121dd98d85a8641d53aaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe77a4cb9ff9afbf7561ed647d15729b201259ef767d6c140a0b6e9254a97fe6\",\"dweb:/ipfs/QmaieKjUcT2SG2Spdg2sHzZso8zd5YTVsMRRoDzz6Kgn1t\"]},\"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol\":{\"keccak256\":\"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319\",\"dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/FixedPoint96.sol\":{\"keccak256\":\"0x711b83cbdbbfe19afc1df6f45f2f71abb1b75305ecb288e36a37cc286bc8de46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2957b0c179395705c49084b5b0c1033c0f47beeca043658a6c572226f5d07348\",\"dweb:/ipfs/QmZQD8s7u1Kjnydkw6n9FUyzVK9Loo6gYSZXic732Y7J76\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/FullMath.sol\":{\"keccak256\":\"0xc6b0d61b8d60acb295d196a72f81e577007e822f63c737ae0fa87d63e228f074\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643ddf8897f3d2610ce5ac45c0571e86cd2a97542c2599121fa39a06daa95509\",\"dweb:/ipfs/QmZ74RCf31apWy8UukKUrFi98kgSK6sRH68MFMGudPVpqx\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/LiquidityAmounts.sol\":{\"keccak256\":\"0x4811d0187e6ccf97d6323c597355967e481392cbdc65dea804f770dec91cece7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8d41f633f2a92b4caeb0430096851b62b0be1f68915603ff8c5b220c693e9755\",\"dweb:/ipfs/QmY9c5EwQVKi2Ak7xude2iUe7TGAdwmChUtwzwWcGb62PE\"]},\"src/IZoraLimitOrderBook.sol\":{\"keccak256\":\"0x2b2ef15b8e9b1fdfd403fb771542fd90b00b1f9afa1359c1c707c67bdd1dde10\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a982830679c4f9a09ae38fcb261e70d0be58795f5e911187538312402042b470\",\"dweb:/ipfs/QmVMnET7gFkPEXbWZGB3WeaCw5jFbxiUFzbFsSLbNNSAaa\"]},\"src/ZoraLimitOrderBook.sol\":{\"keccak256\":\"0x66f40ccf0eb57c58edb179797a4dcbb9d14eb5c9db5cd83bb27ec0f1b36943d6\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://6f8dd8048747be9d05efa910e51bfbad24a49b64a8db9da7fdfeea3b31d9038c\",\"dweb:/ipfs/QmaVwAqV7yv29ApZoYUx6Wev6UCNC8r1LreVSgaLy55Xk6\"]},\"src/access/SimpleAccessManaged.sol\":{\"keccak256\":\"0xd92f23941a7a5709efdb66928036b6812d6742eca3b4d7d1ff42197a7b8916c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ea18ad22ef178f454a65f55fcb29cdbd45396e1da3bab178357c54162be0269\",\"dweb:/ipfs/QmZVGjcJ1v6bFaG3VTkGZHz3Fb32xZ4KBDmAxdJHxdQzBM\"]},\"src/libs/LimitOrderBitmap.sol\":{\"keccak256\":\"0xc70e40f69debd6d2bf06548e7ba9287b4236d09ca0d6ecfd2f93ce7a7c00864a\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://5493aece7257a15bbb734fa24ccd372abf47be0ddd7872de696b592dcec1f7fc\",\"dweb:/ipfs/Qmdu6EAgkEaXHUhqh9WdX2cdKCjQNgVpMuqKED68smKvhW\"]},\"src/libs/LimitOrderCommon.sol\":{\"keccak256\":\"0x895101ce1c1d55221263251088053d7c898057a3bdeba60befa7393cf4c3bfb1\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://39e1aecc33284c7e44de2f0281d1364505597aebe1959d9431ad1d9428ac0450\",\"dweb:/ipfs/QmPA5EkfhX9eYWCiDoYKrX3ugTdm6zu2CSL7zjaewuiryU\"]},\"src/libs/LimitOrderCreate.sol\":{\"keccak256\":\"0xe380c163fa89c686ddfcd01ae32b76e5c38371f2a2ad1bd4889f7712aec23a56\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://62d2b7effd4ff02570bfc16ed1637a8d1765ed74a4c8427f49efaf8996ae0929\",\"dweb:/ipfs/QmYUV61DoB9C5yw5GAmgKtw1tieeZnzc5aZLCSX1HrUz6F\"]},\"src/libs/LimitOrderFill.sol\":{\"keccak256\":\"0x9d9d5602b86f4dd14628cf9e8b4b6950b952884120c15c5169c5966b641ed60e\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://1a49882edea3f255ced68772ecf781fe39582543a5c5b4c23408907856ea9509\",\"dweb:/ipfs/QmQFWuNcJFD4FRy4W2BKwy1DPXqS4cY3D1yFArmu2zays7\"]},\"src/libs/LimitOrderLiquidity.sol\":{\"keccak256\":\"0x5a936b43c7804fb50f0f0bb7e12c5adb6c99ab24cf17e49c3739ff1b4bd083e7\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://c8f87935288d98de07aba8e7d4c9fc0fe36b81a0b12543f180f5f0c10e23158b\",\"dweb:/ipfs/QmdveWQy42aMVdQZLbNaZZqaf5ppPtp4sY4PAsrCQBbrej\"]},\"src/libs/LimitOrderQueues.sol\":{\"keccak256\":\"0x395d7b34ac9ab6558e159089acdbeef4640df54e6431f3b7ca89ea9255634c24\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://5f5ee7211e5e9003f266279f8770fabec82e2bd4ef7870d1ecf1f125db48ddc4\",\"dweb:/ipfs/QmV7KHUvjACyvgCV8Bue59DHHr6CJTEqYuVhiPYG76E1Lt\"]},\"src/libs/LimitOrderStorage.sol\":{\"keccak256\":\"0x834d00e4c2bcb79807601b63b3e824adf46ef3d47e941cd318fa09e2fa940367\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://b1fc3a11e9e31c0072d9ba749c48d5f4a53092f89bdb6b70c8f7fcd2fdc6ee72\",\"dweb:/ipfs/QmRDyNEAzCZ7R4fuQoicwdB9U1Dt6rkN3LmfRGSxPfaYPu\"]},\"src/libs/LimitOrderTypes.sol\":{\"keccak256\":\"0xcf1cf64d8815dc1d3fe050ee9f3e2815894c98f17f6fc1a139596935bd590258\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://e7063f4743899eedfadf2fb32fd2b9c8fb617a0726ca0ed9e2a9a2c7d389479e\",\"dweb:/ipfs/QmTZFNfyx5V2YguGomHaqHumQfDiiAQaLJqRPXt9XqviE5\"]},\"src/libs/LimitOrderWithdraw.sol\":{\"keccak256\":\"0x9119feac654be4029374c1248797727c95dff26bc05cb564f79c49302ab5d0e9\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://793573a236a253b0605bd8c73dc59e00319336a33627921a916f344ccace63b0\",\"dweb:/ipfs/QmTB23GS9Qw5FXLWdkivb9xDy9oZuZA2w4ntQTsqN4KhNv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"poolManager_","type":"address"},{"internalType":"address","name":"zoraCoinVersionLookup_","type":"address"},{"internalType":"address","name":"zoraHookRegistry_","type":"address"},{"internalType":"address","name":"authority_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[],"type":"error","name":"AddressZero"},{"inputs":[],"type":"error","name":"ArrayLengthMismatch"},{"inputs":[{"internalType":"bytes32","name":"orderId","type":"bytes32"},{"internalType":"address","name":"expectedCoin","type":"address"},{"internalType":"address","name":"actualCoin","type":"address"}],"type":"error","name":"CoinMismatch"},{"inputs":[],"type":"error","name":"InsufficientForwardedFunds"},{"inputs":[],"type":"error","name":"InsufficientTransferFunds"},{"inputs":[{"internalType":"int24","name":"startTick","type":"int24"},{"internalType":"int24","name":"endTick","type":"int24"},{"internalType":"bool","name":"isCurrency0","type":"bool"}],"type":"error","name":"InvalidFillWindow"},{"inputs":[],"type":"error","name":"InvalidOrder"},{"inputs":[],"type":"error","name":"InvalidPoolKey"},{"inputs":[],"type":"error","name":"MaxFillCountCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"withdrawn","type":"uint256"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"}],"type":"error","name":"MinAmountNotReached"},{"inputs":[],"type":"error","name":"NativeValueMismatch"},{"inputs":[],"type":"error","name":"NotPoolManager"},{"inputs":[],"type":"error","name":"OnlyZoraHook"},{"inputs":[],"type":"error","name":"OrderClosed"},{"inputs":[],"type":"error","name":"OrderNotMaker"},{"inputs":[],"type":"error","name":"PathMustHaveAtLeastOneStep"},{"inputs":[],"type":"error","name":"RouterMsgSenderInvalid"},{"inputs":[],"type":"error","name":"UnknownCallback"},{"inputs":[],"type":"error","name":"UnlockedFillNotAllowed"},{"inputs":[],"type":"error","name":"ZeroMaker"},{"inputs":[],"type":"error","name":"ZeroOrderSize"},{"inputs":[],"type":"error","name":"ZeroRealizedOrder"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCurrency0","type":"bool","indexed":false},{"internalType":"int24","name":"orderTick","type":"int24","indexed":false},{"internalType":"int24","name":"currentTick","type":"int24","indexed":false},{"internalType":"uint128","name":"orderSize","type":"uint128","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false}],"type":"event","name":"LimitOrderCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coinIn","type":"address","indexed":true},{"internalType":"address","name":"coinOut","type":"address","indexed":false},{"internalType":"uint128","name":"amountIn","type":"uint128","indexed":false},{"internalType":"uint128","name":"amountOut","type":"uint128","indexed":false},{"internalType":"address","name":"fillReferral","type":"address","indexed":false},{"internalType":"uint128","name":"fillReferralAmount","type":"uint128","indexed":false},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"int24","name":"tick","type":"int24","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false}],"type":"event","name":"LimitOrderFilled","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCurrency0","type":"bool","indexed":false},{"internalType":"int24","name":"tick","type":"int24","indexed":false},{"internalType":"uint128","name":"orderSize","type":"uint128","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCancelled","type":"bool","indexed":false}],"type":"event","name":"LimitOrderUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"MakerBalanceUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"maker","type":"address"},{"internalType":"address","name":"coin","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"uint256[]","name":"orderSizes","type":"uint256[]"},{"internalType":"int24[]","name":"orderTicks","type":"int24[]"},{"internalType":"address","name":"maker","type":"address"}],"stateMutability":"payable","type":"function","name":"create","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"int24","name":"startTick","type":"int24"},{"internalType":"int24","name":"endTick","type":"int24"},{"internalType":"uint256","name":"maxFillCount","type":"uint256"},{"internalType":"address","name":"fillReferral","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"fill"},{"inputs":[{"internalType":"struct IZoraLimitOrderBook.OrderBatch[]","name":"batches","type":"tuple[]","components":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"bytes32[]","name":"orderIds","type":"bytes32[]"}]},{"internalType":"address","name":"fillReferral","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"fill"},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxFillCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"uint256","name":"maxFillCount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxFillCount"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32[]","name":"orderIds","type":"bytes32[]"},{"internalType":"address","name":"coin","type":"address"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"view","type":"function","name":"zoraCoinVersionLookup","outputs":[{"internalType":"contract IDeployedCoinVersionLookup","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zoraHookRegistry","outputs":[{"internalType":"contract IZoraHookRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority address.","returns":{"_0":"The address of the authority contract"}},"balanceOf(address,address)":{"params":{"coin":"Address of the coin (use address(0) for native ETH).","maker":"Address of the maker."},"returns":{"_0":"Total value of open orders."}},"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":{"details":"This function is access-controlled via OpenZeppelin's AccessManager. The caller must have the appropriate role as configured in the AccessManager contract. Initially, this can be set to PUBLIC_ROLE to allow anyone to create orders, or it can be restricted to specific addresses/roles for permissioned operation.","params":{"isCurrency0":"Whether the orders are denominated in currency0.","key":"Pool key specifying currency pair and tick spacing.","maker":"Address of the maker who will own the orders.","orderSizes":"Order liquidity sizes.","orderTicks":"Corresponding ticks."},"returns":{"_0":"Deterministic order identifiers."}},"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":{"params":{"batches":"Array of per-pool batches containing order ids to process.","fillReferral":"Address to receive accrued LP fees; use address(0) to give fees to maker."}},"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":{"params":{"endTick":"Inclusive ending tick. Use `type(int24).max` for the default upper bound.","fillReferral":"Address to receive accrued LP fees; use address(0) to give fees to maker.","isCurrency0":"Whether currency0 orders are targeted; otherwise currency1.","key":"Pool key whose orders should be processed.","maxFillCount":"Maximum orders to fill in this pass.","startTick":"Inclusive starting tick. Use `-type(int24).max` for the default lower bound."}},"setAuthority(address)":{"details":"Transfers control of the contract to a new authority. Can only be called by the current authority.","params":{"newAuthority":"The address of the new authority contract"}},"setMaxFillCount(uint256)":{"details":"This function is access-controlled via OpenZeppelin's AccessManager. The caller must have the appropriate role as configured in the AccessManager contract.","params":{"maxFillCount":"The new maximum fill count value."}},"unlockCallback(bytes)":{"params":{"data":"ABI encoded callback identifier and callback data."},"returns":{"_0":"result Optional return data for create flows."}},"withdraw(bytes32[],address,uint256,address)":{"details":"Orders are cancelled sequentially until minAmountOut is reached. If minAmountOut is 0, all provided orders are cancelled. Reverts if total withdrawn is less than minAmountOut.","params":{"coin":"The coin address that all orders must match (use address(0) for native ETH).","minAmountOut":"Minimum amount to withdraw (0 = cancel all provided orders).","orderIds":"Order identifiers to cancel.","recipient":"Destination for returned assets."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,address)":{"notice":"Returns the aggregate balance of open orders for a maker/coin pair."},"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":{"notice":"Creates limit orders, pulling funds from msg.sender when pool manager is locked, or using funds already in manager when unlocked."},"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":{"notice":"Fills explicit order ids grouped by pool."},"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":{"notice":"Fills limit orders within a tick window."},"setMaxFillCount(uint256)":{"notice":"Sets the maximum number of orders that can be filled in a single fill operation."},"unlockCallback(bytes)":{"notice":"Processes pool-manager unlock callbacks and routes them to the correct handler."},"withdraw(bytes32[],address,uint256,address)":{"notice":"Cancels orders and withdraws resulting funds to a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/","@uniswap/v4-core/=node_modules/@uniswap/v4-core/","@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/","@zoralabs/coins/=node_modules/@zoralabs/coins/","@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","permit2/src/=node_modules/@uniswap/permit2/src/","solady/=node_modules/solady/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/ZoraLimitOrderBook.sol":"ZoraLimitOrderBook"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x9c9a58dd831b9bb4a0ea47d96b53c13ab9a6e4270a518ea395b1424092fd74dc","urls":["bzz-raw://d806b0c87fbcaf0cb827b51203b27f8289b13743aeadb5867fbbe041fcf87a92","dweb:/ipfs/QmfTEGiDGxKDaqBuBJ5wWJockGDrsEBZnW5S7UWrKhAxGc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/BitMath.sol":{"keccak256":"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d","urls":["bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e","dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/CurrencyReserves.sol":{"keccak256":"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3","urls":["bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725","dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/FixedPoint128.sol":{"keccak256":"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542","urls":["bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb","dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52","dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/LiquidityMath.sol":{"keccak256":"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353","urls":["bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99","dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/Lock.sol":{"keccak256":"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5","urls":["bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c","dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/NonzeroDeltaCount.sol":{"keccak256":"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87","urls":["bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59","dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/Position.sol":{"keccak256":"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9","urls":["bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2","dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/StateLibrary.sol":{"keccak256":"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952","urls":["bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0","dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TickBitmap.sol":{"keccak256":"0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a","urls":["bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d","dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TickMath.sol":{"keccak256":"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8","urls":["bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70","dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TransientStateLibrary.sol":{"keccak256":"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a","urls":["bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5","dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"},"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol":{"keccak256":"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc","urls":["bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89","dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":{"keccak256":"0xff3bcd3254ea7e582b75eebbff7436f20a2d485d9999974e02e98cc94217790c","urls":["bzz-raw://898dd5381336d821fff4a637be1bb667b6f24006ebe8f2df56a530f3fbe01fc3","dweb:/ipfs/QmayrLdYhSPvjDzDA7Mss1i1SjJ5uorndpDZkVn1LQ2YSU"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol":{"keccak256":"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba","urls":["bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa","dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol":{"keccak256":"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea","urls":["bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e","dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol":{"keccak256":"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937","urls":["bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d","dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol":{"keccak256":"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb","urls":["bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5","dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ISwapPathRouter.sol":{"keccak256":"0xeebfdea1a86042bd63677468b3612fae436640f9d6349b256492bb07e11579ce","urls":["bzz-raw://836f51152dea368c8b26fccca6996bf209a3b856bd48083ddf28054695ad35df","dweb:/ipfs/QmRQqekV2mAXhkWKiaYqEJNiobDnaqsTNzmpRQZ8sRjERk"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IUpgradeableV4Hook.sol":{"keccak256":"0x5a36e59307830bcddcb8ef0e19dd762625cf9c60b963b62e02b6563e053ba6d7","urls":["bzz-raw://161542fe80b54ebb967878953ecb94f65d36522d320c80f1b946ff5988ffcd9f","dweb:/ipfs/QmZRoC2EiCsYwGAYxJBDpBYYnxjGumYfdMhTFPE89bHPVg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IZoraHookRegistry.sol":{"keccak256":"0xa18bdb2bd39e678349266ffc3d7317463e1c123468ae1ddadf92adbfdd6cd2de","urls":["bzz-raw://d4cc3af34f7e247a4270dd560c42c10fb32e95ddabca80fab849a74d1ec89df1","dweb:/ipfs/Qme4dLBrAYQc9jHRyb52bH2S3xxKK45s7TiQf8YJNcy52M"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol":{"keccak256":"0xcf41c76b6dcf12b79c26ba93040c0ec6b68614c00597203c9330f4b769dcd389","urls":["bzz-raw://f2c1b3b86b7f67c3de52e7886697fc02de9837ba724cbfde34031ecf832faf7a","dweb:/ipfs/QmXStRKqsn9KC5WXQvTz57Qxqcr1WrB2Lrs1b28bZmL4Sy"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/interfaces/IZoraV4CoinHook.sol":{"keccak256":"0x66b599b02c7b42b08c39d495350942053f0dcd845f3a931cf5d0e80db4262e37","urls":["bzz-raw://028eab54390c4f05437e1e1bf8afc3cad71f1ea307d7b51b31d005b5381375f7","dweb:/ipfs/QmQxRjsFrbH86P1sEuueAJQGSTi1UECKQEvVWbZkJbwHgM"],"license":"MIT"},"node_modules/@zoralabs/coins/src/libs/CoinCommon.sol":{"keccak256":"0x29819e0c132622098240e65e4b23ac22be043721b9e57180020b4efd24558d21","urls":["bzz-raw://edffc9cbf8434fc046e4b72013b740f1985aaff0344bc7a9a03631bf3e09ddc6","dweb:/ipfs/QmcsFJqL4gWNoKVPfHoPUyH6gH6KTb5b3zQnnMFDabSqn1"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/CoinConfigurationVersions.sol":{"keccak256":"0x5fb77e3319d5b78357c1495a1c9956a71a430311fab5b828dad269c38d5068dd","urls":["bzz-raw://43f88dfa477cec2ecb219a66d2dfa17b7a88b3d9ee5af95c6cca8ca42fcaf9e0","dweb:/ipfs/QmdwZ8eeMFWUcFE6DoNV8pJY1j2ptPeY2Jfr4DoE8rcWP4"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/CoinConstants.sol":{"keccak256":"0x0c17b040ed707c2353e4b238bf6bac90d22a71980ff1a091f763da281b7035bf","urls":["bzz-raw://083bb0022dd69434858946ea15b55d08483913baf57b428d600ede1eb5a19f46","dweb:/ipfs/QmXdNPvCm2Wv4R8Kbd7FYdnjjQCLWVGsr1DhCn5MrQj3Z7"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/UniV4SwapToCurrency.sol":{"keccak256":"0xe692c69e9af5549c745565fc33bf2b40e52e9bf12360332ea04795a351a808ac","urls":["bzz-raw://a4ffb4d6279e84b739de7955b73239563b6cc02fe7e419da35e4db8e9362fda0","dweb:/ipfs/QmWUedeoMpPVZyrGNan8bvbeDdNv5SYrfBKHoD2h8eZ8z2"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/types/LpPosition.sol":{"keccak256":"0x19dfc13b9f6a831ee7a624094c17a7c0b20bbc9ef62121dd98d85a8641d53aaf","urls":["bzz-raw://fe77a4cb9ff9afbf7561ed647d15729b201259ef767d6c140a0b6e9254a97fe6","dweb:/ipfs/QmaieKjUcT2SG2Spdg2sHzZso8zd5YTVsMRRoDzz6Kgn1t"],"license":"MIT"},"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol":{"keccak256":"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22","urls":["bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319","dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/utils/uniswap/FixedPoint96.sol":{"keccak256":"0x711b83cbdbbfe19afc1df6f45f2f71abb1b75305ecb288e36a37cc286bc8de46","urls":["bzz-raw://2957b0c179395705c49084b5b0c1033c0f47beeca043658a6c572226f5d07348","dweb:/ipfs/QmZQD8s7u1Kjnydkw6n9FUyzVK9Loo6gYSZXic732Y7J76"],"license":"MIT"},"node_modules/@zoralabs/coins/src/utils/uniswap/FullMath.sol":{"keccak256":"0xc6b0d61b8d60acb295d196a72f81e577007e822f63c737ae0fa87d63e228f074","urls":["bzz-raw://643ddf8897f3d2610ce5ac45c0571e86cd2a97542c2599121fa39a06daa95509","dweb:/ipfs/QmZ74RCf31apWy8UukKUrFi98kgSK6sRH68MFMGudPVpqx"],"license":"MIT"},"node_modules/@zoralabs/coins/src/utils/uniswap/LiquidityAmounts.sol":{"keccak256":"0x4811d0187e6ccf97d6323c597355967e481392cbdc65dea804f770dec91cece7","urls":["bzz-raw://8d41f633f2a92b4caeb0430096851b62b0be1f68915603ff8c5b220c693e9755","dweb:/ipfs/QmY9c5EwQVKi2Ak7xude2iUe7TGAdwmChUtwzwWcGb62PE"],"license":"UNLICENSED"},"src/IZoraLimitOrderBook.sol":{"keccak256":"0x2b2ef15b8e9b1fdfd403fb771542fd90b00b1f9afa1359c1c707c67bdd1dde10","urls":["bzz-raw://a982830679c4f9a09ae38fcb261e70d0be58795f5e911187538312402042b470","dweb:/ipfs/QmVMnET7gFkPEXbWZGB3WeaCw5jFbxiUFzbFsSLbNNSAaa"],"license":"ZORA-DELAYED-OSL-v1"},"src/ZoraLimitOrderBook.sol":{"keccak256":"0x66f40ccf0eb57c58edb179797a4dcbb9d14eb5c9db5cd83bb27ec0f1b36943d6","urls":["bzz-raw://6f8dd8048747be9d05efa910e51bfbad24a49b64a8db9da7fdfeea3b31d9038c","dweb:/ipfs/QmaVwAqV7yv29ApZoYUx6Wev6UCNC8r1LreVSgaLy55Xk6"],"license":"ZORA-DELAYED-OSL-v1"},"src/access/SimpleAccessManaged.sol":{"keccak256":"0xd92f23941a7a5709efdb66928036b6812d6742eca3b4d7d1ff42197a7b8916c8","urls":["bzz-raw://6ea18ad22ef178f454a65f55fcb29cdbd45396e1da3bab178357c54162be0269","dweb:/ipfs/QmZVGjcJ1v6bFaG3VTkGZHz3Fb32xZ4KBDmAxdJHxdQzBM"],"license":"MIT"},"src/libs/LimitOrderBitmap.sol":{"keccak256":"0xc70e40f69debd6d2bf06548e7ba9287b4236d09ca0d6ecfd2f93ce7a7c00864a","urls":["bzz-raw://5493aece7257a15bbb734fa24ccd372abf47be0ddd7872de696b592dcec1f7fc","dweb:/ipfs/Qmdu6EAgkEaXHUhqh9WdX2cdKCjQNgVpMuqKED68smKvhW"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCommon.sol":{"keccak256":"0x895101ce1c1d55221263251088053d7c898057a3bdeba60befa7393cf4c3bfb1","urls":["bzz-raw://39e1aecc33284c7e44de2f0281d1364505597aebe1959d9431ad1d9428ac0450","dweb:/ipfs/QmPA5EkfhX9eYWCiDoYKrX3ugTdm6zu2CSL7zjaewuiryU"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCreate.sol":{"keccak256":"0xe380c163fa89c686ddfcd01ae32b76e5c38371f2a2ad1bd4889f7712aec23a56","urls":["bzz-raw://62d2b7effd4ff02570bfc16ed1637a8d1765ed74a4c8427f49efaf8996ae0929","dweb:/ipfs/QmYUV61DoB9C5yw5GAmgKtw1tieeZnzc5aZLCSX1HrUz6F"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderFill.sol":{"keccak256":"0x9d9d5602b86f4dd14628cf9e8b4b6950b952884120c15c5169c5966b641ed60e","urls":["bzz-raw://1a49882edea3f255ced68772ecf781fe39582543a5c5b4c23408907856ea9509","dweb:/ipfs/QmQFWuNcJFD4FRy4W2BKwy1DPXqS4cY3D1yFArmu2zays7"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderLiquidity.sol":{"keccak256":"0x5a936b43c7804fb50f0f0bb7e12c5adb6c99ab24cf17e49c3739ff1b4bd083e7","urls":["bzz-raw://c8f87935288d98de07aba8e7d4c9fc0fe36b81a0b12543f180f5f0c10e23158b","dweb:/ipfs/QmdveWQy42aMVdQZLbNaZZqaf5ppPtp4sY4PAsrCQBbrej"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderQueues.sol":{"keccak256":"0x395d7b34ac9ab6558e159089acdbeef4640df54e6431f3b7ca89ea9255634c24","urls":["bzz-raw://5f5ee7211e5e9003f266279f8770fabec82e2bd4ef7870d1ecf1f125db48ddc4","dweb:/ipfs/QmV7KHUvjACyvgCV8Bue59DHHr6CJTEqYuVhiPYG76E1Lt"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderStorage.sol":{"keccak256":"0x834d00e4c2bcb79807601b63b3e824adf46ef3d47e941cd318fa09e2fa940367","urls":["bzz-raw://b1fc3a11e9e31c0072d9ba749c48d5f4a53092f89bdb6b70c8f7fcd2fdc6ee72","dweb:/ipfs/QmRDyNEAzCZ7R4fuQoicwdB9U1Dt6rkN3LmfRGSxPfaYPu"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderTypes.sol":{"keccak256":"0xcf1cf64d8815dc1d3fe050ee9f3e2815894c98f17f6fc1a139596935bd590258","urls":["bzz-raw://e7063f4743899eedfadf2fb32fd2b9c8fb617a0726ca0ed9e2a9a2c7d389479e","dweb:/ipfs/QmTZFNfyx5V2YguGomHaqHumQfDiiAQaLJqRPXt9XqviE5"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderWithdraw.sol":{"keccak256":"0x9119feac654be4029374c1248797727c95dff26bc05cb564f79c49302ab5d0e9","urls":["bzz-raw://793573a236a253b0605bd8c73dc59e00319336a33627921a916f344ccace63b0","dweb:/ipfs/QmTB23GS9Qw5FXLWdkivb9xDy9oZuZA2w4ntQTsqN4KhNv"],"license":"ZORA-DELAYED-OSL-v1"}},"version":1},"id":75}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"poolManager_","type":"address","internalType":"address"},{"name":"zoraCoinVersionLookup_","type":"address","internalType":"address"},{"name":"zoraHookRegistry_","type":"address","internalType":"address"},{"name":"owner_","type":"address","internalType":"address"},{"name":"weth_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"maker","type":"address","internalType":"address"},{"name":"coin","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"create","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"orderSizes","type":"uint256[]","internalType":"uint256[]"},{"name":"orderTicks","type":"int24[]","internalType":"int24[]"},{"name":"maker","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"payable"},{"type":"function","name":"fill","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"startTick","type":"int24","internalType":"int24"},{"name":"endTick","type":"int24","internalType":"int24"},{"name":"maxFillCount","type":"uint256","internalType":"uint256"},{"name":"fillReferral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fill","inputs":[{"name":"batches","type":"tuple[]","internalType":"struct IZoraLimitOrderBook.OrderBatch[]","components":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"contract IHooks"}]},{"name":"isCurrency0","type":"bool","internalType":"bool"},{"name":"orderIds","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"fillReferral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getMaxFillCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isPermittedCaller","inputs":[{"name":"caller","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxFillCount","inputs":[{"name":"maxFillCount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPermittedCallers","inputs":[{"name":"callers","type":"address[]","internalType":"address[]"},{"name":"permitted","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"weth","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"orderIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"coin","type":"address","internalType":"address"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"zoraCoinVersionLookup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDeployedCoinVersionLookup"}],"stateMutability":"view"},{"type":"function","name":"zoraHookRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IZoraHookRegistry"}],"stateMutability":"view"},{"type":"event","name":"LimitOrderCreated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCurrency0","type":"bool","indexed":false,"internalType":"bool"},{"name":"orderTick","type":"int24","indexed":false,"internalType":"int24"},{"name":"currentTick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderSize","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"LimitOrderFilled","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coinIn","type":"address","indexed":true,"internalType":"address"},{"name":"coinOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amountOut","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"fillReferral","type":"address","indexed":false,"internalType":"address"},{"name":"fillReferralAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"tick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"LimitOrderUpdated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"poolKeyHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCurrency0","type":"bool","indexed":false,"internalType":"bool"},{"name":"tick","type":"int24","indexed":false,"internalType":"int24"},{"name":"orderSize","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"orderId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"isCancelled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MakerBalanceUpdated","inputs":[{"name":"maker","type":"address","indexed":true,"internalType":"address"},{"name":"coin","type":"address","indexed":true,"internalType":"address"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermittedCallerUpdated","inputs":[{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"permitted","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"AddressZero","inputs":[]},{"type":"error","name":"ArrayLengthMismatch","inputs":[]},{"type":"error","name":"CallerNotPermitted","inputs":[]},{"type":"error","name":"CoinMismatch","inputs":[{"name":"orderId","type":"bytes32","internalType":"bytes32"},{"name":"expectedCoin","type":"address","internalType":"address"},{"name":"actualCoin","type":"address","internalType":"address"}]},{"type":"error","name":"InsufficientForwardedFunds","inputs":[]},{"type":"error","name":"InsufficientTransferFunds","inputs":[]},{"type":"error","name":"InvalidFillWindow","inputs":[{"name":"startTick","type":"int24","internalType":"int24"},{"name":"endTick","type":"int24","internalType":"int24"},{"name":"isCurrency0","type":"bool","internalType":"bool"}]},{"type":"error","name":"InvalidOrder","inputs":[]},{"type":"error","name":"InvalidPoolKey","inputs":[]},{"type":"error","name":"MaxFillCountCannotBeZero","inputs":[]},{"type":"error","name":"MinAmountNotReached","inputs":[{"name":"withdrawn","type":"uint256","internalType":"uint256"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NativeValueMismatch","inputs":[]},{"type":"error","name":"NotPoolManager","inputs":[]},{"type":"error","name":"OnlyZoraHook","inputs":[]},{"type":"error","name":"OrderClosed","inputs":[]},{"type":"error","name":"OrderFillable","inputs":[]},{"type":"error","name":"OrderNotMaker","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PathMustHaveAtLeastOneStep","inputs":[]},{"type":"error","name":"PermittedCallersLengthMismatch","inputs":[]},{"type":"error","name":"RouterMsgSenderInvalid","inputs":[]},{"type":"error","name":"UnknownCallback","inputs":[]},{"type":"error","name":"UnlockedFillNotAllowed","inputs":[]},{"type":"error","name":"WethTransferFailed","inputs":[]},{"type":"error","name":"ZeroMaker","inputs":[]},{"type":"error","name":"ZeroOrderSize","inputs":[]},{"type":"error","name":"ZeroRealizedOrder","inputs":[]}],"bytecode":{"object":"0x6101003461029957601f615e0338819003918201601f19168301916001600160401b0383118484101761029d5780849260a09460405283398101031261029957610048816102b1565b90610055602082016102b1565b610061604083016102b1565b6100796080610072606086016102b1565b94016102b1565b6001600160a01b0390931693841561028657600180546001600160a01b03199081169091555f80549182168717815560405196916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a35f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b805460ff191660011790556001600160a01b0316918215610277576001600160a01b0316908115610277576001600160a01b0316918215610277576001600160a01b038416156102775760805260a05260c05260e052615b3d90816102c68239608051818181601c0152818161038b015281816104330152818161060901528181610fa801528181611312015281816116a9015281816117b30152818161192f015281816119b101528181611c0901528181611e7a01528181611f2801528181611f640152818161239d015281816123e001528181612444015281816124c00152818161250501528181612588015281816125d60152818161264601528181612689015281816126ea0152818161274c01528181612790015281816128090152818161285701528181612b6f0152612f2a015260a051818181610b740152612b94015260c0518181816107aa01526111c2015260e051818181610bb5015281816118fe015281816119800152612bbc0152f35b639fabe1c160e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102995756fe60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610ba3575080635ef3e95514610b5f5780635f8fbad614610afe578063715018a614610a9b57806379ba509714610a165780637a9cf2731461089e5780637fcc389f146108715780638da5cb5b1461084a57806391dd7346146107d9578063a6de70b414610795578063aa24fafc1461067b578063c2ec68ea146104b8578063c96d060b1461048b578063d8c3177214610462578063dc4c90d31461041e578063e30c3978146103f6578063eb07ed2414610208578063f2fde38b146101985763f7888aec14610138575f61000f565b3461019457604036600319011261019457610151610c17565b610159610c01565b6001600160a01b039182165f9081525f516020615b1d5f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b34610194576020366003190112610194576101b1610c17565b6101b9612f77565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b366003190161012081126101945760a0136101945760405161022981610c95565b6004356001600160a01b03811681036101945781526024356001600160a01b038116810361019457602082015260443562ffffff811681036101945760408201526064358060020b81036101945760608201526084356001600160a01b038116810361019457608082015261029c610be4565b9060c4356001600160401b0381116101945736602382011215610194578060040135906102c882610d6c565b916102d66040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103e65750505060e4356001600160401b03811161019457366023820112156101945780600401359061032882610d6c565b916103366040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103ce575050610104359290506001600160a01b03831683036101945761037c33612f8a565b156103bf576103bb946103af947f000000000000000000000000000000000000000000000000000000000000000061303e565b60405191829182610d83565b0390f35b638078f92160e01b5f5260045ffd5b602080916103db84610bf3565b815201910190610353565b81358152602091820191016102f3565b34610194575f366003190112610194576001546040516001600160a01b039091168152602090f35b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f3660031901126101945760205f516020615afd5f395f51905f5254604051908152f35b34610194576020366003190112610194576104a4612f77565b6004355f516020615afd5f395f51905f5255005b34610194576080366003190112610194576004356001600160401b038111610194576104e8903690600401610c41565b906104f1610c01565b6064356001600160a01b038116939190849003610194576105266105ac936040519361051c85610c95565b338552369161128e565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261057d60405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610ed9565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d4b565b60405190816105e2816105d45f94600260206106049801526040808401526060830190610c71565b03601f198101835282610d4b565b604051809381926348c8949160e01b8352602060048401526024830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761063f57005b61065a903d805f833e6106528183610d4b565b810190612ed8565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b34610194576040366003190112610194576004356001600160401b038111610194576106ab903690600401610c41565b6024356001600160401b038111610194576106ca903690600401610c41565b926106d3612f77565b838303610786575f5b8381106106e557005b806106fb6106f66001938887612a82565b6112da565b828060a01b0361071461070f848988612a82565b612aa6565b165f52600260205260405f209060ff80198354169115151617905561073d61070f828786612a82565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c602061076e6106f6858b8a612a82565b926040519315158452858060a01b031692a2016106dc565b63b85b903160e01b5f5260045ffd5b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194576020366003190112610194576004356001600160401b0381116101945736602382011215610194578060040135906001600160401b038211610194573660248383010111610194576103bb916024610836920161130c565b604051918291602083526020830190610c71565b34610194575f366003190112610194575f546040516001600160a01b039091168152602090f35b3461019457602036600319011261019457602061089461088f610c17565b612f8a565b6040519015158152f35b34610194576040366003190112610194576004356001600160401b038111610194576108ce903690600401610c41565b6108d6610c01565b913681900360de1901905f5b8381101561065a578060051b820135838112156101945782019060c0820161090a8184611259565b905061091c575b5060019150016108e2565b6109296109309184611259565b369161128e565b9161093d60a082016112da565b9083519360a0823603126101945760405161095781610c95565b61096083610c2d565b815261096e60208401610c2d565b602082015260408301359162ffffff8316830361019457600196610a10956109b560806105d497610a0b9760408801526109aa60608201610bf3565b606088015201610c2d565b6080850152604051936109c785610cdf565b6109cf612be3565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f0c565b612efd565b86610911565b34610194575f36600319011261019457600154336001600160a01b0390911603610a8857600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610194575f36600319011261019457610ab3612f77565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019457366003190161014081126101945760a01361019457610b20610be4565b60c435908160020b82036101945760e435908160020b82036101945761012435916001600160a01b03831683036101945761065a936101043592610f81565b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f366003190112610194577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019457565b35908160020b820361019457565b602435906001600160a01b038216820361019457565b600435906001600160a01b038216820361019457565b35906001600160a01b038216820361019457565b9181601f84011215610194578235916001600160401b038311610194576020808501948460051b01011161019457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610cb057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610cb057604052565b60e081019081106001600160401b03821117610cb057604052565b606081019081106001600160401b03821117610cb057604052565b60c081019081106001600160401b03821117610cb057604052565b604081019081106001600160401b03821117610cb057604052565b90601f801991011681019081106001600160401b03821117610cb057604052565b6001600160401b038111610cb05760051b60200190565b60206040818301928281528451809452019201905f5b818110610da65750505090565b8251845260209384019390920191600101610d99565b5190811515820361019457565b51906001600160a01b038216820361019457565b519062ffffff8216820361019457565b51908160020b820361019457565b91908260a091031261019457604051610e1381610c95565b6080610e5f818395610e2481610dc9565b8552610e3260208201610dc9565b6020860152610e4360408201610ddd565b6040860152610e5460608201610ded565b606086015201610dc9565b910152565b90610e6e82610d6c565b610e7b6040519182610d4b565b8281528092610e8c601f1991610d6c565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610ef65750505090565b8251845260209384019390920191600101610ee9565b61018060c0610f7e9360208452610f27602085018251610e96565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610ed9565b90565b939291925f516020615afd5f395f51905f525483158015611250575b611248575b50610fcc7f0000000000000000000000000000000000000000000000000000000000000000612ac9565b92836111a7575b610fdb612b58565b9460018060a01b038651169660405197633fe552eb60e01b89525f516020615afd5f395f51905f5260048a0152602489015260043560018060a01b0381168091036101945760448901526024356001600160a01b0381169081900361019457606489015260443562ffffff81168091036101945760848901526064358060020b8091036101945760a48901526084356001600160a01b038116908190036101945760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af4801561065c575f965f905f92611151575b50604051946110db602087610d4b565b5f86525f368137604051986110ef8a610cdf565b6110f7612be3565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261114757506105d4610a0b6111459260405192839160208301610f0c565b565b9061114591612c3c565b9750505060e03d60e0116111a0575b61116a8188610d4b565b860160e087820312610194576111809087610dfb565b61119860c061119160a08a01610ded565b9801610ded565b90965f6110cb565b503d611160565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065c575f9161120e575b50610fd3576344863e8560e11b5f5260045ffd5b90506020813d602011611240575b8161122960209383610d4b565b810103126101945761123a90610dbc565b5f6111fa565b3d915061121c565b92505f610fa2565b50808411610f9d565b903590601e198136030182121561019457018035906001600160401b03821161019457602001918160051b3603831361019457565b92919061129a81610d6c565b936112a86040519586610d4b565b602085838152019160051b810192831161019457905b8282106112ca57505050565b81358152602091820191016112be565b3580151581036101945790565b6001600160401b038111610cb057601f01601f191660200190565b6003111561066757565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610194578035906003821015610194576020810135906001600160401b03821161019457019183601f84011215610194578235611385816112e7565b936113936040519586610d4b565b81855260208501956020838301011161019457815f9260208093018837850101526113bd82611302565b8115611a7f57506113cd81611302565b600181036114c25750906113df612b58565b825183019260208401926020828603126101945751906001600160401b0382116101945701926101609084900312610194576040519161141e83610cdf565b61142b8160208601610dfb565b835261143960c08501610dbc565b602084015261144a60e08501610ded565b604084015261145c6101008501610ded565b606084015261012084015160808401526114796101408501610dc9565b60a0840152610160840151906001600160401b0382116101945760206114a4926114ae960101612fe1565b60c0830152612c3c565b6040516114bc602082610d4b565b5f815290565b6002906114ce81611302565b03611a705780518101916020828403126101945751906001600160401b03821161019457019060a082820312610194576040519061150b82610c95565b61151760208401610dc9565b825260408301516001600160401b0381116101945760208061153d930191850101612fe1565b80602083015261154f60608401610dc9565b9182604082015261156d60a060808601519586606085015201610dc9565b6080820181905290516001600160a01b0390811690821615611a61578251918215611a34579392905f945f94871515935b8587106115d0575b505050505050508181106115bb5750506114ae565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966115e18883612c28565b51805f525f516020615abd5f395f51905f5260205260405f206004810154918260601c8015611a34578803611a5257600160ff8460501c1661162281611302565b03611a4357600382015492600283015492835f525f516020615add5f395f51905f5260205260405f206040519061165882610c95565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b6060850181905292015416608083015215611a34576116cd60a082207f0000000000000000000000000000000000000000000000000000000000000000613a3d565b5050905060ff8460581c165f14611a25578360181c60020b9060020b12155b611a16576117ae946116fd836135a9565b9061170e60ff8660581c168461354e565b905f525f516020615a9d5f395f51905f5260205260405f2060018060a01b0382165f5260205260405f208260020b5f5260205261175d8460405f2060ff60501b19881660048301558386613bcb565b50604061176c8960801c613af6565b81519061177882610cc4565b8760020b82528760181c60020b602083015282820152876060820152815180998192632d35e7ed60e11b83528760048401613b1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760028e957f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde958f9560c09660ff9c5f926119e5575b508160801d5f81600f0b1361196b575b505f82600f0b136118e6575b50505001549160018060a01b031697889660405193845260581c161515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b03861682036118c4575061189b926001600160801b03909216919050613a30565b9685806118ba575b6118b55760010195949392919061159e565b6115a6565b50888810156118a3565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020909201516001600160801b0390911691611953917f00000000000000000000000000000000000000000000000000000000000000009184916001600160a01b0391821691167f000000000000000000000000000000000000000000000000000000000000000061442e565b8a8960581c1615611966575b8f80611835565b61195f565b83516001600160801b0391909116906119d5907f00000000000000000000000000000000000000000000000000000000000000009083906001600160a01b0386811691167f000000000000000000000000000000000000000000000000000000000000000061442e565b8d8c60581c161561182957611829565b611a0791925060403d8111611a0f575b6119ff8183610d4b565b810190613b06565b50905f611819565b503d6119f5565b6374169b5760e11b5f5260045ffd5b8360020b9060020b13156116ec565b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b91809391505183019260208401916020828603126101945751906001600160401b03821161019457019261012090849003126101945760405192611ac284610c95565b611acf8260208301610dfb565b8452611add60c08201610dbc565b916020850192835260e08201516001600160401b0381116101945760209083010181601f8201121561019457805190611b1582610d6c565b91611b236040519384610d4b565b80835260208084019160051b8301019184831161019457602001905b828210612a725750505060408601526101008201516001600160401b038111610194576020908301019080601f83011215610194578151611b7f81610d6c565b92611b8d6040519485610d4b565b81845260208085019260051b82010192831161019457602001905b828210612a5a5750505084840152611bc39061012001610dc9565b9160808401928352835192611bd784613056565b92835f525f516020615add5f395f51905f52602052600160405f20015460b81c60020b156129b9575b611c2d60a086207f0000000000000000000000000000000000000000000000000000000000000000613a3d565b5050929050611c3f825115158761354e565b855f525f516020615a7d5f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611c7588610d15565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611ca8604085015151610e64565b915f5b604086015190815181101561299c5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461298c578160020b01627fffff198112627fffff821317612978575b60a08501511580159061297157815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f9261292e575b506001600160801b038216156128cf57611e75604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611dc68354612c0d565b8093558551938452602084015288858401528d83015260808201522095815198611def8a610d15565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611e3984610cc4565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f60048401613b1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561065c575f9161290f575b508060801d90600f0b835f146128e557505f81600f0b125f146128de57611ed8906143ed565b6001600160801b03165b915b6001600160801b038316156128cf57608087015183906001600160801b0390811690821681116128bc575b505086518051909190611f4c906001600160a01b0316307f000000000000000000000000000000000000000000000000000000000000000061493b565b6020830151909190611f88906001600160a01b0316307f000000000000000000000000000000000000000000000000000000000000000061493b565b9181156128b5575f915b156128ae5730915b5f82138061289c575b6127f9575b505f811261262d575b505f82138061261b575b612575575b505f811261237e575b5060019660a0929091506001600160801b03811661235b575b50818101515f525f516020615abd5f395f51905f52602052600260405f2061202d600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613ba8565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f516020615a9d5f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f20600281019061211361210d86845460801c61463c565b83613ba8565b89515f525f516020615a5d5f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b0384541615612329575b50508383015190898101908282549182155f1461230857555b825f525f516020615abd5f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f516020615b1d5f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c061222e60405f20898060801b0386169054613a30565b94888060a01b0360808b0151165f525f516020615b1d5f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f516020615a3d5f395f51905f526020868060a01b0360408901511693604051908152a36123018287612c28565b5201611cab565b5050805f525f516020615abd5f395f51905f526020528260405f2055612176565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f8061215d565b612378908251848b015115158a80871b0360808d015116916145ff565b5f611fe2565b61238790613af6565b60208201519091906001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612565575b50602001516001600160a01b0316806124b95750604051630476982d60e21b81529690602090889060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a09361248b575b505b91819750611fc9565b6124ab9060203d81116124b2575b6124a38183610d4b565b810190612aba565b505f612480565b503d612499565b6124ee91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906147f8565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a093612547575b50612482565b61255e9060203d81116124b2576124a38183610d4b565b505f612541565b5f61256f91610d4b565b5f612415565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916125d1918791600485016149b7565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611fc0575f61261591610d4b565b5f611fc0565b506001600160a01b0381161515611fbb565b61263690613af6565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576127e9575b5083516001600160a01b0316806127455750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612727575b505b5f611fb1565b61273e9060203d81116124b2576124a38183610d4b565b505f61271f565b61277a91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906147f8565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576127cb575b50612721565b6127e29060203d81116124b2576124a38183610d4b565b505f6127c5565b5f6127f391610d4b565b5f6126be565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f9183918291612852918791600485016149b7565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611fa8575f61289691610d4b565b5f611fa8565b506001600160a01b0381161515611fa3565b5f91611f9a565b3091611f92565b6128c7929350613b8f565b90825f611f0f565b63f8db18c360e01b5f5260045ffd5b505f611ee2565b90505f811215612908576128f8906143ed565b6001600160801b03165b91611ee4565b505f612902565b612927915060403d8111611a0f576119ff8183610d4b565b505f611eb2565b9091506020813d8211612969575b8161294960209383610d4b565b8101031261019457516001600160801b038116810361019457905f611d61565b3d915061293c565b8291611d0b565b634e487b7160e01b5f52601160045260245ffd5b6129969082613097565b90611cfc565b505050506105d49250610f7e915060405192839160208301610d83565b5f8481525f516020615add5f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611c00565b60208091612a6784610ded565b815201910190611ba8565b8151815260209182019101611b3f565b9190811015612a925760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101945790565b90816020910312610194575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561065c575f91612b26575b50151590565b90506020813d602011612b50575b81612b4160209383610d4b565b8101031261019457515f612b20565b3d9150612b34565b60405190612b6582610cfa565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612bf082610c95565b5f6080838281528260208201528260408201528260608201520152565b5f1981146129785760010190565b805115612a925760200190565b8051821015612a925760209160051b010190565b612c468251613056565b91825f525f516020615a7d5f395f51905f5260205260405f2092612c6a8454612c0d565b809455805f525f516020615add5f395f51905f5260205260405f2093604051612c9281610c95565b85546001600160a01b0390811682526001870154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529701541660808201529415612e72575b60c083019384515115612e55576020840151151590835f525f516020615a9d5f395f51905f5260205260405f20612d13838961354e565b60018060a01b03165f5260205260405f209460a0600180821b039101511693865151965f5b888110612d4b5750505050505050505050565b612d56818351612c28565b51805f525f516020615abd5f395f51905f5260205260405f20600481015488600160ff8360501c16612d8781611302565b149182612e47575b82612e34575b82612e21575b5050612daf575b5050600101975b97612d38565b855160a08d208d91612dd791612dcd916001600160a01b0316613a3d565b505090508361357d565b15612e185760019392828b92612def612e11956135a9565b60020b5f528d60205260405f20905f516020615afd5f395f51905f528b6135c9565b905f612da2565b50505097612da9565b60301c63ffffffff16109050885f612d9b565b91508860ff8360581c1615151491612d95565b600284015488149250612d8f565b929350505061114592505f516020615afd5f395f51905f526130b4565b9350815193606085015160020b612cdc5763c256622b60e01b5f5260045ffd5b81601f8201121561019457805190612ea9826112e7565b92612eb76040519485610d4b565b8284526020838301011161019457815f9260208093018386015e8301015290565b906020828203126101945781516001600160401b03811161019457610f7e9201612e92565b60405190816105e2816105d45f9460016020612f259801526040808401526060830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612f615750565b612f74903d805f833e6106528183610d4b565b50565b5f546001600160a01b03163303610a8857565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612fc2575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f83011215610194578151612ff881610d6c565b926130066040519485610d4b565b81845260208085019260051b82010192831161019457602001905b82821061302e5750505090565b8151815260209182019101613021565b9061305095949392915f60a0526149d9565b60a05190565b604051613067602082018093610e96565b60a0815261307660c082610d4b565b51902090565b60020b5f190190627fffff198212627fffff83131761297857565b600291820b910b0390627fffff198212627fffff83131761297857565b906080830191825115613548576130cb8451613056565b602085015115908115613534578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613182575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f1461352857888160020b13155b6135205760020b845f8183071291050393895f14613426578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f146134115750610194578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a1561340657898660020b13155b6133fd57156133e157845f528160205260405f2098895480156133c25793909192935b801515806133b9575b156133a65790818f959493925f528660205260405f208054966004820154600160ff8260501c166132e581611302565b0361339b5760301c63ffffffff1614613367578f518c5160a090206133219161331791906001600160a01b0316613a3d565b505090508261357d565b15613353578f60019392613346928f8f8f81519160a08a80821b0391015116956135c9565b0193925b939091926132ac565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b8815613396576133889061307c565b9b9a919b969290939661316b565b613388565b50505050939261334a565b509b9a999850939c91929695949c613379565b508c82106132b5565b50949091939796959d929b9a999850885f14613396576133969061307c565b90929695949c919a99989793885f14613396576133969061307c565b50859d50613173565b898660020b13613289565b9391505060020b900360020b0260020b613279565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f1461350657506101945783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461327b565b93905060ff809250031660020b0160020b0260020b613500565b859d50613173565b888160020b121561319d565b8551519092906001600160a01b03166130eb565b50505050565b901561356b57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b031661355f565b6004015460ff8160581c165f1461359d5760181c60020b9060020b121590565b60020b9060020b131590565b6004015460ff8160581c165f146135c35760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906135fd878261354e565b9615613609908261354e565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916136489060801c613af6565b6040519161365583610cc4565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161369092613b1c565b03815a6040945f91f198891561065c576137398f9a8e938a88819b8b9689955f925f91613a0b575b50919261372d926001600160a01b0386166139f5578460801d945b6001600160a01b0387166139de57600f0b955b6001600160a01b03166139d4575f9f5b6001600160a01b03166139c8575060045f995b01549560ff8760581c165f146139b75760208201516001600160a01b031692613dab565b96879360601c90614160565b97909d5f82600f0b1380156139ab575b613991575b505050505060018060801b038b5416915f60028a019961377b613775868d5460801c613b8f565b8c613ba8565b60018a0186549060018801928354928315861461397f578082555b8015861461396c57506001915001555b8a546001600160801b031680613949575b50818655556137c5846135a9565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613914575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612978576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f516020615a3d5f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613804565b8b546001600160801b03191683199091016001600160801b0316178b555f6137b7565b85525060205260408320600101556137a6565b83865282602052806040872055613796565b61399e959a508990614160565b9050945f8080808061374e565b505f83600f0b13613749565b81516001600160a01b031692613dab565b600490600f0b99613709565b8060801d9f6136f6565b6139ef9082600f0b90600f0b613b6a565b956136e6565b613a058160801d8660801d613b6a565b946136d3565b61372d9350613a29915060403d604011611a0f576119ff8183610d4b565b90926136b8565b9190820180921161297857565b91906020906040518281019182526006604082015260408152613a61606082610d4b565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561065c575f92613ac2575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d602011613aee575b81613ade60209383610d4b565b810103126101945751905f613a9a565b3d9150613ad1565b600160ff1b8114612978575f0390565b9190826040910312610194576020825192015190565b9061016092613b2d83606093610e96565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761297857565b6001600160801b03918216908216039190821161297857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613bfc613bf6888b5460801c613b8f565b8a613ba8565b835490600185019182549182158514613d8c578181555b81158514613d6b576001915001555b88546001600160801b031680613d48575b5081845555613c41826135a9565b9660028301545f525f516020615a5d5f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613d13575b5050015460601c90815f525f516020615b1d5f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116129785760205f516020615a3d5f395f51905f5291835f525f516020615b1d5f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613c89565b89546001600160801b03191683199091016001600160801b03161789555f613c33565b5083525f516020615abd5f395f51905f526020526001604084200155613c22565b8285525f516020615abd5f395f51905f52602052816040862055613c13565b9290939193604051613dbc81610d30565b606081525f6020820152936001600160a01b0381169182613ed9575b505084516001600160a01b0392831692169050818103613ed4575060208401516001600160a01b03165b6001600160a01b03166020840152604080519490613e208187610d4b565b60018652601f1981015f5b818110613ea05750508495612f7494955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193613e6b602086610d4b565b5f8552815195613e7a87610c95565b8652602086015284015260608301526080820152835190613e9a82612c1b565b52612c1b565b6020908351613eae81610c95565b5f81525f838201525f858201525f60608201526060608082015282828b01015201613e2b565b613e02565b60405163442f7de960e11b8152600481018490526001600160a01b03919091169190602081602481865afa5f9181614122575b50613f18575b50613dd8565b60ff6004911610159081614112575b50613f34575b8080613f12565b5f91945060246040518096819363f3ffe14b60e01b835260048301525afa92831561065c575f93613fa9575b50828051805115159081613f82575b50613f7a5780613f2d565b925050915090565b6001600160a01b039150613f9590612c1b565b5151166001600160a01b038316145f613f6f565b9092503d805f833e613fbb8183610d4b565b810190602081830312610194578051906001600160401b03821161019457016040818303126101945760405191613ff183610d30565b81516001600160401b0381116101945782019080601f830112156101945781519161401b83610d6c565b926140296040519485610d4b565b80845260208085019160051b830101918383116101945760208101915b83831061406d57505050505061406191602091845201610dc9565b6020820152915f613f60565b82516001600160401b0381116101945782019060a0828703601f190112610194576040519061409b82610c95565b6140a760208401610dc9565b82526140b560408401610ddd565b60208301526140c660608401610ded565b60408301526140d760808401610dc9565b606083015260a0830151916001600160401b0383116101945761410288602080969581960101612e92565b6080820152815201920191614046565b61411c915061436f565b5f613f27565b9091506020813d602011614158575b8161413e60209383610d4b565b81010312610194575160ff8116810361019457905f613f0c565b3d9150614131565b9591939092935f81600f0b135f14614367576001600160801b0316935b5f81600f0b135f14614360576001600160801b03165b60208201519151805190926001600160a01b03169015614351576141c0906141ba84612c1b565b51614655565b90811561434b5786925b821561433a5760208201516001600160a01b0316975b83156143325750925b6001600160801b0316806142e6575050509594919293955b95926001926020945b835185101561428e57879861425a61423f989961422d6001946141ba8a8a612c28565b9a9093858060801b0316600f0b6143ed565b600f0b8a84604051936142528d86610d4b565b5f85526146dd565b828060801b0316975f146142805786828060a01b03910151165b9401939796959761420a565b818060a01b03905116614274565b979691959094508793509150856001600160801b0381166142b1575b5050505050565b6142bd9284869361442e565b6001600160a01b0316156142d5575b808080806142aa565b6001600160a01b031692505f6142cc565b91614318916142fb6143279594600f0b6143ed565b916040519261430b602085610d4b565b5f8452600f0b918c6146dd565b6001600160801b03169061463c565b959491929395614201565b9050926141e9565b81516001600160a01b0316976141e0565b826141ca565b6319dcad4d60e31b5f5260045ffd5b505f614193565b505f9361417d565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f91816143b1575b50610f7e57505f90565b9091506020813d6020116143e5575b816143cd60209383610d4b565b81010312610194576143de90610dbc565b905f6143a7565b3d91506143c0565b600f0b60016001607f1b03198114612978575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b0382166145a9576001600160a01b031690813b156145a5578461447792879283604051809681958294630b0d9c0960e01b8452309060048501614404565b03925af1801561458557908591614590575b50506001600160a01b0316916001600160801b031690823b1561458157604051630d0e30db60e41b8152848160048186885af180156145855790859161456c575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af1908115614561578291614523575b50156145145750565b6332067e4160e01b8152600490fd5b90506020813d602011614559575b8161453e60209383610d4b565b810103126145555761454f90610dbc565b5f61450b565b5080fd5b3d9150614531565b6040513d84823e3d90fd5b8161457691610d4b565b61458157835f6144ca565b8380fd5b6040513d87823e3d90fd5b8161459a91610d4b565b61458157835f614489565b8580fd5b92945092916001600160a01b03169050803b15610194576145e4935f809460405196879586948593630b0d9c0960e01b855260048501614404565b03925af1801561065c576145f55750565b5f61114591610d4b565b90926001600160801b03169190821561354857611145931561462a57516001600160a01b03166147f8565b602001516001600160a01b03166147f8565b6001600160801b03918216908216019190821161297857565b9061465e612be3565b5081516001600160a01b0382811692911690818310156146d5575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b039101511692604051946146b386610c95565b85526001600160a01b0316602085015260408401526060830152608082015291565b508190614679565b9093929160209181156147d9576147455f6401000276a4975b6147766040519561470687610cfa565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610e96565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610c71565b03926001600160a01b03165af192831561065c575f936147a5575b505f130361479f57600f0b90565b60801d90565b9092506020813d6020116147d1575b816147c160209383610d4b565b810103126101945751915f614791565b3d91506147b4565b6147455f73fffd8963efd1fc6a506488495d951d5263988d25976146f6565b9091906001600160a01b03811690816148865750505f80808093855af11561481d5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156148d75750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561065c575f91614988575090565b90506020813d6020116149af575b816149a360209383610d4b565b81010312610194575190565b3d9150614996565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b0390921691908215615a2d575f6080604051614a0581610c95565b614a0d612be3565b815282602082015260a051604082015260a05160a05182015201525f90845183518103615a1e575f905b8082106159e7575050614a8260405195614a5087610c95565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b039261354e565b168061588857503403615879575b614a9984612ac9565b614c22576040805193602080860152610160850197614abb8387018351610e96565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614c0c575050505194603f1983820301610120840152602080875192838152019601905f5b818110614bf357505050916105d4614b6083614b44614b84955f9899899860018060a01b0390511661014083015203601f198101835282610d4b565b6040519283918760208401526040808401526060830190610c71565b6040519485809481936348c8949160e01b8352602060048401526024830190610c71565b03926001600160a01b03165af190811561065c575f91614bd9575b508051810190602081830312610194576020810151916001600160401b03831161019457614bd4926020809201920101612fe1565b60a052565b614bed91503d805f833e6106528183610d4b565b5f614b9f565b825160020b885260209788019790920191600101614b08565b8251895260209889019890920191600101614ae0565b9193949290845193614c3385613056565b91825f525f516020615add5f395f51905f52602052600160405f20015460b81c60020b156157d7575b614c6960a0872085613a3d565b50509050614c7a835115158861354e565b90845f525f516020615a7d5f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614cb5608051610d15565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614cf5604085015151610e64565b915f5b60408601519081518110156157cb576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f146157ba578160020b01627fffff198112627fffff82131761297857925b60805160a00151158015906157b35784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f92615770575b506001600160801b038216156128cf5760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614eda969560a095949293921690614e2490612c0d565b809355855193845260208401528885840152835183015260808201522095815193614e4e85610d15565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614e9c84610cc4565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f60048401613b1c565b03815f6001600160a01b038e165af190811561065c575f91615751575b508060801d90600f0b835f1461572757505f81600f0b125f1461572057614f1d906143ed565b6001600160801b03165b915b6001600160801b038316156128cf5760808201516001600160801b03908116908416811161570c575b5081518051909190614f6e906001600160a01b0316308c61493b565b906020830192614f8960018060a01b038551168d309061493b565b928215615705575f925b156156fd578c30935b5f8313806156eb575b615681575b50505f8112615555575b50505f821380615543575b6154df575b505f811261538f575b506040966001969594939260a09250906001600160801b038116615369575b50818101515f525f516020615abd5f395f51905f526020526002885f20615037600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613ba8565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f516020615a9d5f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f20600281019061511a61210d86845460801c61463c565b608051515f525f516020615a5d5f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b0384541615615338575b50508383015190898101908282549182155f1461531857555b5f8381525f516020615abd5f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f516020615b1d5f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c09161522c91861690613a30565b94888060a01b0360808051015116898060a01b03165f525f516020615b1d5f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f516020615a3d5f395f51905f526020868060a01b0388608051015116938851908152a361530f8288612c28565b52019050614cf8565b5050805f525f516020615abd5f395f51905f52602052828c5f205561517f565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f80615166565b61538990825184608051015115158a80871b0360808051015116916145ff565b5f614fec565b61539e90969594939296613af6565b81519091906001600160a01b03908116908b163b15610194575f8b602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c576154cf575b50516001600160a01b0316806154605750604051630476982d60e21b81529590602090879060049082906001600160a01b038e165af190811561065c5760409760019760a093615442575b505b97509192939495614fcd565b6154599060203d81116124b2576124a38183610d4b565b505f615434565b61547591906001600160a01b038b16906147f8565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af190811561065c5760409760019760a0936154b1575b50615436565b6154c89060203d81116124b2576124a38183610d4b565b505f6154ab565b5f6154d991610d4b565b5f6153e9565b82516001600160a01b03908116908c163b1561019457828c61551b935f809460405196879586948593630b0d9c0960e01b8552600485016149b7565b03926001600160a01b03165af1801561065c5715614fc4575f61553d91610d4b565b5f614fc4565b506001600160a01b0381161515614fbf565b61555e90613af6565b81519091906001600160a01b03908116908e163b15610194575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c57615671575b50516001600160a01b03168061560c575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c576155ee575b505b5f80614fb4565b6156059060203d81116124b2576124a38183610d4b565b505f6155e5565b61562191906001600160a01b038e16906147f8565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c57615653575b506155e7565b61566a9060203d81116124b2576124a38183610d4b565b505f61564d565b5f61567b91610d4b565b5f6155a9565b83516001600160a01b0390811692163b1561019457828f5f92836156bc9560405196879586948593630b0d9c0960e01b8552600485016149b7565b03926001600160a01b03165af1801561065c576156db575b8d90614faa565b5f6156e591610d4b565b5f6156d4565b506001600160a01b0381161515614fa5565b8c5f93614f9c565b3092614f93565b6157199197508390613b8f565b955f614f52565b505f614f27565b90505f81121561574a5761573a906143ed565b6001600160801b03165b91614f29565b505f615744565b615769915060403d8111611a0f576119ff8183610d4b565b505f614ef7565b9091506020813d82116157ab575b8161578b60209383610d4b565b8101031261019457516001600160801b038116810361019457905f614db4565b3d915061577e565b8291614d5e565b6157c49082613097565b9092614d4c565b5050505091505060a052565b5f8381525f516020615add5f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614c5c565b636d295d4f60e11b5f5260045ffd5b34615879576040516370a0823160e01b815230600482015291602083602481855afa92831561065c575f936159b3575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561065c575f91615979575b5015615934576020602492604051938480926370a0823160e01b82523060048301525afa91821561065c575f92615943575b5061592e9192613a30565b14614a90575b637627529f60e01b5f5260045ffd5b91506020823d602011615971575b8161595e60209383610d4b565b810103126101945761592e915191615923565b3d9150615951565b90506020813d6020116159ab575b8161599460209383610d4b565b81010312610194576159a590610dbc565b5f6158f1565b3d9150615987565b9092506020813d6020116159df575b816159cf60209383610d4b565b810103126101945751915f6158b8565b3d91506159c2565b90926159f38488612c28565b51908115615a0f57600191615a0791613a30565b930190614a37565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1507:7026:77:-:0;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;;;;1273:26:0;;1269:95;;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;3052:40:0;;-1:-1:-1;3052:40:0;-1:-1:-1;303:10:78;;600:17;1507:7026:77;303:10:78;;;;-1:-1:-1;;303:10:78;2093:20:1;303:10:78;;;-1:-1:-1;;;;;1507:7026:77;;1960:26;;1507:7026;;-1:-1:-1;;;;;1507:7026:77;;2020:36;;1507:7026;;-1:-1:-1;;;;;1507:7026:77;;2090:31;;1507:7026;;-1:-1:-1;;;;;1507:7026:77;;2155:19;1507:7026;;;2201:40;1507:7026;2251:74;2335:55;;2400:12;;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2335:55;1507:7026;;;;;;;;;;2400:12;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1507:7026:77;;-1:-1:-1;1507:7026:77;1269:95:0;1322:31;;;-1:-1:-1;1322:31:0;-1:-1:-1;1322:31:0;1507:7026:77;;-1:-1:-1;1322:31:0;1507:7026:77;-1:-1:-1;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;:::o","linkReferences":{"src/libs/LimitOrderViews.sol":{"LimitOrderViews":[{"start":4971,"length":20},{"start":8196,"length":20},{"start":20567,"length":20}]}}},"deployedBytecode":{"object":"0x60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610ba3575080635ef3e95514610b5f5780635f8fbad614610afe578063715018a614610a9b57806379ba509714610a165780637a9cf2731461089e5780637fcc389f146108715780638da5cb5b1461084a57806391dd7346146107d9578063a6de70b414610795578063aa24fafc1461067b578063c2ec68ea146104b8578063c96d060b1461048b578063d8c3177214610462578063dc4c90d31461041e578063e30c3978146103f6578063eb07ed2414610208578063f2fde38b146101985763f7888aec14610138575f61000f565b3461019457604036600319011261019457610151610c17565b610159610c01565b6001600160a01b039182165f9081525f516020615b1d5f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b34610194576020366003190112610194576101b1610c17565b6101b9612f77565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b366003190161012081126101945760a0136101945760405161022981610c95565b6004356001600160a01b03811681036101945781526024356001600160a01b038116810361019457602082015260443562ffffff811681036101945760408201526064358060020b81036101945760608201526084356001600160a01b038116810361019457608082015261029c610be4565b9060c4356001600160401b0381116101945736602382011215610194578060040135906102c882610d6c565b916102d66040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103e65750505060e4356001600160401b03811161019457366023820112156101945780600401359061032882610d6c565b916103366040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103ce575050610104359290506001600160a01b03831683036101945761037c33612f8a565b156103bf576103bb946103af947f000000000000000000000000000000000000000000000000000000000000000061303e565b60405191829182610d83565b0390f35b638078f92160e01b5f5260045ffd5b602080916103db84610bf3565b815201910190610353565b81358152602091820191016102f3565b34610194575f366003190112610194576001546040516001600160a01b039091168152602090f35b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f3660031901126101945760205f516020615afd5f395f51905f5254604051908152f35b34610194576020366003190112610194576104a4612f77565b6004355f516020615afd5f395f51905f5255005b34610194576080366003190112610194576004356001600160401b038111610194576104e8903690600401610c41565b906104f1610c01565b6064356001600160a01b038116939190849003610194576105266105ac936040519361051c85610c95565b338552369161128e565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261057d60405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610ed9565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d4b565b60405190816105e2816105d45f94600260206106049801526040808401526060830190610c71565b03601f198101835282610d4b565b604051809381926348c8949160e01b8352602060048401526024830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761063f57005b61065a903d805f833e6106528183610d4b565b810190612ed8565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b34610194576040366003190112610194576004356001600160401b038111610194576106ab903690600401610c41565b6024356001600160401b038111610194576106ca903690600401610c41565b926106d3612f77565b838303610786575f5b8381106106e557005b806106fb6106f66001938887612a82565b6112da565b828060a01b0361071461070f848988612a82565b612aa6565b165f52600260205260405f209060ff80198354169115151617905561073d61070f828786612a82565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c602061076e6106f6858b8a612a82565b926040519315158452858060a01b031692a2016106dc565b63b85b903160e01b5f5260045ffd5b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194576020366003190112610194576004356001600160401b0381116101945736602382011215610194578060040135906001600160401b038211610194573660248383010111610194576103bb916024610836920161130c565b604051918291602083526020830190610c71565b34610194575f366003190112610194575f546040516001600160a01b039091168152602090f35b3461019457602036600319011261019457602061089461088f610c17565b612f8a565b6040519015158152f35b34610194576040366003190112610194576004356001600160401b038111610194576108ce903690600401610c41565b6108d6610c01565b913681900360de1901905f5b8381101561065a578060051b820135838112156101945782019060c0820161090a8184611259565b905061091c575b5060019150016108e2565b6109296109309184611259565b369161128e565b9161093d60a082016112da565b9083519360a0823603126101945760405161095781610c95565b61096083610c2d565b815261096e60208401610c2d565b602082015260408301359162ffffff8316830361019457600196610a10956109b560806105d497610a0b9760408801526109aa60608201610bf3565b606088015201610c2d565b6080850152604051936109c785610cdf565b6109cf612be3565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f0c565b612efd565b86610911565b34610194575f36600319011261019457600154336001600160a01b0390911603610a8857600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610194575f36600319011261019457610ab3612f77565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019457366003190161014081126101945760a01361019457610b20610be4565b60c435908160020b82036101945760e435908160020b82036101945761012435916001600160a01b03831683036101945761065a936101043592610f81565b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f366003190112610194577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019457565b35908160020b820361019457565b602435906001600160a01b038216820361019457565b600435906001600160a01b038216820361019457565b35906001600160a01b038216820361019457565b9181601f84011215610194578235916001600160401b038311610194576020808501948460051b01011161019457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610cb057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610cb057604052565b60e081019081106001600160401b03821117610cb057604052565b606081019081106001600160401b03821117610cb057604052565b60c081019081106001600160401b03821117610cb057604052565b604081019081106001600160401b03821117610cb057604052565b90601f801991011681019081106001600160401b03821117610cb057604052565b6001600160401b038111610cb05760051b60200190565b60206040818301928281528451809452019201905f5b818110610da65750505090565b8251845260209384019390920191600101610d99565b5190811515820361019457565b51906001600160a01b038216820361019457565b519062ffffff8216820361019457565b51908160020b820361019457565b91908260a091031261019457604051610e1381610c95565b6080610e5f818395610e2481610dc9565b8552610e3260208201610dc9565b6020860152610e4360408201610ddd565b6040860152610e5460608201610ded565b606086015201610dc9565b910152565b90610e6e82610d6c565b610e7b6040519182610d4b565b8281528092610e8c601f1991610d6c565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610ef65750505090565b8251845260209384019390920191600101610ee9565b61018060c0610f7e9360208452610f27602085018251610e96565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610ed9565b90565b939291925f516020615afd5f395f51905f525483158015611250575b611248575b50610fcc7f0000000000000000000000000000000000000000000000000000000000000000612ac9565b92836111a7575b610fdb612b58565b9460018060a01b038651169660405197633fe552eb60e01b89525f516020615afd5f395f51905f5260048a0152602489015260043560018060a01b0381168091036101945760448901526024356001600160a01b0381169081900361019457606489015260443562ffffff81168091036101945760848901526064358060020b8091036101945760a48901526084356001600160a01b038116908190036101945760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af4801561065c575f965f905f92611151575b50604051946110db602087610d4b565b5f86525f368137604051986110ef8a610cdf565b6110f7612be3565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261114757506105d4610a0b6111459260405192839160208301610f0c565b565b9061114591612c3c565b9750505060e03d60e0116111a0575b61116a8188610d4b565b860160e087820312610194576111809087610dfb565b61119860c061119160a08a01610ded565b9801610ded565b90965f6110cb565b503d611160565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065c575f9161120e575b50610fd3576344863e8560e11b5f5260045ffd5b90506020813d602011611240575b8161122960209383610d4b565b810103126101945761123a90610dbc565b5f6111fa565b3d915061121c565b92505f610fa2565b50808411610f9d565b903590601e198136030182121561019457018035906001600160401b03821161019457602001918160051b3603831361019457565b92919061129a81610d6c565b936112a86040519586610d4b565b602085838152019160051b810192831161019457905b8282106112ca57505050565b81358152602091820191016112be565b3580151581036101945790565b6001600160401b038111610cb057601f01601f191660200190565b6003111561066757565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610194578035906003821015610194576020810135906001600160401b03821161019457019183601f84011215610194578235611385816112e7565b936113936040519586610d4b565b81855260208501956020838301011161019457815f9260208093018837850101526113bd82611302565b8115611a7f57506113cd81611302565b600181036114c25750906113df612b58565b825183019260208401926020828603126101945751906001600160401b0382116101945701926101609084900312610194576040519161141e83610cdf565b61142b8160208601610dfb565b835261143960c08501610dbc565b602084015261144a60e08501610ded565b604084015261145c6101008501610ded565b606084015261012084015160808401526114796101408501610dc9565b60a0840152610160840151906001600160401b0382116101945760206114a4926114ae960101612fe1565b60c0830152612c3c565b6040516114bc602082610d4b565b5f815290565b6002906114ce81611302565b03611a705780518101916020828403126101945751906001600160401b03821161019457019060a082820312610194576040519061150b82610c95565b61151760208401610dc9565b825260408301516001600160401b0381116101945760208061153d930191850101612fe1565b80602083015261154f60608401610dc9565b9182604082015261156d60a060808601519586606085015201610dc9565b6080820181905290516001600160a01b0390811690821615611a61578251918215611a34579392905f945f94871515935b8587106115d0575b505050505050508181106115bb5750506114ae565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966115e18883612c28565b51805f525f516020615abd5f395f51905f5260205260405f206004810154918260601c8015611a34578803611a5257600160ff8460501c1661162281611302565b03611a4357600382015492600283015492835f525f516020615add5f395f51905f5260205260405f206040519061165882610c95565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b6060850181905292015416608083015215611a34576116cd60a082207f0000000000000000000000000000000000000000000000000000000000000000613a3d565b5050905060ff8460581c165f14611a25578360181c60020b9060020b12155b611a16576117ae946116fd836135a9565b9061170e60ff8660581c168461354e565b905f525f516020615a9d5f395f51905f5260205260405f2060018060a01b0382165f5260205260405f208260020b5f5260205261175d8460405f2060ff60501b19881660048301558386613bcb565b50604061176c8960801c613af6565b81519061177882610cc4565b8760020b82528760181c60020b602083015282820152876060820152815180998192632d35e7ed60e11b83528760048401613b1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760028e957f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde958f9560c09660ff9c5f926119e5575b508160801d5f81600f0b1361196b575b505f82600f0b136118e6575b50505001549160018060a01b031697889660405193845260581c161515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b03861682036118c4575061189b926001600160801b03909216919050613a30565b9685806118ba575b6118b55760010195949392919061159e565b6115a6565b50888810156118a3565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020909201516001600160801b0390911691611953917f00000000000000000000000000000000000000000000000000000000000000009184916001600160a01b0391821691167f000000000000000000000000000000000000000000000000000000000000000061442e565b8a8960581c1615611966575b8f80611835565b61195f565b83516001600160801b0391909116906119d5907f00000000000000000000000000000000000000000000000000000000000000009083906001600160a01b0386811691167f000000000000000000000000000000000000000000000000000000000000000061442e565b8d8c60581c161561182957611829565b611a0791925060403d8111611a0f575b6119ff8183610d4b565b810190613b06565b50905f611819565b503d6119f5565b6374169b5760e11b5f5260045ffd5b8360020b9060020b13156116ec565b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b91809391505183019260208401916020828603126101945751906001600160401b03821161019457019261012090849003126101945760405192611ac284610c95565b611acf8260208301610dfb565b8452611add60c08201610dbc565b916020850192835260e08201516001600160401b0381116101945760209083010181601f8201121561019457805190611b1582610d6c565b91611b236040519384610d4b565b80835260208084019160051b8301019184831161019457602001905b828210612a725750505060408601526101008201516001600160401b038111610194576020908301019080601f83011215610194578151611b7f81610d6c565b92611b8d6040519485610d4b565b81845260208085019260051b82010192831161019457602001905b828210612a5a5750505084840152611bc39061012001610dc9565b9160808401928352835192611bd784613056565b92835f525f516020615add5f395f51905f52602052600160405f20015460b81c60020b156129b9575b611c2d60a086207f0000000000000000000000000000000000000000000000000000000000000000613a3d565b5050929050611c3f825115158761354e565b855f525f516020615a7d5f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611c7588610d15565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611ca8604085015151610e64565b915f5b604086015190815181101561299c5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461298c578160020b01627fffff198112627fffff821317612978575b60a08501511580159061297157815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f9261292e575b506001600160801b038216156128cf57611e75604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611dc68354612c0d565b8093558551938452602084015288858401528d83015260808201522095815198611def8a610d15565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611e3984610cc4565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f60048401613b1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561065c575f9161290f575b508060801d90600f0b835f146128e557505f81600f0b125f146128de57611ed8906143ed565b6001600160801b03165b915b6001600160801b038316156128cf57608087015183906001600160801b0390811690821681116128bc575b505086518051909190611f4c906001600160a01b0316307f000000000000000000000000000000000000000000000000000000000000000061493b565b6020830151909190611f88906001600160a01b0316307f000000000000000000000000000000000000000000000000000000000000000061493b565b9181156128b5575f915b156128ae5730915b5f82138061289c575b6127f9575b505f811261262d575b505f82138061261b575b612575575b505f811261237e575b5060019660a0929091506001600160801b03811661235b575b50818101515f525f516020615abd5f395f51905f52602052600260405f2061202d600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613ba8565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f516020615a9d5f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f20600281019061211361210d86845460801c61463c565b83613ba8565b89515f525f516020615a5d5f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b0384541615612329575b50508383015190898101908282549182155f1461230857555b825f525f516020615abd5f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f516020615b1d5f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c061222e60405f20898060801b0386169054613a30565b94888060a01b0360808b0151165f525f516020615b1d5f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f516020615a3d5f395f51905f526020868060a01b0360408901511693604051908152a36123018287612c28565b5201611cab565b5050805f525f516020615abd5f395f51905f526020528260405f2055612176565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f8061215d565b612378908251848b015115158a80871b0360808d015116916145ff565b5f611fe2565b61238790613af6565b60208201519091906001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612565575b50602001516001600160a01b0316806124b95750604051630476982d60e21b81529690602090889060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a09361248b575b505b91819750611fc9565b6124ab9060203d81116124b2575b6124a38183610d4b565b810190612aba565b505f612480565b503d612499565b6124ee91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906147f8565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a093612547575b50612482565b61255e9060203d81116124b2576124a38183610d4b565b505f612541565b5f61256f91610d4b565b5f612415565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916125d1918791600485016149b7565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611fc0575f61261591610d4b565b5f611fc0565b506001600160a01b0381161515611fbb565b61263690613af6565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576127e9575b5083516001600160a01b0316806127455750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612727575b505b5f611fb1565b61273e9060203d81116124b2576124a38183610d4b565b505f61271f565b61277a91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906147f8565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576127cb575b50612721565b6127e29060203d81116124b2576124a38183610d4b565b505f6127c5565b5f6127f391610d4b565b5f6126be565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f9183918291612852918791600485016149b7565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611fa8575f61289691610d4b565b5f611fa8565b506001600160a01b0381161515611fa3565b5f91611f9a565b3091611f92565b6128c7929350613b8f565b90825f611f0f565b63f8db18c360e01b5f5260045ffd5b505f611ee2565b90505f811215612908576128f8906143ed565b6001600160801b03165b91611ee4565b505f612902565b612927915060403d8111611a0f576119ff8183610d4b565b505f611eb2565b9091506020813d8211612969575b8161294960209383610d4b565b8101031261019457516001600160801b038116810361019457905f611d61565b3d915061293c565b8291611d0b565b634e487b7160e01b5f52601160045260245ffd5b6129969082613097565b90611cfc565b505050506105d49250610f7e915060405192839160208301610d83565b5f8481525f516020615add5f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611c00565b60208091612a6784610ded565b815201910190611ba8565b8151815260209182019101611b3f565b9190811015612a925760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101945790565b90816020910312610194575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561065c575f91612b26575b50151590565b90506020813d602011612b50575b81612b4160209383610d4b565b8101031261019457515f612b20565b3d9150612b34565b60405190612b6582610cfa565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612bf082610c95565b5f6080838281528260208201528260408201528260608201520152565b5f1981146129785760010190565b805115612a925760200190565b8051821015612a925760209160051b010190565b612c468251613056565b91825f525f516020615a7d5f395f51905f5260205260405f2092612c6a8454612c0d565b809455805f525f516020615add5f395f51905f5260205260405f2093604051612c9281610c95565b85546001600160a01b0390811682526001870154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529701541660808201529415612e72575b60c083019384515115612e55576020840151151590835f525f516020615a9d5f395f51905f5260205260405f20612d13838961354e565b60018060a01b03165f5260205260405f209460a0600180821b039101511693865151965f5b888110612d4b5750505050505050505050565b612d56818351612c28565b51805f525f516020615abd5f395f51905f5260205260405f20600481015488600160ff8360501c16612d8781611302565b149182612e47575b82612e34575b82612e21575b5050612daf575b5050600101975b97612d38565b855160a08d208d91612dd791612dcd916001600160a01b0316613a3d565b505090508361357d565b15612e185760019392828b92612def612e11956135a9565b60020b5f528d60205260405f20905f516020615afd5f395f51905f528b6135c9565b905f612da2565b50505097612da9565b60301c63ffffffff16109050885f612d9b565b91508860ff8360581c1615151491612d95565b600284015488149250612d8f565b929350505061114592505f516020615afd5f395f51905f526130b4565b9350815193606085015160020b612cdc5763c256622b60e01b5f5260045ffd5b81601f8201121561019457805190612ea9826112e7565b92612eb76040519485610d4b565b8284526020838301011161019457815f9260208093018386015e8301015290565b906020828203126101945781516001600160401b03811161019457610f7e9201612e92565b60405190816105e2816105d45f9460016020612f259801526040808401526060830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612f615750565b612f74903d805f833e6106528183610d4b565b50565b5f546001600160a01b03163303610a8857565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612fc2575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f83011215610194578151612ff881610d6c565b926130066040519485610d4b565b81845260208085019260051b82010192831161019457602001905b82821061302e5750505090565b8151815260209182019101613021565b9061305095949392915f60a0526149d9565b60a05190565b604051613067602082018093610e96565b60a0815261307660c082610d4b565b51902090565b60020b5f190190627fffff198212627fffff83131761297857565b600291820b910b0390627fffff198212627fffff83131761297857565b906080830191825115613548576130cb8451613056565b602085015115908115613534578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613182575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f1461352857888160020b13155b6135205760020b845f8183071291050393895f14613426578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f146134115750610194578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a1561340657898660020b13155b6133fd57156133e157845f528160205260405f2098895480156133c25793909192935b801515806133b9575b156133a65790818f959493925f528660205260405f208054966004820154600160ff8260501c166132e581611302565b0361339b5760301c63ffffffff1614613367578f518c5160a090206133219161331791906001600160a01b0316613a3d565b505090508261357d565b15613353578f60019392613346928f8f8f81519160a08a80821b0391015116956135c9565b0193925b939091926132ac565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b8815613396576133889061307c565b9b9a919b969290939661316b565b613388565b50505050939261334a565b509b9a999850939c91929695949c613379565b508c82106132b5565b50949091939796959d929b9a999850885f14613396576133969061307c565b90929695949c919a99989793885f14613396576133969061307c565b50859d50613173565b898660020b13613289565b9391505060020b900360020b0260020b613279565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f1461350657506101945783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461327b565b93905060ff809250031660020b0160020b0260020b613500565b859d50613173565b888160020b121561319d565b8551519092906001600160a01b03166130eb565b50505050565b901561356b57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b031661355f565b6004015460ff8160581c165f1461359d5760181c60020b9060020b121590565b60020b9060020b131590565b6004015460ff8160581c165f146135c35760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906135fd878261354e565b9615613609908261354e565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916136489060801c613af6565b6040519161365583610cc4565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161369092613b1c565b03815a6040945f91f198891561065c576137398f9a8e938a88819b8b9689955f925f91613a0b575b50919261372d926001600160a01b0386166139f5578460801d945b6001600160a01b0387166139de57600f0b955b6001600160a01b03166139d4575f9f5b6001600160a01b03166139c8575060045f995b01549560ff8760581c165f146139b75760208201516001600160a01b031692613dab565b96879360601c90614160565b97909d5f82600f0b1380156139ab575b613991575b505050505060018060801b038b5416915f60028a019961377b613775868d5460801c613b8f565b8c613ba8565b60018a0186549060018801928354928315861461397f578082555b8015861461396c57506001915001555b8a546001600160801b031680613949575b50818655556137c5846135a9565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613914575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612978576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f516020615a3d5f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613804565b8b546001600160801b03191683199091016001600160801b0316178b555f6137b7565b85525060205260408320600101556137a6565b83865282602052806040872055613796565b61399e959a508990614160565b9050945f8080808061374e565b505f83600f0b13613749565b81516001600160a01b031692613dab565b600490600f0b99613709565b8060801d9f6136f6565b6139ef9082600f0b90600f0b613b6a565b956136e6565b613a058160801d8660801d613b6a565b946136d3565b61372d9350613a29915060403d604011611a0f576119ff8183610d4b565b90926136b8565b9190820180921161297857565b91906020906040518281019182526006604082015260408152613a61606082610d4b565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561065c575f92613ac2575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d602011613aee575b81613ade60209383610d4b565b810103126101945751905f613a9a565b3d9150613ad1565b600160ff1b8114612978575f0390565b9190826040910312610194576020825192015190565b9061016092613b2d83606093610e96565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761297857565b6001600160801b03918216908216039190821161297857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613bfc613bf6888b5460801c613b8f565b8a613ba8565b835490600185019182549182158514613d8c578181555b81158514613d6b576001915001555b88546001600160801b031680613d48575b5081845555613c41826135a9565b9660028301545f525f516020615a5d5f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613d13575b5050015460601c90815f525f516020615b1d5f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116129785760205f516020615a3d5f395f51905f5291835f525f516020615b1d5f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613c89565b89546001600160801b03191683199091016001600160801b03161789555f613c33565b5083525f516020615abd5f395f51905f526020526001604084200155613c22565b8285525f516020615abd5f395f51905f52602052816040862055613c13565b9290939193604051613dbc81610d30565b606081525f6020820152936001600160a01b0381169182613ed9575b505084516001600160a01b0392831692169050818103613ed4575060208401516001600160a01b03165b6001600160a01b03166020840152604080519490613e208187610d4b565b60018652601f1981015f5b818110613ea05750508495612f7494955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193613e6b602086610d4b565b5f8552815195613e7a87610c95565b8652602086015284015260608301526080820152835190613e9a82612c1b565b52612c1b565b6020908351613eae81610c95565b5f81525f838201525f858201525f60608201526060608082015282828b01015201613e2b565b613e02565b60405163442f7de960e11b8152600481018490526001600160a01b03919091169190602081602481865afa5f9181614122575b50613f18575b50613dd8565b60ff6004911610159081614112575b50613f34575b8080613f12565b5f91945060246040518096819363f3ffe14b60e01b835260048301525afa92831561065c575f93613fa9575b50828051805115159081613f82575b50613f7a5780613f2d565b925050915090565b6001600160a01b039150613f9590612c1b565b5151166001600160a01b038316145f613f6f565b9092503d805f833e613fbb8183610d4b565b810190602081830312610194578051906001600160401b03821161019457016040818303126101945760405191613ff183610d30565b81516001600160401b0381116101945782019080601f830112156101945781519161401b83610d6c565b926140296040519485610d4b565b80845260208085019160051b830101918383116101945760208101915b83831061406d57505050505061406191602091845201610dc9565b6020820152915f613f60565b82516001600160401b0381116101945782019060a0828703601f190112610194576040519061409b82610c95565b6140a760208401610dc9565b82526140b560408401610ddd565b60208301526140c660608401610ded565b60408301526140d760808401610dc9565b606083015260a0830151916001600160401b0383116101945761410288602080969581960101612e92565b6080820152815201920191614046565b61411c915061436f565b5f613f27565b9091506020813d602011614158575b8161413e60209383610d4b565b81010312610194575160ff8116810361019457905f613f0c565b3d9150614131565b9591939092935f81600f0b135f14614367576001600160801b0316935b5f81600f0b135f14614360576001600160801b03165b60208201519151805190926001600160a01b03169015614351576141c0906141ba84612c1b565b51614655565b90811561434b5786925b821561433a5760208201516001600160a01b0316975b83156143325750925b6001600160801b0316806142e6575050509594919293955b95926001926020945b835185101561428e57879861425a61423f989961422d6001946141ba8a8a612c28565b9a9093858060801b0316600f0b6143ed565b600f0b8a84604051936142528d86610d4b565b5f85526146dd565b828060801b0316975f146142805786828060a01b03910151165b9401939796959761420a565b818060a01b03905116614274565b979691959094508793509150856001600160801b0381166142b1575b5050505050565b6142bd9284869361442e565b6001600160a01b0316156142d5575b808080806142aa565b6001600160a01b031692505f6142cc565b91614318916142fb6143279594600f0b6143ed565b916040519261430b602085610d4b565b5f8452600f0b918c6146dd565b6001600160801b03169061463c565b959491929395614201565b9050926141e9565b81516001600160a01b0316976141e0565b826141ca565b6319dcad4d60e31b5f5260045ffd5b505f614193565b505f9361417d565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f91816143b1575b50610f7e57505f90565b9091506020813d6020116143e5575b816143cd60209383610d4b565b81010312610194576143de90610dbc565b905f6143a7565b3d91506143c0565b600f0b60016001607f1b03198114612978575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b0382166145a9576001600160a01b031690813b156145a5578461447792879283604051809681958294630b0d9c0960e01b8452309060048501614404565b03925af1801561458557908591614590575b50506001600160a01b0316916001600160801b031690823b1561458157604051630d0e30db60e41b8152848160048186885af180156145855790859161456c575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af1908115614561578291614523575b50156145145750565b6332067e4160e01b8152600490fd5b90506020813d602011614559575b8161453e60209383610d4b565b810103126145555761454f90610dbc565b5f61450b565b5080fd5b3d9150614531565b6040513d84823e3d90fd5b8161457691610d4b565b61458157835f6144ca565b8380fd5b6040513d87823e3d90fd5b8161459a91610d4b565b61458157835f614489565b8580fd5b92945092916001600160a01b03169050803b15610194576145e4935f809460405196879586948593630b0d9c0960e01b855260048501614404565b03925af1801561065c576145f55750565b5f61114591610d4b565b90926001600160801b03169190821561354857611145931561462a57516001600160a01b03166147f8565b602001516001600160a01b03166147f8565b6001600160801b03918216908216019190821161297857565b9061465e612be3565b5081516001600160a01b0382811692911690818310156146d5575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b039101511692604051946146b386610c95565b85526001600160a01b0316602085015260408401526060830152608082015291565b508190614679565b9093929160209181156147d9576147455f6401000276a4975b6147766040519561470687610cfa565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610e96565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610c71565b03926001600160a01b03165af192831561065c575f936147a5575b505f130361479f57600f0b90565b60801d90565b9092506020813d6020116147d1575b816147c160209383610d4b565b810103126101945751915f614791565b3d91506147b4565b6147455f73fffd8963efd1fc6a506488495d951d5263988d25976146f6565b9091906001600160a01b03811690816148865750505f80808093855af11561481d5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156148d75750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561065c575f91614988575090565b90506020813d6020116149af575b816149a360209383610d4b565b81010312610194575190565b3d9150614996565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b0390921691908215615a2d575f6080604051614a0581610c95565b614a0d612be3565b815282602082015260a051604082015260a05160a05182015201525f90845183518103615a1e575f905b8082106159e7575050614a8260405195614a5087610c95565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b039261354e565b168061588857503403615879575b614a9984612ac9565b614c22576040805193602080860152610160850197614abb8387018351610e96565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614c0c575050505194603f1983820301610120840152602080875192838152019601905f5b818110614bf357505050916105d4614b6083614b44614b84955f9899899860018060a01b0390511661014083015203601f198101835282610d4b565b6040519283918760208401526040808401526060830190610c71565b6040519485809481936348c8949160e01b8352602060048401526024830190610c71565b03926001600160a01b03165af190811561065c575f91614bd9575b508051810190602081830312610194576020810151916001600160401b03831161019457614bd4926020809201920101612fe1565b60a052565b614bed91503d805f833e6106528183610d4b565b5f614b9f565b825160020b885260209788019790920191600101614b08565b8251895260209889019890920191600101614ae0565b9193949290845193614c3385613056565b91825f525f516020615add5f395f51905f52602052600160405f20015460b81c60020b156157d7575b614c6960a0872085613a3d565b50509050614c7a835115158861354e565b90845f525f516020615a7d5f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614cb5608051610d15565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614cf5604085015151610e64565b915f5b60408601519081518110156157cb576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f146157ba578160020b01627fffff198112627fffff82131761297857925b60805160a00151158015906157b35784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f92615770575b506001600160801b038216156128cf5760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614eda969560a095949293921690614e2490612c0d565b809355855193845260208401528885840152835183015260808201522095815193614e4e85610d15565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614e9c84610cc4565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f60048401613b1c565b03815f6001600160a01b038e165af190811561065c575f91615751575b508060801d90600f0b835f1461572757505f81600f0b125f1461572057614f1d906143ed565b6001600160801b03165b915b6001600160801b038316156128cf5760808201516001600160801b03908116908416811161570c575b5081518051909190614f6e906001600160a01b0316308c61493b565b906020830192614f8960018060a01b038551168d309061493b565b928215615705575f925b156156fd578c30935b5f8313806156eb575b615681575b50505f8112615555575b50505f821380615543575b6154df575b505f811261538f575b506040966001969594939260a09250906001600160801b038116615369575b50818101515f525f516020615abd5f395f51905f526020526002885f20615037600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613ba8565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f516020615a9d5f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f20600281019061511a61210d86845460801c61463c565b608051515f525f516020615a5d5f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b0384541615615338575b50508383015190898101908282549182155f1461531857555b5f8381525f516020615abd5f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f516020615b1d5f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c09161522c91861690613a30565b94888060a01b0360808051015116898060a01b03165f525f516020615b1d5f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f516020615a3d5f395f51905f526020868060a01b0388608051015116938851908152a361530f8288612c28565b52019050614cf8565b5050805f525f516020615abd5f395f51905f52602052828c5f205561517f565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f80615166565b61538990825184608051015115158a80871b0360808051015116916145ff565b5f614fec565b61539e90969594939296613af6565b81519091906001600160a01b03908116908b163b15610194575f8b602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c576154cf575b50516001600160a01b0316806154605750604051630476982d60e21b81529590602090879060049082906001600160a01b038e165af190811561065c5760409760019760a093615442575b505b97509192939495614fcd565b6154599060203d81116124b2576124a38183610d4b565b505f615434565b61547591906001600160a01b038b16906147f8565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af190811561065c5760409760019760a0936154b1575b50615436565b6154c89060203d81116124b2576124a38183610d4b565b505f6154ab565b5f6154d991610d4b565b5f6153e9565b82516001600160a01b03908116908c163b1561019457828c61551b935f809460405196879586948593630b0d9c0960e01b8552600485016149b7565b03926001600160a01b03165af1801561065c5715614fc4575f61553d91610d4b565b5f614fc4565b506001600160a01b0381161515614fbf565b61555e90613af6565b81519091906001600160a01b03908116908e163b15610194575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c57615671575b50516001600160a01b03168061560c575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c576155ee575b505b5f80614fb4565b6156059060203d81116124b2576124a38183610d4b565b505f6155e5565b61562191906001600160a01b038e16906147f8565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c57615653575b506155e7565b61566a9060203d81116124b2576124a38183610d4b565b505f61564d565b5f61567b91610d4b565b5f6155a9565b83516001600160a01b0390811692163b1561019457828f5f92836156bc9560405196879586948593630b0d9c0960e01b8552600485016149b7565b03926001600160a01b03165af1801561065c576156db575b8d90614faa565b5f6156e591610d4b565b5f6156d4565b506001600160a01b0381161515614fa5565b8c5f93614f9c565b3092614f93565b6157199197508390613b8f565b955f614f52565b505f614f27565b90505f81121561574a5761573a906143ed565b6001600160801b03165b91614f29565b505f615744565b615769915060403d8111611a0f576119ff8183610d4b565b505f614ef7565b9091506020813d82116157ab575b8161578b60209383610d4b565b8101031261019457516001600160801b038116810361019457905f614db4565b3d915061577e565b8291614d5e565b6157c49082613097565b9092614d4c565b5050505091505060a052565b5f8381525f516020615add5f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614c5c565b636d295d4f60e11b5f5260045ffd5b34615879576040516370a0823160e01b815230600482015291602083602481855afa92831561065c575f936159b3575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561065c575f91615979575b5015615934576020602492604051938480926370a0823160e01b82523060048301525afa91821561065c575f92615943575b5061592e9192613a30565b14614a90575b637627529f60e01b5f5260045ffd5b91506020823d602011615971575b8161595e60209383610d4b565b810103126101945761592e915191615923565b3d9150615951565b90506020813d6020116159ab575b8161599460209383610d4b565b81010312610194576159a590610dbc565b5f6158f1565b3d9150615987565b9092506020813d6020116159df575b816159cf60209383610d4b565b810103126101945751915f6158b8565b3d91506159c2565b90926159f38488612c28565b51908115615a0f57600191615a0791613a30565b930190614a37565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1507:7026:77:-:0;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;7579:11;-1:-1:-1;;;;;1507:7026:77;7557:10;:34;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;;;;;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;:::i;:::-;1500:62:0;;:::i;:::-;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;1777:43:1;;-1:-1:-1;1777:43:1;1507:7026:77;;;-1:-1:-1;;1507:7026:77;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;695:24:78;708:10;695:24;:::i;:::-;1507:7026:77;;;;3498:11;3446:113;3498:11;;3446:113;:::i;:::-;1507:7026;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;1582:41;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;1500:62:0;;:::i;:::-;1507:7026:77;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;5975:141;1507:7026;;;;;;;:::i;:::-;6021:10;1507:7026;;;;;:::i;:::-;5986:129;1507:7026;5986:129;;1507:7026;;;;5986:129;;1507:7026;;;;;;;;;;5986:129;;1507:7026;;;;;5986:129;;1507:7026;;;;;;5975:141;;;1507:7026;5975:141;;;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;5975:141;-1:-1:-1;;5975:141:77;;;;;;:::i;:::-;1507:7026;;;8492:31;;;1507:7026;;8492:31;5935:26;1507:7026;;8492:31;;1507:7026;;;;;;;;;;;:::i;:::-;8492:31;5591:98;;8492:31;;;;;;:::i;:::-;1507:7026;;;;;;;;;8473:51;;1507:7026;;8473:51;;1507:7026;;;;;;:::i;:::-;8473:51;1507:7026;;8473:11;-1:-1:-1;;;;;1507:7026:77;8473:51;;;;;;;;1507:7026;8473:51;;;;;1507:7026;8473:51;;;;;;:::i;:::-;;;;;:::i;:::-;1507:7026;8473:51;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;:::i;:::-;1500:62:0;;;:::i;:::-;1007:34:78;;;1507:7026:77;;;1106:18:78;;;;;;1507:7026:77;1126:3:78;1177:12;;;1507:7026:77;1177:12:78;;;;:::i;:::-;;:::i;:::-;1507:7026:77;;;;;1163:10:78;;;;;;:::i;:::-;;:::i;:::-;1507:7026:77;;;1145:17:78;1507:7026:77;;;;;;;;;;;;;;;;;;;1231:10:78;;;;;;:::i;:::-;1208:48;1507:7026:77;1243:12:78;;;;;;:::i;:::-;1507:7026:77;;;;;;;;;;;;;;1208:48:78;;1507:7026:77;1091:13:78;;1507:7026:77;;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;1700:51;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;853:20:78;1507:7026:77;;:::i;:::-;853:20:78;:::i;:::-;1507:7026:77;;;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;:::i;:::-;;;:::i;:::-;5296:13;1507:7026;;;;-1:-1:-1;;1507:7026:77;;;5323:3;5311:10;;;;;;1507:7026;;;;;;;;;;;;;;5399:14;;;;;;;;:::i;:::-;:26;;5395:327;;5323:3;;1507:7026;5323:3;;1507:7026;5296:13;;5395:327;5473:14;1507:7026;5473:14;;;:::i;:::-;1507:7026;;;:::i;:::-;5623:17;;;;;;:::i;:::-;1507:7026;;;;5623:17;1507:7026;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5591:98;1507:7026;;;5591:98;1507:7026;5591:98;1507:7026;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;8136:18;;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;;;5623:17;1507:7026;;;5399:14;1507:7026;;8356:24;1507:7026;;5591:98;;;1507:7026;5591:98;;;:::i;:::-;;:::i;:::-;5395:327;;;1507:7026;;;;;;-1:-1:-1;;1507:7026:77;;;;;;735:10:7;-1:-1:-1;;;;;1507:7026:77;;;2339:24:1;2335:96;;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;735:10:7;1507:7026:77;;;;;;;-1:-1:-1;;;;;1507:7026:77;;3052:40:0;;-1:-1:-1;3052:40:0;1507:7026:77;2335:96:1;2386:34;;;1507:7026:77;2386:34:1;735:10:7;1507:7026:77;;;;2386:34:1;1507:7026:77;;;;;;-1:-1:-1;;1507:7026:77;;;;1500:62:0;;:::i;:::-;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;;;;-1:-1:-1;;;;;;1507:7026:77;3052:40:0;-1:-1:-1;;3052:40:0;1507:7026:77;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;-1:-1:-1;1507:7026:77;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1507:7026:77;;;;;;1629:65;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;1757:29;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;;1507:7026:77;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;;;5591:98;;1507:7026;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;:::-;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;5591:98;1507:7026;5591:98;;1507:7026;;:::i;:::-;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;:::i;:::-;;:::o;3612:1537::-;;;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;3831:17;;:55;;;;3612:1537;3827:120;;3612:1537;4008:11;3975:45;4008:11;3975:45;:::i;:::-;4088:121;;;;3612:1537;4332:14;;:::i;:::-;1507:7026;;;;;;;;;;;;;;;;4429:177;;-1:-1:-1;;;;;;;;;;;1507:7026:77;4429:177;;1507:7026;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4429:15;:177;:15;;:177;;;;;;-1:-1:-1;;;;;4429:177:77;;;3612:1537;1507:7026;;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;8136:18:77;;1507:7026;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;8356:24;4887:152;;1507:7026;5121:20;;;1507:7026;;;5121:20;;;1507:7026;5121:20;;;:::i;:::-;3612:1537::o;4887:152::-;4999:8;;;;:::i;4429:177::-;;;;;1507:7026;4429:177;1507:7026;4429:177;;;;;;;;:::i;:::-;;;1507:7026;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;4429:177;;;;;;;;;;4088:121;1507:7026;;-1:-1:-1;;;4126:45:77;;4160:10;1507:7026;4126:45;;1507:7026;;;4126:45;1507:7026;4126:16;-1:-1:-1;;;;;1507:7026:77;4126:45;;;;;;;-1:-1:-1;4126:45:77;;;4088:121;1507:7026;4088:121;1507:7026;;;;-1:-1:-1;1507:7026:77;;-1:-1:-1;1507:7026:77;4126:45;;;1507:7026;4126:45;;1507:7026;4126:45;;;;;;1507:7026;4126:45;;;:::i;:::-;;;1507:7026;;;;;;;:::i;:::-;4126:45;;;;;;-1:-1:-1;4126:45:77;;3827:120;3902:34;-1:-1:-1;3827:120:77;;;3831:55;3852:34;;;;3831:55;;1507:7026;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1507:7026:77;;;;;;-1:-1:-1;;1507:7026:77;;;;:::o;:::-;;-1:-1:-1;1507:7026:77;;;:::o;6368:869::-;;1507:7026;;6485:11;-1:-1:-1;;;;;1507:7026:77;6463:10;:34;1507:7026;;6580:37;;1507:7026;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;:::i;:::-;6709:31;;6705:140;;1507:7026;;;;:::i;:::-;;6859:29;;1507:7026;;6945:14;;;;:::i;:::-;1507:7026;;1920:64:82;;;1507:7026:77;1920:64:82;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;2018:4:82;1507:7026:77;;;;:::i;:::-;;;;;2018:4:82;:::i;:::-;1507:7026:77;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;6368:869;:::o;6855:349::-;7009:26;1507:7026;;;;:::i;:::-;6995:40;7009:26;;1507:7026;;1418:69:88;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;1418:69:88;1507:7026:77;1418:69:88;;1507:7026:77;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;1922:23:88;1507:7026:77;;;;2045:15:88;;;1507:7026:77;;2108:22:88;;;-1:-1:-1;2146:9:88;-1:-1:-1;3073:16:88;;;;2141:1032;2157:14;;;;;;2141:1032;3234:30;;;;;;;;;;1507:7026:77;;6991:213;;6855:349;;1507:7026;;;;-1:-1:-1;1507:7026:77;2327:11:88;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2173:3:88;2210:11;;;;;;;;;;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2327:11:88;;;1507:7026:77;;;;;2327:25:88;;1507:7026:77;;2411:20:88;;1507:7026:77;;;;;;;;;;;:::i;:::-;2491:48:88;1507:7026:77;;;2610:15:88;;1507:7026:77;3683:17:88;7009:26:77;3683:17:88;;1507:7026:77;;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;7009:26;1507:7026;;;;;;;;;;;;;;;;;3719:20:88;1507:7026:77;;3894:59:88;1507:7026:77;357:173:37;;6485:11:77;3894:59:88;:::i;:::-;3979:83;;;;1507:7026:77;;;;;3979:83:88;1507:7026:77;;;;;;7009:26;1507:7026;;7009:26;1507:7026;3999:30:88;;3979:83;1507:7026:77;;6850:208:83;4156:36:88;;;;:::i;:::-;1507:7026:77;4209:53:88;1507:7026:77;;;;;4209:53:88;;:::i;:::-;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;4721:64:88;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;;2327:11:88;;;1507:7026:77;4721:64:88;;;:::i;:::-;;1507:7026:77;6991:27:83;1507:7026:77;;;6991:27:83;:::i;:::-;1507:7026:77;;;;;;:::i;:::-;;7009:26;1507:7026;;;;;;7009:26;1507:7026;;6908:124:83;;1507:7026:77;6908:124:83;;;1507:7026:77;6908:124:83;1507:7026:77;6908:124:83;;1507:7026:77;;;;;;;;;;6850:208:83;;;2327:11:88;6850:208:83;;;:::i;:::-;;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;6850:208:83;;;;;;;7009:26:77;6850:208:83;;4983:111:88;6850:208:83;;;1507:7026:77;6850:208:83;1507:7026:77;6850:208:83;-1:-1:-1;6850:208:83;;;3979:83:88;2052::34;;1507:7026:77;2052:83:34;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;4918:11:83;4914:248;;3979:83:88;2241:89:34;-1:-1:-1;2241:89:34;;;5175:11:83;5171:249;;3979:83:88;3683:17;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;7009:26;1507:7026;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;4983:111:88;-1:-1:-1;;;;;1507:7026:77;;2838:19:88;;2834:125;;-1:-1:-1;2973:27:88;;-1:-1:-1;;;;;1507:7026:77;;;;;-1:-1:-1;2973:27:88;:::i;:::-;3073:50;;;;;3979:83;3069:94;;1507:7026:77;;2146:9:88;;;;;;;;3069:94;3143:5;;3073:50;3093:30;;;;;3073:50;;2834:125;2884:60;;;;;-1:-1:-1;2884:60:88;2327:11;1507:7026:77;;;;;;;;;;;;-1:-1:-1;2884:60:88;5171:249:83;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;5318:4:83;;7119::77;;1507:7026;;-1:-1:-1;;;;;1507:7026:77;;;;;6485:11;5318:4:83;:::i;:::-;1507:7026:77;;;;;5341:12:83;5337:73;;5171:249;;;;;5337:73;;;4914:248;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;5061:4:83;;7119::77;;1507:7026;;-1:-1:-1;;;;;1507:7026:77;;;;;6485:11;5061:4:83;:::i;:::-;1507:7026:77;;;;;5080:72:83;4914:248;5080:72;4914:248;;6850:208;;;;;1507:7026:77;6850:208:83;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2327:11:88;-1:-1:-1;1507:7026:77;3979:83:88;1507:7026:77;7009:26;1507:7026;;7009:26;1507:7026;4032:30:88;;3979:83;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2327:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;2327:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;2327:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;-1:-1:-1;1507:7026:77;6991:213;7176:17;;;-1:-1:-1;7176:17:77;;-1:-1:-1;7176:17:77;6705:140;1507:7026;;;;;;3348:61:81;;;1507:7026:77;3348:61:81;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:7026:77;;;;;;;;;:::i;:::-;;;;;;;;5107:8:81;;5147:27;;;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;5261:39:81;1507:7026:77;;;;;5261:44:81;5257:108;;1507:7026:77;9192:46:82;1507:7026:77;357:173:37;;6485:11:77;9192:46:82;:::i;:::-;1507:7026:77;;;;;5538:52:81;1507:7026:77;;;;5538:52:81;;:::i;:::-;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5402:323:81;;1507:7026:77;;;;;;;;5402:323:81;;1507:7026:77;5402:323:81;;;1507:7026:77;;5402:323:81;;1507:7026:77;;5402:323:81;;1507:7026:77;5747:37:81;1507:7026:77;;;5761:15:81;1507:7026:77;5747:37:81;:::i;:::-;5800:9;-1:-1:-1;5800:9:81;1507:7026:77;;;5815:15:81;1507:7026:77;;;5811:26:81;;;;;1507:7026:77;;;;5935:15:81;6406:190;;;1507:7026:77;6406:190:81;;;;;;;;;;1507:7026:77;5402:323:81;;1507:7026:77;;;6691:15:81;;;1507:7026:77;;;6643:64:81;7635:205;;;;7666:21;1507:7026:77;;;;;;;;;;;;;7635:205:81;1507:7026:77;5402:323:81;;1507:7026:77;;;;;6789:39:81;;;;1507:7026:77;;;;;;6859:83:81;;5611:16;6859:83;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;6859:15:81;:83;:15;;:83;;;;;;;-1:-1:-1;6859:83:81;;;6789:39;-1:-1:-1;;;;;;1507:7026:77;;6960:14:81;1507:7026:77;;9099:323:81;1507:7026:77;;;;;;;;;5402:323:81;;;1507:7026:77;;;;;;;;5402:323:81;;1507:7026:77;;;-1:-1:-1;1507:7026:77;7105:17:81;1507:7026:77;;;-1:-1:-1;1507:7026:77;;7103:30:81;1507:7026:77;;7103:30:81;:::i;:::-;1507:7026:77;;;8009:323:81;;;;;1507:7026:77;8009:323:81;;;;;;;;;;;;1507:7026:77;8009:323:81;;;;1507:7026:77;;;;;;;:::i;:::-;;;;;;;;;7176:223:81;;1507:7026:77;;;;7176:223:81;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;7176:223:81;;;1507:7026:77;;;7176:223:81;;1507:7026:77;;7176:223:81;;;1507:7026:77;;;5402:323:81;;1507:7026:77;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;:::i;:::-;;;;;;;;;9164:232:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;9164:232:81;;;1507:7026:77;9164:232:81;;;1507:7026:77;;;;;-1:-1:-1;;;9099:323:81;;1507:7026:77;;;;;;;5611:16:81;9099:323;;;:::i;:::-;;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;9099:323:81;;;;;;;-1:-1:-1;9099:323:81;;;6789:39;2052:83:34;;1507:7026:77;2052:83:34;2241:89;;;9518:207:81;;;;;9564:52;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;9564:11:81;:52;-1:-1:-1;;;9601:8:81;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9564:52:81;9518:207;;-1:-1:-1;;;;;1507:7026:77;;9743:17:81;1507:7026:77;;;7176:223:81;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;;;9817:35:81;-1:-1:-1;9813:112:81;;9518:207;-1:-1:-1;;9986:10:81;;1507:7026:77;;9986:10:81;;1507:7026:77;2114:78:83;;-1:-1:-1;;;;;1507:7026:77;2171:4:83;6485:11:77;2114:78:83;:::i;:::-;1507:7026:77;2282:13:83;;1507:7026:77;;;;2218:78:83;;-1:-1:-1;;;;;1507:7026:77;2171:4:83;6485:11:77;2218:78:83;:::i;:::-;2325:40;;;;;-1:-1:-1;2325:40:83;;2393;;;2171:4;2393:40;;-1:-1:-1;5579:6:83;;:31;;;2393:40;5575:115;;2393:40;5703:6;-1:-1:-1;5703:6:83;;5699:365;;2393:40;6078:6;-1:-1:-1;6078:6:83;;:31;;;2393:40;6074:115;;2393:40;6202:6;-1:-1:-1;6202:6:83;;6198:365;;2393:40;-1:-1:-1;1507:7026:77;;;;;;-1:-1:-1;;;;;;1507:7026:77;;8682:132:81;;2393:40:83;7176:223:81;;;;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2408:38:80;1507:7026:77;2368:15:80;;1507:7026:77;;;;;;;;;;;;871:1:84;;;;;;;1507:7026:77;;;;;7176:223:81;;;1507:7026:77;;2408:38:80;;:::i;:::-;1507:7026:77;7176:223:81;;1507:7026:77;5611:16:81;2456:15:80;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;7176:223:81;1507:7026:77;7176:223:81;;1507:7026:77;;;;-1:-1:-1;;;5402:323:81;;;1507:7026:77;;;;;;;;5402:323:81;;;1507:7026:77;;;;;;;;-1:-1:-1;;;;;1507:7026:77;5402:323:81;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:17:80;;;;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;3143:17:80;;1507:7026:77;3143:33:80;;1507:7026:77;;;;;3143:33:80;:::i;:::-;;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;3272:14:80;;;:26;1507:7026:77;;;;;;;;;;;864:15:79;860:218;;2393:40:83;7176:223:81;;;;;1507:7026:77;1107:6:84;;;;1507:7026:77;;;;1128:18:84;;;1124:235;1128:18;;;1507:7026:77;1124:235:84;3594:343;-1:-1:-1;3594:343:84;-1:-1:-1;;;;;;;;;;;1507:7026:77;3594:343:84;;1507:7026:77;-1:-1:-1;3594:343:84;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;871:1:84;;;;;;;7176:223:81;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;3818:143:80;1507:7026:77;3679:55:80;1507:7026:77;-1:-1:-1;1507:7026:77;;;;;;;;;;3679:55:80;:::i;:::-;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;;5402:323:81;;1507:7026:77;;;;;;5402:323:81;1507:7026:77;;5402:323:81;;1507:7026:77;;;5402:323:81;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3818:143:80;1507:7026:77;;;;;;5402:323:81;;1507:7026:77;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;3976:77:80;5855:99:81;;;;:::i;:::-;1507:7026:77;;5800:9:81;;1124:235:84;3594:343;;;-1:-1:-1;3594:343:84;-1:-1:-1;;;;;;;;;;;1507:7026:77;3594:343:84;;1507:7026:77;-1:-1:-1;3594:343:84;;1124:235;;860:218:79;846:396:31;1507:7026:77;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1039:11:79;1676:170:31;1507:7026:77;1676:170:31;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;1676:170:31;1507:7026:77;-1:-1:-1;1507:7026:77;1676:170:31;;1507:7026:77;;;1039:28:79;1507:7026:77;;860:218:79;;;;8682:132:81;8794:8;8750:14;;;5402:323;;;1507:7026:77;;;;;;;;;5402:323:81;;1507:7026:77;;8794:8:81;;:::i;:::-;8682:132;;;6198:365:83;6257:3;;;:::i;:::-;1507:7026:77;2282:13:83;;1507:7026:77;;;;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;6276:31:83;;;;1507:7026:77;;-1:-1:-1;;;6276:31:83;;5611:16:81;6276:31:83;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;6276:31:83;;;;;;;;6198:365;-1:-1:-1;1507:7026:77;2282:13:83;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;4998:58:36;6325:29:83;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;6374:35:83;;1507:7026:77;;;;;;5611:16:81;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;6374:35:83;;;;;;;1507:7026:77;6374:35:83;1507:7026:77;6374:35:83;;;6321:232;;;6198:365;;;;;;6374:35;;;1507:7026:77;6374:35:83;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;6321:232;6493:6;;1507:7026:77;6485:11;-1:-1:-1;;;;;1507:7026:77;;6493:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;6518:20:83;;1507:7026:77;;;5611:16:81;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;6518:20:83;;;;;;;1507:7026:77;6518:20:83;1507:7026:77;6518:20:83;;;6321:232;;;;6518:20;;;1507:7026:77;6518:20:83;;;;;;;;;:::i;:::-;;;;;6276:31;-1:-1:-1;6276:31:83;;;:::i;:::-;;;;6074:115;1507:7026:77;2282:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;6125:53:83;;;;1507:7026:77;;-1:-1:-1;;;6125:53:83;;1507:7026:77;-1:-1:-1;;1507:7026:77;;;;6125:53:83;;1507:7026:77;;5611:16:81;6125:53:83;;;:::i;:::-;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;6125:53:83;;;;;;;6074:115;6125:53;-1:-1:-1;6125:53:83;;;:::i;:::-;;6074:115;;6078:31;-1:-1:-1;;;;;;1507:7026:77;;6088:21:83;;6078:31;;5699:365;5758:3;;;:::i;:::-;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;5777:31:83;;;;1507:7026:77;;-1:-1:-1;;;5777:31:83;;5611:16:81;5777:31:83;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;5777:31:83;;;;;;;;5699:365;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;4998:58:36;5826:29:83;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;5875:35:83;;1507:7026:77;;;;;5611:16:81;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;5875:35:83;;;;;;;;5822:232;;;5699:365;;;5875:35;;;1507:7026:77;5875:35:83;;;;;;;;;:::i;:::-;;;;;5822:232;5994:6;;1507:7026:77;6485:11;-1:-1:-1;;;;;1507:7026:77;;5994:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;6019:20:83;;1507:7026:77;;5611:16:81;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;6019:20:83;;;;;;;;5822:232;;;;6019:20;;;1507:7026:77;6019:20:83;;;;;;;;;:::i;:::-;;;;;5777:31;-1:-1:-1;5777:31:83;;;:::i;:::-;;;;5575:115;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;5626:53:83;;;;1507:7026:77;;-1:-1:-1;;;5626:53:83;;1507:7026:77;-1:-1:-1;;1507:7026:77;;;;5626:53:83;;1507:7026:77;;5611:16:81;5626:53:83;;;:::i;:::-;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;5626:53:83;;;;;;;5575:115;5626:53;-1:-1:-1;5626:53:83;;;:::i;:::-;;5575:115;;5579:31;-1:-1:-1;;;;;;1507:7026:77;;5589:21:83;;5579:31;;2393:40;-1:-1:-1;2393:40:83;;;2325;2171:4;2325:40;;;9813:112:81;9879:35;;;;;:::i;:::-;9813:112;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;5611:16:81;-1:-1:-1;1507:7026:77;9564:52:81;;-1:-1:-1;9564:52:81;;9518:207;9662:52;-1:-1:-1;;9662:11:81;;-1:-1:-1;;;9699:8:81;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9662:52:81;9518:207;;;9662:52;;-1:-1:-1;9662:52:81;;9099:323;;;;1507:7026:77;9099:323:81;;;;;;;;;:::i;:::-;;;;;6859:83;;;;1507:7026:77;6859:83:81;;;;;;;;;1507:7026:77;6859:83:81;;;:::i;:::-;;;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;6859:83:81;;;;;;;-1:-1:-1;6859:83:81;;6789:39;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;5611:16:81;1507:7026:77;;-1:-1:-1;1507:7026:77;7635:205:81;7775:19;;;;:::i;:::-;7808:21;7635:205;;5811:26;;;;;3499:20;5811:26;;3499:20;5811:26;;1507:7026:77;;3499:20:81;;;1507:7026:77;3499:20:81;;;:::i;5257:108::-;-1:-1:-1;1507:7026:77;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;-1:-1:-1;;;1507:7026:77;-1:-1:-1;;;1507:7026:77;;;;;;;;;;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5257:108:81;;1507:7026:77;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;:::o;417:66:26:-;;;;;;;;;;;:::o;2217:141:33:-;1507:7026:77;;-1:-1:-1;;;2305:39:33;;417:66:26;2305:39:33;;;1507:7026:77;;417:66:26;;1507:7026:77;;2305:39:33;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;2305:39:33;;;;;;;-1:-1:-1;2305:39:33;;;2217:141;2305:46;;;2217:141;:::o;2305:39::-;;;417:66:26;2305:39:33;;417:66:26;2305:39:33;;;;;;417:66:26;2305:39:33;;;:::i;:::-;;;417:66:26;;;;;2305:39:33;;;;;;-1:-1:-1;2305:39:33;;7623:203:77;1507:7026;;;;;;:::i;:::-;-1:-1:-1;;;;;7732:11:77;1507:7026;;;;7773:21;1507:7026;;;;;;7815:4;1507:7026;;;;;7623:203::o;1507:7026::-;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;2036:2046:82:-;2379:36;2402:12;;2379:36;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;2448:31:82;1507:7026:77;;2448:31:82;:::i;:::-;1507:7026:77;;;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2552:20:82;2548:152;;2036:2046;2714:13;;;;;;1507:7026:77;2714:25:82;2710:110;;1507:7026:77;2849:16:82;;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2966:47:82;;;;:::i;:::-;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;3138:17:82;;1507:7026:77;;3183:13:82;;;1507:7026:77;3218:9:82;-1:-1:-1;3229:10:82;;;;;;2036:2046;;;;;;;;;;:::o;3218:9::-;3275:16;:13;;;:16;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2450:16:82;3399:12;;1507:7026:77;;;;;;;;;;;:::i;:::-;3399:48:82;:100;;;;3218:9;3399:152;;;3218:9;3399:205;;;3218:9;3378:628;;;;3218:9;1507:7026:77;;;;3218:9:82;;;;;3378:628;1507:7026:77;;;357:173:37;;1507:7026:77;;3642:58:82;;9192:46;;-1:-1:-1;;;;;1507:7026:77;9192:46:82;:::i;:::-;3642:58;;;;;;:::i;:::-;3641:59;3637:114;;1507:7026:77;3787:36:82;;;;;;3978:12;3787:36;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;3978:12:82;-1:-1:-1;;;;;;;;;;;3978:12:82;;:::i;:::-;3378:628;;;;3637:114;3724:8;;;;;;3399:205;1507:7026:77;;;;3571:33:82;;-1:-1:-1;3399:205:82;;;;:152;1507:7026:77;;;;;;;;;;3519:32:82;3399:152;;;:100;1507:7026:77;3467:17:82;;1507:7026:77;3467:32:82;;;-1:-1:-1;3399:100:82;;2710:110;2784:4;;;;;;;;-1:-1:-1;;;;;;;;;;;2784:4:82;:::i;2548:152::-;2594:12;;;;2624:15;1507:7026:77;2624:15:82;;1507:7026:77;;;2548:152:82;2620:69;2653:36;;;-1:-1:-1;2653:36:82;2450:16;-1:-1:-1;2653:36:82;1507:7026:77;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;:::i;8393:138::-;1507:7026;;;8492:31;;;1507:7026;-1:-1:-1;8492:31:77;1507:7026;8492:31;1507:7026;8492:31;;1507:7026;;;;;;;;;;;:::i;:::-;8473:51;1507:7026;;8473:11;-1:-1:-1;;;;;1507:7026:77;8473:51;;;;;;;;8393:138;:::o;8473:51::-;;;;;-1:-1:-1;8473:51:77;;;;;;:::i;:::-;;8393:138::o;1796:162:0:-;1710:6;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;735:10:7;1855:23:0;1851:101;;1796:162::o;1279:152:78:-;311:1;1507:7026:77;;1363:17:78;1507:7026:77;;;303:10:78;1507:7026:77;;;1363:61:78;;;;1356:68;1279:152;:::o;1363:61::-;-1:-1:-1;;;;;1507:7026:77;311:1:78;1507:7026:77;;;1363:17:78;1507:7026:77;;;;;303:10:78;1507:7026:77;;;1279:152:78;-1:-1:-1;1279:152:78:o;1507:7026:77:-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;417:66:26;;1507:7026:77;;;;;;;;;;1958:1171:81;;;;;;;;;;;;:::i;:::-;;;;:::o;874:123:55:-;1507:7026:77;;;974:15:55;;;1507:7026:77;;;:::i;:::-;974:15:55;;;;;;;:::i;:::-;1507:7026:77;964:26:55;;874:123;:::o;1507:7026:77:-;;;-1:-1:-1;;1507:7026:77;;-1:-1:-1;;1507:7026:77;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;:::o;4088:3441:82:-;;4246:17;;;1507:7026:77;;;4246:22:82;4242:59;;4333:36;4356:12;;4333:36;:::i;:::-;4398:16;;;1507:7026:77;;;4455:60:82;;;;4468:12;;4398:16;4468:22;1507:7026:77;4455:60:82;;;-1:-1:-1;;;;;1507:7026:77;4455:60:82;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;4570:17:82;;;4398:16;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;-1:-1:-1;1507:7026:77;4677:16:82;;;4398;1507:7026:77;;-1:-1:-1;1507:7026:77;4677:35:82;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;4786:17:82;;;;1507:7026:77;-1:-1:-1;1507:7026:77;4836:16:82;;;4398;1507:7026:77;;-1:-1:-1;1507:7026:77;;4988:17:82;-1:-1:-1;1507:7026:77;;5116:14:82;1507:7026:77;5116:14:82;;1507:7026:77;;;5155:12:82;;;;1507:7026:77;;;5197:12:82;5155;5197;;:24;1507:7026:77;;;5231:2292:82;5238:19;;;;;;5231:2292;4088:3441;;;;;;;;;;;;;:::o;5231:2292::-;-1:-1:-1;5277:51:82;;;;;;;;;;;;;;;;1507:7026:77;;;;5293:16:82;;5277:51;5273:95;;1507:7026:77;846:396:31;;-1:-1:-1;846:396:31;;;;;;;4565:1682;;;;;;1676:170;1507:7026:77;1676:170:31;;4839:13;1676:170;1507:7026:77;1676:170:31;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;;4839:20:31;5014:11;;;;;;5164:194;;;;;;;1507:7026:77;;;;;;759:552:20;;1507:7026:77;;;;;;;759:552:20;;;;;;-1:-1:-1;;;;;759:552:20;4677:16:82;759:552:20;;;;;1507:7026:77;759:552:20;4570:17:82;759:552:20;;;;;;;4836:16:82;759:552:20;;;;;;;1507:7026:77;759:552:20;;;;;;;;;;1507:7026:77;;;;;;;;;;;;5164:194:31;4565:1682;;5541:54:82;;;;1507:7026:77;;;;5557:18:82;;5541:54;5609:57;;5684:12;5680:125;;5898:265;-1:-1:-1;5898:265:82;;4398:16;5898:265;1507:7026:77;-1:-1:-1;5898:265:82;;;;6181:18;;6177:131;;6322:22;;;;;6358:1092;6365:21;;;:44;;;6358:1092;6365:44;;;6524:286;;;;;;;-1:-1:-1;6524:286:82;;4398:16;6524:286;1507:7026:77;-1:-1:-1;6524:286:82;;;6832:12;4836:16;6832:12;;1507:7026:77;4786:17:82;1507:7026:77;;;;;;;;:::i;:::-;6832:48:82;6828:146;;1507:7026:77;;;;6995:34:82;6991:86;;1507:7026:77;;7152:12:82;;357:173:37;;;7099:67:82;;9192:46;;357:173:37;-1:-1:-1;;;;;1507:7026:77;9192:46:82;:::i;:::-;7099:67;;;;;;:::i;:::-;7098:68;7094:121;;7256:12;4786:17;7256:12;;7297:17;7256:12;;;;;;1507:7026:77;357:173:37;1507:7026:77;;;;;7297:17:82;;1507:7026:77;;7297:17:82;;:::i;:::-;1507:7026:77;7414:21:82;6358:1092;;;;;;;;7094:121;7190:7;;;;;;;;;;;;;;;;;;:::o;6991:86::-;7053:5;;;;;;;;;;;;;;;;;6358:1092;7473:39;;;;7489:12;;;:::i;:::-;5231:2292;;;;;;;;;;;7473:39;;;6828:146;6904:21;;;;;6947:8;;;6365:44;;;;;;;;;;;;;;;;;;6390:19;;;;6365:44;;6177:131;6228:39;;;;;;;;;;;;;;;;;;;;6244:12;;;:::i;5680:125::-;5725:39;;;;;;;;;;;;;;;;;5741:12;;;:::i;5609:57::-;5646:5;;;;;;5541:54;1507:7026:77;;;;5578:17:82;5541:54;;5164:194:31;1507:7026:77;;;;;;;;;;;;;5164:194:31;;4565:1682;1507:7026:77;4786:17:82;1507:7026:77;;;;;;1676:170:31;;1507:7026:77;1676:170:31;5702:13;1676:170;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;4786:17:82;1507:7026:77;;;;;;;5647:20:31;1507:7026:77;;5702:20:31;5869:11;;;;;;6019:213;;;;;;;1507:7026:77;;;1766:834:20;;;1507:7026:77;1766:834:20;-1:-1:-1;1766:834:20;;;;;;;;;;;;;;;;;;;;;;;;;1507:7026:77;;;;;;;;;;6019:213:31;4565:1682;;;6019:213;1507:7026:77;;;;;;;;;;;;;;;;;6019:213:31;;5273:95:82;5348:5;;;;;5277:51;1507:7026:77;;;;5312:16:82;;5277:51;;4455:60;4493:12;;1507:7026:77;4455:60:82;;;-1:-1:-1;;;;;1507:7026:77;4455:60:82;;4242:59;4284:7;;;;:::o;1430:176:80:-;;1555:43;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1555:43:80;-1:-1:-1;;;;;1507:7026:77;;1430:176:80:o;1555:43::-;1585:13;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1555:43:80;;9331:217:82;9458:17;;1507:7026:77;;;;;;9458:83:82;1507:7026:77;;;;;;;;;;9478:30:82;;9331:217;:::o;9458:83::-;1507:7026:77;;;;;9511:30:82;;9331:217;:::o;1253:171:80:-;1364:17;;1507:7026:77;;;;;;1364:53:80;1507:7026:77;;;;;;;1253:171:80;:::o;1364:53::-;1507:7026:77;;1253:171:80;:::o;7535:1520:82:-;7837:12;;;1507:7026:77;;-1:-1:-1;;;;1507:7026:77;-1:-1:-1;;;1507:7026:77;;;;;7535:1520:82;;1507:7026:77;;;;;;;;;7535:1520:82;;;;;;7962:53;1507:7026:77;7535:1520:82;7962:53;:::i;:::-;8078:18;;8043:54;;;;:::i;:::-;1507:7026:77;;8509:17:82;;;1507:7026:77;8540:8:82;;;;1507:7026:77;;3205:15:83;;1507:7026:77;;3205:15:83;;-1:-1:-1;;;;;1507:7026:77;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;;;;;;;3189:33:83;;1507:7026:77;;3189:33:83;:::i;:::-;8540:8:82;1507:7026:77;;;;;:::i;:::-;;7852:34:82;1507:7026:77;;;;;7852:34:82;1507:7026:77;8509:17:82;3094:145:83;;1507:7026:77;8540:8:82;3094:145:83;;1507:7026:77;3094:145:83;;;;1507:7026:77;8540:8:82;1507:7026:77;;;;;;;;3036:229:83;;7837:12:82;3036:229:83;;;;;;:::i;:::-;;;;8540:8:82;3036:229:83;-1:-1:-1;3036:229:83;;;;;;;4134:104;3036:229;;;;;;;;;;;;-1:-1:-1;;;3036:229:83;;;7535:1520:82;-1:-1:-1;3509:66:83;;4031:59;;-1:-1:-1;;;;;1507:7026:77;;;;2052:83:34;1507:7026:77;2052:83:34;3509:66:83;;-1:-1:-1;;;;;1507:7026:77;;;;2241:89:34;;3615:66:83;;-1:-1:-1;;;;;1507:7026:77;;;-1:-1:-1;3724:60:83;;-1:-1:-1;;;;;1507:7026:77;;;3827:60:83;7837:12:82;-1:-1:-1;3827:60:83;;7837:12:82;1507:7026:77;3924:49:83;1507:7026:77;;;;;3924:49:83;1507:7026:77;;;8509:17:82;3944:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;4031:59:83;:::i;:::-;1507:7026:77;;;3094:145:83;1507:7026:77;4134:104:83;;:::i;:::-;1507:7026:77;;;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;4253:27:83;:58;;;;3924:49;4249:224;;3924:49;8646:66:82;;;;;1507:7026:77;;;;;;;;4375:17:80;-1:-1:-1;7852:34:82;4375:17:80;;1507:7026:77;4375:25:80;;1507:7026:77;;;;;4375:25:80;:::i;:::-;;;:::i;:::-;1507:7026:77;4446:17:80;;2079:369:84;;;1507:7026:77;2079:369:84;;;;;2530:20;;;;;;;1507:7026:77;;;2526:145:84;2748:20;;;;;;2784:6;1507:7026:77;2784:6:84;;;1507:7026:77;2744:145:84;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;2899:95:84;;2744:145;3187:167;;;;;4538:19:80;;;:::i;:::-;4615:17;4597;7852:34:82;4615:17:80;;1507:7026:77;;;-1:-1:-1;1507:7026:77;4597:17:80;8509::82;1507:7026:77;8540:8:82;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;3094:145:83;1507:7026:77;-1:-1:-1;1507:7026:77;4652:15:80;;1507:7026:77;7852:34:82;1507:7026:77;;;;;;;;;;1219:14:79;1215:218;;2744:145:84;7837:12:82;;4760:19:80;7837:12:82;;;1507:7026:77;3094:145:83;1507:7026:77;4760:19:80;;1507:7026:77;;;;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4874:69:80;;7837:12:82;;1507:7026:77;;;;;8540:8:82;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;8509:17:82;1507:7026:77;;;;;;;;;;;;;;3094:145:83;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;7852:34:82;1507:7026:77;;;;;;;;;;;;;;;;;;;;8728:320:82;;1507:7026:77;;8728:320:82;7535:1520::o;1215:218:79:-;846:396:31;7852:34:82;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1393:11:79;1676:170:31;7852:34:82;1676:170:31;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;1676:170:31;;1507:7026:77;1408:14:79;1507:7026:77;;1393:29:79;1507:7026:77;;1215:218:79;;;;2899:95:84;871:1;;-1:-1:-1;;;;;;871:1:84;1507:7026:77;;871:1:84;;;-1:-1:-1;;;;;1507:7026:77;871:1:84;;;-1:-1:-1;2899:95:84;;2744:145;3594:343;;-1:-1:-1;8509:17:82;3594:343:84;8540:8:82;3594:343:84;;1507:7026:77;3594:343:84;;2744:145;;2526;3594:343;;;;8509:17:82;3594:343:84;;8540:8:82;3594:343:84;;;2526:145;;4249:224:83;4351:111;;;;;;;:::i;:::-;4327:135;;4249:224;;;;;;;;4253:58;1507:7026:77;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;4284:27:83;4253:58;;3924:49;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;4031:59:83;:::i;3827:60::-;7837:12:82;2241:89:34;;;3827:60:83;;;3724;2052:83:34;1507:7026:77;2052:83:34;3724:60:83;;;3615:66;3657:24;2241:89:34;;;;;;;3657:24:83;:::i;:::-;3615:66;;;3509;3551:24;2052:83:34;1507:7026:77;2052:83:34;;1507:7026:77;2052:83:34;3551:24:83;:::i;:::-;3509:66;;;3036:229;4031:59;3036:229;;;;;8540:8:82;3036:229:83;8540:8:82;3036:229:83;;;;;;;:::i;:::-;;;;;1507:7026:77;;;;;;;;;;:::o;1580:996:30:-;;;14953:51;1580:996;1507:7026:77;;14953:51:30;;;1507:7026:77;;;414:1:30;1507:7026:77;398:19:30;;1507:7026:77;;14953:51:30;;;;;;:::i;:::-;1507:7026:77;14943:62:30;;1507:7026:77;;-1:-1:-1;;;1892:27:30;;;;;1507:7026:77;;;;;;;1892:27:30;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;1892:27:30;;;;;;;-1:-1:-1;1892:27:30;;;1580:996;-1:-1:-1;;;;;;2147:423:30;;;1507:7026:77;2147:423:30;;;;;;;;;;;;;;;;;;1580:996::o;1892:27::-;;;;14953:51;1892:27;;14953:51;1892:27;;;;;;417:66:26;1892:27:30;;;:::i;:::-;;;417:66:26;;;;;1892:27:30;;;;;;;-1:-1:-1;1892:27:30;;1507:7026:77;-1:-1:-1;;;1507:7026:77;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;:::o;:::-;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;:::o;4066:884:80:-;;;;4713:11;4066:884;1507:7026:77;;;;;4350:15:80;;;1507:7026:77;;4375:17:80;-1:-1:-1;4375:17:80;;;1507:7026:77;4375:25:80;;1507:7026:77;;;;;4375:25:80;:::i;:::-;;;:::i;:::-;2079:369:84;;;4446:17:80;2079:369:84;;;;;2530:20;;;;;;;1507:7026:77;;;2526:145:84;2748:20;;;;;;4446:17:80;2784:6:84;;;1507:7026:77;2744:145:84;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;2899:95:84;;2744:145;3187:167;;;;;4538:19:80;;;:::i;:::-;4615:17;4375;4615;;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;4652:15:80;1507:7026:77;-1:-1:-1;1507:7026:77;4652:15:80;;1507:7026:77;4375:17:80;1507:7026:77;;;;;;;;;;1219:14:79;1215:218;;2744:145:84;4713:11:80;;;1507:7026:77;4652:15:80;1507:7026:77;4760:26:80;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4809:26:80;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;4874:69:80;;4066:884::o;1215:218:79:-;846:396:31;4375:17:80;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1393:11:79;1676:170:31;4375:17:80;1676:170:31;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;4446:17:80;1676:170:31;1507:7026:77;-1:-1:-1;1507:7026:77;1676:170:31;;1507:7026:77;1408:14:79;1507:7026:77;;1393:29:79;1507:7026:77;;1215:218:79;;;;2899:95:84;871:1;;-1:-1:-1;;;;;;871:1:84;1507:7026:77;;871:1:84;;;-1:-1:-1;;;;;1507:7026:77;871:1:84;;;-1:-1:-1;2899:95:84;;2744:145;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:84;;4446:17:80;3594:343:84;;;;;2744:145;;2526;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:84;;;;;;;2526:145;;7141:1271:83;;;;;;1507:7026:77;;;;;:::i;:::-;;;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;7433:570:83;;7141:1271;-1:-1:-1;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;;-1:-1:-1;448:51:36;;;8091:63:83;;-1:-1:-1;1507:7026:77;8125:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;8091:63:83;-1:-1:-1;;;;;1507:7026:77;;8164:21:83;;1507:7026:77;;;;;;;;;;:::i;:::-;8242:1:83;1507:7026:77;;-1:-1:-1;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;8210:34:83;;;;8254:151;8210:34;;;1507:7026:77;8327:7:83;;;1507:7026:77;;8349:15:83;1507:7026:77;8349:15:83;;1507:7026:77;;;;;;;;;;8373:9:83;;1507:7026:77;;;;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;;;;;;;:::i;:::-;;;;8275:130:83;;1507:7026:77;8275:130:83;;1507:7026:77;;8275:130:83;;1507:7026:77;;8275:130:83;;1507:7026:77;8254:15:83;;:151;;;;:::i;:::-;;;:::i;1507:7026:77:-;;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;;;;;8091:63:83;;;7433:570;1507:7026:77;;-1:-1:-1;;;7477:44:83;;;;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;7477:44:83;1507:7026:77;;7477:44:83;;-1:-1:-1;;7477:44:83;;;7433:570;7473:520;;;7433:570;;;;7473:520;1507:7026:77;7477:44:83;1507:7026:77;;7568:12:83;;:41;;;;7473:520;7564:406;;;7473:520;;;;;7564:406;-1:-1:-1;1507:7026:77;;;7477:44:83;1507:7026:77;;;;;;;;;7646:50:83;;7477:44;7646:50;;1507:7026:77;7646:50:83;;;;;;;-1:-1:-1;7646:50:83;;;7564:406;7633:63;;7797:15;;1507:7026:77;;7797:26:83;;:87;;;;7564:406;7793:159;;;7564:406;;;7793:159;7912:17;;;;;;:::o;7797:87::-;-1:-1:-1;;;;;1507:7026:77;-1:-1:-1;7827:18:83;;;:::i;:::-;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;448:51:36;7797:87:83;;;7646:50;;;;;;-1:-1:-1;7646:50:83;;;;;;:::i;:::-;;;1507:7026:77;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7646:50:83;;;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7568:41:83;7584:25;;;;:::i;:::-;7568:41;;;7477:44;;;;1507:7026:77;7477:44:83;;1507:7026:77;7477:44:83;;;;;;1507:7026:77;7477:44:83;;;:::i;:::-;;;1507:7026:77;;;;;;;;;;;;7477:44:83;;;;;;;-1:-1:-1;7477:44:83;;9569:1149;;;;;;;9938:1;1507:7026:77;;;9928:11:83;:34;9938:1;;;-1:-1:-1;;;;;1507:7026:77;;9928:34:83;9938:1;1507:7026:77;;;9987:11:83;:34;9938:1;;;-1:-1:-1;;;;;1507:7026:77;9987:34:83;10390:21;;;1507:7026:77;10413:15:83;;1507:7026:77;;10413:15:83;;-1:-1:-1;;;;;1507:7026:77;;1868:15:59;1507:7026:77;;2929:39:59;2145:7;;;;:::i;:::-;;2929:39;:::i;:::-;3001:30;;;;;;;;3059:50;;;;10390:21:83;3072:17:59;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;3059:50:59;3152:30;;;;;;;-1:-1:-1;;;;;1507:7026:77;3283:16:59;1507:7026:77;;3315:36:59;;;3279:234;;;;;;;2064:119;2264:13;2276:1;1507:7026:77;;2259:355:59;2296:3;1507:7026:77;;2279:15:59;;;;;2384:7;;2450:73;2490:28;2384:7;;2359:47;2276:1;2384:7;;;;;:::i;2359:47::-;1507:7026:77;;;;;;;;;;;2490:28:59;:::i;:::-;1507:7026:77;;;;;;;;;;;:::i;:::-;9938:1:83;1507:7026:77;;2450:73:59;:::i;:::-;1507:7026:77;;;;;;2553:50:59;;;;;1507:7026:77;;;;;;2566:17:59;;1507:7026:77;;2553:50:59;2296:3;1507:7026:77;2264:13:59;;;;;;;2553:50;1507:7026:77;;;;;;;;2553:50:59;;2279:15;;10311:118:83;2279:15:59;;;;-1:-1:-1;2279:15:59;;-1:-1:-1;2279:15:59;-1:-1:-1;10311:118:83;-1:-1:-1;;;;;1507:7026:77;;10440:272:83;;2259:355:59;9569:1149:83;;;;;:::o;10440:272::-;10585:4;;;;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;4998:58:36;10604:98:83;;10440:272;;;;;;;10604:98;-1:-1:-1;;;;;1507:7026:77;;-1:-1:-1;10604:98:83;;;3279:234:59;1507:7026:77;3429:72:59;1507:7026:77;3469:20:59;3397:105;1507:7026:77;;;;3469:20:59;:::i;:::-;1507:7026:77;;;;;;;;:::i;:::-;9938:1:83;1507:7026:77;;;;3429:72:59;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;;3397:105:59;:::i;:::-;3279:234;;;;;;;;3152:30;;;;;;3059:50;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;3059:50:59;;3001:30;;;;1507:7026:77;;;;9938:1:83;1507:7026:77;;9938:1:83;1507:7026:77;9987:34:83;;9938:1;9987:34;;9928;;9938:1;9928:34;;;8418:263;1507:7026:77;;-1:-1:-1;;;8501:63:83;;-1:-1:-1;;;8501:63:83;;;1507:7026:77;;;;;;8501:63:83;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;8501:63:83;;1507:7026:77;;8501:63:83;;;8418:263;-1:-1:-1;8497:178:83;;8652:12;1507:7026:77;8652:12:83;:::o;8501:63::-;;;;1507:7026:77;8501:63:83;;1507:7026:77;8501:63:83;;;;;;1507:7026:77;8501:63:83;;;:::i;:::-;;;1507:7026:77;;;;;;;:::i;:::-;8501:63:83;;;;;;;-1:-1:-1;8501:63:83;;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;:::o;:::-;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;:::o;9088:475:83:-;-1:-1:-1;;9088:475:83;;-1:-1:-1;;;;;1507:7026:77;;9223:121:83;;-1:-1:-1;;;;;1507:7026:77;;9354:49:83;;;;;1507:7026:77;9354:49:83;1507:7026:77;;;;;;;;;;;;;;;9354:49:83;;9389:4;9354:49;;;;;:::i;:::-;;;;;;;;;;;;;;9088:475;-1:-1:-1;;;;;;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;9413:36:83;;;;;1507:7026:77;;-1:-1:-1;;;9413:36:83;;;1507:7026:77;9354:49:83;1507:7026:77;9413:36:83;;;;;;;;;;;;;9088:475;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;9464:39:83;;-1:-1:-1;;;;;1507:7026:77;;;9354:49:83;9464:39;;1507:7026:77;;;;;;;;;;;;;9464:39:83;;1507:7026:77;;9464:39:83;;;;;;;;;;;9088:475;9463:40;;9459:98;;9088:475;:::o;9459:98::-;-1:-1:-1;;;9526:20:83;;9354:49;;9526:20;9464:39;;;1507:7026:77;9464:39:83;;1507:7026:77;9464:39:83;;;;;;1507:7026:77;9464:39:83;;;:::i;:::-;;;1507:7026:77;;;;;;;:::i;:::-;9464:39:83;;;1507:7026:77;;;;9464:39:83;;;-1:-1:-1;9464:39:83;;;1507:7026:77;;;;;;;;;9413:36:83;;;;;:::i;:::-;1507:7026:77;;9413:36:83;;;;1507:7026:77;;;;9413:36:83;1507:7026:77;;;;;;;;;9354:49:83;;;;;:::i;:::-;1507:7026:77;;9354:49:83;;;;;1507:7026:77;;;9223:121:83;1507:7026:77;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;-1:-1:-1;9268:45:83;;;;;;1507:7026:77;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;9268:45:83;;;;;;:::i;:::-;;;;;;;;;;;9327:7;:::o;9268:45::-;-1:-1:-1;9268:45:83;;;:::i;1701:281::-;;;-1:-1:-1;;;;;1507:7026:77;;1701:281:83;1817:11;;1813:48;;1943:32;;1890:43;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1943:32:83;:::i;1890:43::-;1920:13;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1943:32:83;:::i;1507:7026:77:-;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;:::o;4545:484:59:-;;1507:7026:77;;:::i;:::-;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;;;734:50:36;;;1507:7026:77;;;4800:80:59;1507:7026:77;;;;;;448:51:36;;;4977:10:59;1507:7026:77;4977:10:59;;;1507:7026:77;;4989:18:59;;;1507:7026:77;;;;5009:12:59;1507:7026:77;;;;;5009:12:59;;1507:7026:77;;;4989:18:59;1507:7026:77;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;4977:10:59;4947:75;;1507:7026:77;4989:18:59;4947:75;;1507:7026:77;5009:12:59;4947:75;;1507:7026:77;4947:75:59;;;1507:7026:77;;4545:484:59:o;4800:80::-;;;;;;3525:709;;;;;3961:111;;4001:70;;;;1862:10:32;-1:-1:-1;1862:10:32;4001:70:59;;1862:10:32;1507:7026:77;;;;;;:::i;:::-;;;;;;3961:111:59;;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;3961:111:59;;;1507:7026:77;;;;-1:-1:-1;;;3902:210:59;;1507:7026:77;;;;;;;;;;;3961:111:59;3902:210;;;;1862:10:32;:::i;:::-;;1507:7026:77;;1862:10:32;;;1507:7026:77;1862:10:32;;;;1507:7026:77;1862:10:32;-1:-1:-1;;;;;1507:7026:77;1862:10:32;;;1507:7026:77;1862:10:32;;;;;;;;;;:::i;:::-;3902:210:59;;-1:-1:-1;;;;;1507:7026:77;3902:210:59;;;;;;;-1:-1:-1;3902:210:59;;;4001:70;-1:-1:-1;;;4147:33:59;-1:-1:-1;;2241:89:34;;3525:709:59;:::o;4146:71::-;2052:83:34;;3525:709:59;:::o;3902:210::-;;;;3961:111;3902:210;;3961:111;3902:210;;;;;;3961:111;3902:210;;;:::i;:::-;;;1862:10:32;;;;1507:7026:77;;-1:-1:-1;3902:210:59;;;;;-1:-1:-1;3902:210:59;;4001:70;1862:10:32;-1:-1:-1;2042:49:32;4001:70:59;;;1472:2873:36;;;;-1:-1:-1;;;;;1507:7026:77;;;4998:58:36;1769:24;;1809:163;;-1:-1:-1;1809:163:36;;;;;;;2085:8;2081:127;;1765:2574;1472:2873::o;2081:127::-;3741:1424:22;;-1:-1:-1;;;3741:1424:22;;-1:-1:-1;;;;;3741:1424:22;;;;;;;-1:-1:-1;3741:1424:22;;;;;;;;;;;1507:7026:77;3741:1424:22;5591:98:77;3741:1424:22;-1:-1:-1;;3741:1424:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:29:36;;;3741:1424:22;;;;;;;1765:2574:36;2238:1774;-1:-1:-1;2238:1774:36;;;;;;;;;1507:7026:77;;;;;;2238:1774:36;;1507:7026:77;;;;;2238:1774:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:8;4120:209;;1765:2574;1472:2873::o;4120:209::-;2238:1774;3741:1424:22;-1:-1:-1;;;3741:1424:22;;2238:1774:36;3741:1424:22;;;;;;-1:-1:-1;;;2238:1774:36;3741:1424:22;;;;2238:1774:36;3741:1424:22;;;5591:98:77;3741:1424:22;;-1:-1:-1;;3741:1424:22;;;;;;;;;;;;;;-1:-1:-1;3741:1424:22;;;;;;;2238:1774:36;3741:1424:22;;;;;4268:28:36;;;3741:1424:22;;;;;;;1711:436:33;-1:-1:-1;;;;;1853:233:33;;;-1:-1:-1;1853:233:33;;;;;;;;;;;;;;;1507:7026:77;;-1:-1:-1;;;2117:21:33;;;;;1507:7026:77;;;;1853:233:33;1507:7026:77;;2117:21:33;;1507:7026:77;;;2117:21:33;;;;;;;-1:-1:-1;2117:21:33;;;2095:45;1711:436;:::o;2117:21::-;;;1853:233;2117:21;;1853:233;2117:21;;;;;;417:66:26;2117:21:33;;;:::i;:::-;;;417:66:26;;;;;1711:436:33;:::o;2117:21::-;;;-1:-1:-1;2117:21:33;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;:::o;1958:1171:81:-;1507:7026:77;2229:16:81;;1958:1171;;;;;-1:-1:-1;;;;;1507:7026:77;;;;1958:1171:81;2265:19;;1507:7026:77;;2282:1:81;1507:7026:77;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2282:1:81;1507:7026:77;;;;;3804:27:81;;1507:7026:77;;2282:1:81;3886:238;3902:10;;;;;;1507:7026:77;;4271:47:81;1507:7026:77;;;;;;:::i;:::-;;;;;;;;10389:138:81;;1507:7026:77;;;;10389:138:81;;1507:7026:77;;;;;;10389:138:81;;1507:7026:77;;;;10389:138:81;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;4271:47:81;:::i;:::-;1507:7026:77;4333:18:81;1507:7026:77;;4375:9:81;;:18;1507:7026:77;;4329:526:81;2714:45;;;:::i;:::-;2710:196;;1507:7026:77;;;3049:22:81;1507:7026:77;3049:22:81;;;1507:7026:77;;;;;;;;;;;;:::i;:::-;;;;;;;;10389:138:81;1507:7026:77;;;;;;;;;;;;;;;;;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:1:81;1507:7026:77;;;;;;;;;;;2999:73:81;1507:7026:77;3049:22:81;1507:7026:77;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;;;3049:22:81;5591:98:77;;3049:22:81;;;;;;:::i;:::-;1507:7026:77;;;;;2999:73:81;1507:7026:77;2999:73:81;;1507:7026:77;;;;;;;;;;;:::i;2999:73:81:-;1507:7026:77;;;;;;;;;;;2980:93:81;;1507:7026:77;2980:93:81;;;1507:7026:77;;;;;;:::i;:::-;2980:93:81;;-1:-1:-1;;;;;1507:7026:77;2980:93:81;;;;;;;2282:1;2980:93;;;1507:7026:77;;;;3091:31:81;;1507:7026:77;;;;;;;;;3091:31:81;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;3091:31:81;1507:7026:77;3091:31:81;;;1507:7026:77;;;;:::i;:::-;3084:38:81;;1958:1171::o;2980:93::-;;;;;;2282:1;2980:93;;;;;;:::i;:::-;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:196:81;2856:39;;;;;5107:8;;5147:27;;;;:::i;:::-;1507:7026:77;;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;2282:1:81;1507:7026:77;5261:39:81;1507:7026:77;;;;;5261:44:81;5257:108;;2710:196;9192:46:82;357:173:37;;;9192:46:82;;:::i;:::-;1507:7026:77;;;;5538:52:81;1507:7026:77;;;;5538:52:81;;:::i;:::-;1507:7026:77;;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;5402:323:81;;;1507:7026:77;;;;;;;;5402:323:81;;;1507:7026:77;;;5402:323:81;;;1507:7026:77;;5402:323:81;;;1507:7026:77;357:173:37;5402:323:81;;;1507:7026:77;5747:37:81;1507:7026:77;10389:138:81;;5761:15;1507:7026:77;5747:37:81;:::i;:::-;5800:9;2282:1;5800:9;1507:7026:77;10389:138:81;;5815:15;1507:7026:77;;;5811:26:81;;;;;1507:7026:77;5935:15:81;;6406:190;;;;;;;;;;;;;;357:173:37;5402:323:81;;;1507:7026:77;;;;;6691:15:81;;1507:7026:77;;;6643:64:81;7635:205;;;;7666:21;1507:7026:77;;;;;;;;;;;;;7635:205:81;;5402:323;;357:173:37;5402:323:81;1507:7026:77;;;;;6789:39:81;;;;;1507:7026:77;;;;;;6859:83:81;;5611:16;6859:83;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;6859:15:81;:83;:15;;:83;;;;;;;2282:1;6859:83;;;6789:39;-1:-1:-1;;;;;;1507:7026:77;;6960:14:81;1507:7026:77;;7054:15:81;;;1507:7026:77;;;5402:323:81;;;1507:7026:77;5402:323:81;;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;2282:1:81;1507:7026:77;;;7105:17:81;1507:7026:77;;;;;;;9099:323:81;;1507:7026:77;357:173:37;;1507:7026:77;;;;;;7103:30:81;;;:::i;:::-;1507:7026:77;;;8009:323:81;;;;;1507:7026:77;8009:323:81;;;;;;;;1507:7026:77;;8009:323:81;;;1507:7026:77;8009:323:81;;;;1507:7026:77;;;;;;;:::i;:::-;;;;;;;;7176:223:81;;1507:7026:77;;;;7176:223:81;;;1507:7026:77;;;;;;;;;;7176:223:81;;1507:7026:77;;;;;;;;7176:223:81;;1507:7026:77;7176:223:81;357:173:37;7176:223:81;;1507:7026:77;357:173:37;5402:323:81;;;1507:7026:77;;;8615:56:81;2282:1;1507:7026:77;;;;;;;:::i;:::-;;;;;;;;;9164:232:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;9164:232:81;;;1507:7026:77;;;9164:232:81;;1507:7026:77;;;;;-1:-1:-1;;;9099:323:81;;1507:7026:77;;;;;;;5611:16:81;9099:323;;;:::i;:::-;;1507:7026:77;2282:1:81;-1:-1:-1;;;;;1507:7026:77;;9099:323:81;;;;;;;2282:1;9099:323;;;6789:39;2052:83:34;;1507:7026:77;2052:83:34;2241:89;;;9518:207:81;;;;;9564:52;2282:1;1507:7026:77;2241:89:34;1507:7026:77;9564:11:81;:52;2282:1;;;9601:8;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9564:52:81;9518:207;;-1:-1:-1;;;;;1507:7026:77;;9743:17:81;1507:7026:77;;;7176:223:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;;;9817:35:81;-1:-1:-1;9813:112:81;;9518:207;-1:-1:-1;9986:10:81;;1507:7026:77;;9986:10:81;;1507:7026:77;2114:78:83;;-1:-1:-1;;;;;1507:7026:77;2614:4:81;2114:78:83;;:::i;:::-;2282:13;1507:7026:77;2282:13:83;;1507:7026:77;2218:78:83;1507:7026:77;;;;;;;;2614:4:81;;2218:78:83;;:::i;:::-;2325:40;;;;;2282:1:81;2325:40:83;;2393;;;2614:4:81;;2393:40:83;;2282:1:81;5579:6:83;;:31;;;2393:40;5575:115;;2393:40;5703:6;;2282:1:81;5703:6:83;;5699:365;;2393:40;6078:6;;2282:1:81;6078:6:83;;:31;;;2393:40;6074:115;;2393:40;6202:6;2282:1:81;6202:6:83;;6198:365;;2393:40;-1:-1:-1;1507:7026:77;;;;;;;;357:173:37;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;8682:132:81;;2393:40:83;7176:223:81;;;;1507:7026:77;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;2282:1:81;1507:7026:77;2408:38:80;5261:14:81;2368:15:80;;1507:7026:77;;;;;;;;;;;;871:1:84;;;;;;;1507:7026:77;;;;;;;7176:223:81;;1507:7026:77;;2408:38:80;;:::i;:::-;1507:7026:77;7176:223:81;;1507:7026:77;5611:16:81;2456:15:80;;1507:7026:77;;;-1:-1:-1;;;;;7176:223:81;;;1507:7026:77;;;;-1:-1:-1;;;1507:7026:77;;5402:323:81;;;1507:7026:77;;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;5402:323:81;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2755:15:80;;1507:7026:77;2735:17:80;;;;1507:7026:77;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;2282:1:81;1507:7026:77;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;2282:1:81;1507:7026:77;;;;2282:1:81;1507:7026:77;;;;2282:1:81;1507:7026:77;;;;2282:1:81;1507:7026:77;;3143:17:80;;1507:7026:77;3143:33:80;;1507:7026:77;;;;;3143:33:80;:::i;:::-;3233:15;;1507:7026:77;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;2282:1:81;1507:7026:77;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;2282:1:81;1507:7026:77;;;;2282:1:81;1507:7026:77;;;3272:14:80;;:26;1507:7026:77;;;;;;;;;;;864:15:79;860:218;;2393:40:83;7176:223:81;;;;;1507:7026:77;1107:6:84;;;;1507:7026:77;;;;1128:18:84;;;1124:235;1128:18;;;1507:7026:77;1124:235:84;2282:1:81;3594:343:84;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;3594:343:84;;;;;;;;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;871:1:84;;;;;;;;;;;;7176:223:81;;;;1507:7026:77;5402:323:81;;;;;1507:7026:77;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;5402:323:81;;;1507:7026:77;;;;;;;;;;;;;3818:143:80;;1507:7026:77;;3679:55:80;;1507:7026:77;;;3679:55:80;:::i;:::-;1507:7026:77;;;;;;;5402:323:81;;;1507:7026:77;;;;;;;;2282:1:81;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;2282:1:81;1507:7026:77;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;2282:1:81;1507:7026:77;;;;;2282:1:81;1507:7026:77;;;;;;;;5402:323:81;;;1507:7026:77;;;;;;;;5402:323:81;;;;1507:7026:77;;3877:15:80;;;1507:7026:77;5402:323:81;357:173:37;5402:323:81;;;1507:7026:77;;;5402:323:81;1507:7026:77;5402:323:81;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;357:173:37;1507:7026:77;;;3818:143:80;1507:7026:77;;;;;;5402:323:81;;;1507:7026:77;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;3976:77:80;5855:99:81;;;;:::i;:::-;1507:7026:77;;5800:9:81;;;;1124:235:84;3594:343;;;2282:1:81;3594:343:84;-1:-1:-1;;;;;;;;;;;1507:7026:77;3594:343:84;;;2282:1:81;3594:343:84;;1124:235;;860:218:79;846:396:31;1507:7026:77;846:396:31;;2282:1:81;846:396:31;;;;;;;1039:11:79;1676:170:31;1507:7026:77;1676:170:31;;;1507:7026:77;;2282:1:81;1507:7026:77;;;;1676:170:31;1507:7026:77;2282:1:81;1507:7026:77;1676:170:31;;1507:7026:77;;;1039:28:79;1507:7026:77;;860:218:79;;;;8682:132:81;8794:8;8750:14;;;5402:323;;;;1507:7026:77;;;;;;;;;5402:323:81;;;1507:7026:77;;8794:8:81;;:::i;:::-;8682:132;;;6198:365:83;6257:3;;;;;;;;;:::i;:::-;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;6276:31:83;;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;6276:31:83;;5611:16:81;6276:31:83;;1507:7026:77;;;;;;;6276:31:83;;;;;;;;6198:365;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;4998:58:36;6325:29:83;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;6374:35:83;;1507:7026:77;;;;;;5611:16:81;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;6374:35:83;;;;;;;1507:7026:77;6374:35:83;1507:7026:77;6374:35:83;357:173:37;6374:35:83;;;6321:232;;;6198:365;;;;;;;;;6374:35;;;1507:7026:77;6374:35:83;;;;;;;;;:::i;:::-;;;;;6321:232;6493:6;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;6493:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;6518:20:83;;1507:7026:77;;;5611:16:81;1507:7026:77;2282:1:81;-1:-1:-1;;;;;1507:7026:77;;6518:20:83;;;;;;;1507:7026:77;6518:20:83;1507:7026:77;6518:20:83;357:173:37;6518:20:83;;;6321:232;;;;6518:20;;;1507:7026:77;6518:20:83;;;;;;;;;:::i;:::-;;;;;6276:31;2282:1:81;6276:31:83;;;:::i;:::-;;;;6074:115;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;;6125:53:83;;;;1507:7026:77;;6125:53:83;1507:7026:77;2282:1:81;1507:7026:77;;;;;;;;;;;;;;6125:53:83;;5611:16:81;6125:53:83;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;6125:53:83;;;;;;;6074:115;6125:53;2282:1:81;6125:53:83;;;:::i;:::-;;6074:115;;6078:31;-1:-1:-1;;;;;;1507:7026:77;;6088:21:83;;6078:31;;5699:365;5758:3;;;:::i;:::-;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;5777:31:83;;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;5777:31:83;;5611:16:81;5777:31:83;;1507:7026:77;;;;;;;5777:31:83;;;;;;;;5699:365;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;4998:58:36;5826:29:83;;1507:7026:77;;;5611:16:81;1507:7026:77;;;;;;;;;5875:35:83;;1507:7026:77;;;;;;5875:35:83;;;;;;;;5822:232;;;5699:365;;;;5875:35;;;1507:7026:77;5875:35:83;;;;;;;;;:::i;:::-;;;;;5822:232;5994:6;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;5994:6:83;:::i;:::-;2282:1:81;1507:7026:77;;5611:16:81;1507:7026:77;;;;;;;;;6019:20:83;;1507:7026:77;;;;;;6019:20:83;;;;;;;;5822:232;;;;6019:20;;;1507:7026:77;6019:20:83;;;;;;;;;:::i;:::-;;;;;5777:31;2282:1:81;5777:31:83;;;:::i;:::-;;;;5575:115;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;5626:53:83;;;;1507:7026:77;;2282:1:81;1507:7026:77;;5626:53:83;1507:7026:77;;;;;;;;;;;;;5626:53:83;;5611:16:81;5626:53:83;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;5626:53:83;;;;;;;;5575:115;;;;;5626:53;2282:1:81;5626:53:83;;;:::i;:::-;;;;5579:31;-1:-1:-1;;;;;;1507:7026:77;;5589:21:83;;5579:31;;2393:40;;2282:1:81;2393:40:83;;;2325;2614:4:81;2325:40:83;;;9813:112:81;9879:35;;;;;;;:::i;:::-;9813:112;;;;9564:52;;2282:1;9564:52;;9518:207;9662:52;-1:-1:-1;2282:1:81;9662:11;;2282:1;;;9699:8;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9662:52:81;9518:207;;;9662:52;;2282:1;9662:52;;9099:323;;;;1507:7026:77;9099:323:81;;;;;;;;;:::i;:::-;;;;;6859:83;;;;1507:7026:77;6859:83:81;;;;;;;;;1507:7026:77;6859:83:81;;;:::i;:::-;;;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;6859:83:81;;;;;;;-1:-1:-1;6859:83:81;;6789:39;;;;;7635:205;7775:19;;;;:::i;:::-;7808:21;7635:205;;;5811:26;;;;;;;;2849:46;;:::o;5257:108::-;2282:1;1507:7026:77;;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:7026:77;-1:-1:-1;;;1507:7026:77;;;;;;;;;;;-1:-1:-1;;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5257:108:81;;1507:7026:77;;;;2282:1:81;1507:7026:77;;2282:1:81;1507:7026:77;4329:526:81;4476:9;1507:7026:77;;;;-1:-1:-1;;;4573:28:81;;2614:4;4573:28;;;1507:7026:77;;;;4573:28:81;1507:7026:77;4573:28:81;;;;;;;;2282:1;4573:28;;;4329:526;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;4624:45:81;;2594:10;4573:28;4624:45;;1507:7026:77;2614:4:81;4573:28;1507:7026:77;;;;;;;;;;;4624:45:81;1507:7026:77;-1:-1:-1;4624:45:81;;;;;;;;2282:1;4624:45;;;4329:526;1507:7026:77;;;;;4573:28:81;1507:7026:77;;;;;;;;;;4741:28:81;;2614:4;4573:28;4741;;1507:7026:77;4741:28:81;;;;;;;2282:1;4741:28;;;4329:526;4773:21;;;;;:::i;:::-;4741:53;4329:526;1507:7026:77;;;;;2282:1:81;1507:7026:77;4573:28:81;2282:1;1507:7026:77;4741:28:81;;;1507:7026:77;4741:28:81;;1507:7026:77;4741:28:81;;;;;;417:66:26;4741:28:81;;;:::i;:::-;;;417:66:26;;;;4773:21:81;417:66:26;;4741:28:81;;;;;;-1:-1:-1;4741:28:81;;4624:45;;;1507:7026:77;4624:45:81;;1507:7026:77;4624:45:81;;;;;;1507:7026:77;4624:45:81;;;:::i;:::-;;;1507:7026:77;;;;;;;:::i;:::-;4624:45:81;;;;;;-1:-1:-1;4624:45:81;;4573:28;;;;1507:7026:77;4573:28:81;;1507:7026:77;4573:28:81;;;;;;417:66:26;4573:28:81;;;:::i;:::-;;;417:66:26;;;;;4573:28:81;;;;;;;-1:-1:-1;4573:28:81;;3891:9;3945:13;;;;;;:::i;:::-;1507:7026:77;3980:9:81;;;1507:7026:77;;;4041:13:81;;;;:::i;:::-;1507:7026:77;;3891:9:81;;;1507:7026:77;;;;2282:1:81;1507:7026:77;;2282:1:81;1507:7026:77;;;;;2282:1:81;1507:7026:77;;2282:1:81;1507:7026:77;;;;;2282:1:81;1507:7026:77;;2282:1:81;1507:7026:77","linkReferences":{"src/libs/LimitOrderViews.sol":{"LimitOrderViews":[{"start":4261,"length":20},{"start":7486,"length":20},{"start":19857,"length":20}]}},"immutableReferences":{"10692":[{"start":28,"length":32},{"start":907,"length":32},{"start":1075,"length":32},{"start":1545,"length":32},{"start":4008,"length":32},{"start":4882,"length":32},{"start":5801,"length":32},{"start":6067,"length":32},{"start":6447,"length":32},{"start":6577,"length":32},{"start":7177,"length":32},{"start":7802,"length":32},{"start":7976,"length":32},{"start":8036,"length":32},{"start":9117,"length":32},{"start":9184,"length":32},{"start":9284,"length":32},{"start":9408,"length":32},{"start":9477,"length":32},{"start":9608,"length":32},{"start":9686,"length":32},{"start":9798,"length":32},{"start":9865,"length":32},{"start":9962,"length":32},{"start":10060,"length":32},{"start":10128,"length":32},{"start":10249,"length":32},{"start":10327,"length":32},{"start":11119,"length":32},{"start":12074,"length":32}],"10695":[{"start":2932,"length":32},{"start":11156,"length":32}],"10698":[{"start":1962,"length":32},{"start":4546,"length":32}],"10700":[{"start":2997,"length":32},{"start":6398,"length":32},{"start":6528,"length":32},{"start":11196,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","balanceOf(address,address)":"f7888aec","create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":"eb07ed24","fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":"7a9cf273","fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":"5f8fbad6","getMaxFillCount()":"d8c31772","isPermittedCaller(address)":"7fcc389f","owner()":"8da5cb5b","pendingOwner()":"e30c3978","poolManager()":"dc4c90d3","renounceOwnership()":"715018a6","setMaxFillCount(uint256)":"c96d060b","setPermittedCallers(address[],bool[])":"aa24fafc","transferOwnership(address)":"f2fde38b","unlockCallback(bytes)":"91dd7346","weth()":"3fc8cef3","withdraw(bytes32[],address,uint256,address)":"c2ec68ea","zoraCoinVersionLookup()":"5ef3e955","zoraHookRegistry()":"a6de70b4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zoraCoinVersionLookup_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"zoraHookRegistry_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"weth_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArrayLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CallerNotPermitted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"expectedCoin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualCoin\",\"type\":\"address\"}],\"name\":\"CoinMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientForwardedFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientTransferFunds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"startTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"endTick\",\"type\":\"int24\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"}],\"name\":\"InvalidFillWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPoolKey\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxFillCountCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"}],\"name\":\"MinAmountNotReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NativeValueMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPoolManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyZoraHook\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderClosed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderFillable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OrderNotMaker\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PathMustHaveAtLeastOneStep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermittedCallersLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RouterMsgSenderInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnknownCallback\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnlockedFillNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WethTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroMaker\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroOrderSize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroRealizedOrder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"orderTick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"currentTick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"orderSize\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"}],\"name\":\"LimitOrderCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coinIn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coinOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountIn\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amountOut\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"fillReferralAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"}],\"name\":\"LimitOrderFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"poolKeyHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"orderSize\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"orderId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isCancelled\",\"type\":\"bool\"}],\"name\":\"LimitOrderUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"MakerBalanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"permitted\",\"type\":\"bool\"}],\"name\":\"PermittedCallerUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"uint256[]\",\"name\":\"orderSizes\",\"type\":\"uint256[]\"},{\"internalType\":\"int24[]\",\"name\":\"orderTicks\",\"type\":\"int24[]\"},{\"internalType\":\"address\",\"name\":\"maker\",\"type\":\"address\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"int24\",\"name\":\"startTick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"endTick\",\"type\":\"int24\"},{\"internalType\":\"uint256\",\"name\":\"maxFillCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"}],\"name\":\"fill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"isCurrency0\",\"type\":\"bool\"},{\"internalType\":\"bytes32[]\",\"name\":\"orderIds\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IZoraLimitOrderBook.OrderBatch[]\",\"name\":\"batches\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"fillReferral\",\"type\":\"address\"}],\"name\":\"fill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxFillCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"isPermittedCaller\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolManager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxFillCount\",\"type\":\"uint256\"}],\"name\":\"setMaxFillCount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"callers\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"permitted\",\"type\":\"bool[]\"}],\"name\":\"setPermittedCallers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"unlockCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weth\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"orderIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"address\",\"name\":\"coin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zoraCoinVersionLookup\",\"outputs\":[{\"internalType\":\"contract IDeployedCoinVersionLookup\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zoraHookRegistry\",\"outputs\":[{\"internalType\":\"contract IZoraHookRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"balanceOf(address,address)\":{\"params\":{\"coin\":\"Address of the coin (use address(0) for native ETH).\",\"maker\":\"Address of the maker.\"},\"returns\":{\"_0\":\"Total value of open orders.\"}},\"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)\":{\"details\":\"Access is controlled by the PermittedCallers base contract. If PUBLIC_ACCESS (address(0)) is permitted, anyone can create orders. Otherwise, only addresses in the permittedCallers mapping can create orders.\",\"params\":{\"isCurrency0\":\"Whether the orders are denominated in currency0.\",\"key\":\"Pool key specifying currency pair and tick spacing.\",\"maker\":\"Address of the maker who will own the orders.\",\"orderSizes\":\"Order liquidity sizes.\",\"orderTicks\":\"Corresponding ticks.\"},\"returns\":{\"_0\":\"Deterministic order identifiers.\"}},\"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)\":{\"params\":{\"batches\":\"Array of per-pool batches containing order ids to process.\",\"fillReferral\":\"Address to receive accrued LP fees; use address(0) to give fees to maker.\"}},\"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)\":{\"params\":{\"endTick\":\"Inclusive ending tick. Use `type(int24).max` for the default upper bound.\",\"fillReferral\":\"Address to receive accrued LP fees; use address(0) to give fees to maker.\",\"isCurrency0\":\"Whether currency0 orders are targeted; otherwise currency1.\",\"key\":\"Pool key whose orders should be processed.\",\"maxFillCount\":\"Maximum orders to fill in this pass.\",\"startTick\":\"Inclusive starting tick. Use `-type(int24).max` for the default lower bound.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setMaxFillCount(uint256)\":{\"details\":\"Only callable by the owner.\",\"params\":{\"maxFillCount\":\"The new maximum fill count value.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner. Setting `newOwner` to the zero address is allowed; this can be used to cancel an initiated ownership transfer.\"},\"unlockCallback(bytes)\":{\"params\":{\"data\":\"ABI encoded callback identifier and callback data.\"},\"returns\":{\"_0\":\"result Optional return data for create flows.\"}},\"withdraw(bytes32[],address,uint256,address)\":{\"details\":\"Orders are cancelled sequentially until minAmountOut is reached. If minAmountOut is 0, all provided orders are cancelled. Reverts if total withdrawn is less than minAmountOut.\",\"params\":{\"coin\":\"The coin address that all orders must match (use address(0) for native ETH).\",\"minAmountOut\":\"Minimum amount to withdraw (0 = cancel all provided orders).\",\"orderIds\":\"Order identifiers to cancel.\",\"recipient\":\"Destination for returned assets.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AddressZero()\":[{\"notice\":\"Address argument was zero.\"}],\"ArrayLengthMismatch()\":[{\"notice\":\"Input arrays must have equal length.\"}],\"CoinMismatch(bytes32,address,address)\":[{\"notice\":\"Order coin does not match expected coin for batch withdrawal.\"}],\"InsufficientForwardedFunds()\":[{\"notice\":\"Forwarded funds from hook were insufficient.\"}],\"InsufficientTransferFunds()\":[{\"notice\":\"Transfer in of funds failed or was insufficient.\"}],\"InvalidFillWindow(int24,int24,bool)\":[{\"notice\":\"Tick range inputs were invalid or misaligned.\"}],\"InvalidOrder()\":[{\"notice\":\"Order id was not found.\"}],\"InvalidPoolKey()\":[{\"notice\":\"Referenced pool key hash is unknown.\"}],\"MaxFillCountCannotBeZero()\":[{\"notice\":\"Fill requests must cap the number of orders processed.\"}],\"MinAmountNotReached(uint256,uint256)\":[{\"notice\":\"Withdrawal did not reach minimum amount threshold.\"}],\"NativeValueMismatch()\":[{\"notice\":\"Supplied ETH must match expected amount.\"}],\"NotPoolManager()\":[{\"notice\":\"Caller must be the configured pool manager.\"}],\"OnlyZoraHook()\":[{\"notice\":\"Caller must be a registered Zora hook.\"}],\"OrderClosed()\":[{\"notice\":\"Order is no longer open.\"}],\"OrderFillable()\":[{\"notice\":\"Order is fillable and must be filled, not withdrawn.\"}],\"OrderNotMaker()\":[{\"notice\":\"Operation attempted by non-maker.\"}],\"PathMustHaveAtLeastOneStep()\":[{\"notice\":\"Thrown when a attempting to swap with a path that has no steps.\"}],\"RouterMsgSenderInvalid()\":[{\"notice\":\"Router caller failed to expose the original message sender.\"}],\"UnknownCallback()\":[{\"notice\":\"Unlock callback id was not recognized.\"}],\"UnlockedFillNotAllowed()\":[{\"notice\":\"Non-hook caller attempted to fill orders while pool is unlocked.\"}],\"ZeroMaker()\":[{\"notice\":\"Maker address cannot be zero.\"}],\"ZeroOrderSize()\":[{\"notice\":\"Orders must specify a non-zero size.\"}],\"ZeroRealizedOrder()\":[{\"notice\":\"Callback realized zero fills when one was expected.\"}]},\"events\":{\"LimitOrderCreated(address,address,bytes32,bool,int24,int24,uint128,bytes32)\":{\"notice\":\"Emitted when a new order joins a tick queue.\"},\"LimitOrderFilled(address,address,address,uint128,uint128,address,uint128,bytes32,int24,bytes32)\":{\"notice\":\"Emitted when an order is filled and removed from the book.\"},\"LimitOrderUpdated(address,address,bytes32,bool,int24,uint128,bytes32,bool)\":{\"notice\":\"Emitted when an order is amended or marked inactive.\"},\"MakerBalanceUpdated(address,address,uint256)\":{\"notice\":\"Emitted when a maker's aggregate balance for a coin changes.\"}},\"kind\":\"user\",\"methods\":{\"balanceOf(address,address)\":{\"notice\":\"Returns the aggregate balance of open orders for a maker/coin pair.\"},\"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)\":{\"notice\":\"Creates limit orders, pulling funds from msg.sender when pool manager is locked, or using funds already in manager when unlocked.\"},\"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)\":{\"notice\":\"Fills explicit order ids grouped by pool.\"},\"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)\":{\"notice\":\"Fills limit orders within a tick window.\"},\"setMaxFillCount(uint256)\":{\"notice\":\"Sets the maximum number of orders that can be filled in a single fill operation.\"},\"unlockCallback(bytes)\":{\"notice\":\"Processes pool-manager unlock callbacks and routes them to the correct handler.\"},\"withdraw(bytes32[],address,uint256,address)\":{\"notice\":\"Cancels orders and withdraws resulting funds to a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ZoraLimitOrderBook.sol\":\"ZoraLimitOrderBook\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/\",\":@uniswap/v4-core/=node_modules/@uniswap/v4-core/\",\":@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/\",\":@zoralabs/coins/=node_modules/@zoralabs/coins/\",\":@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":permit2/src/=node_modules/@uniswap/permit2/src/\",\":solady/=node_modules/solady/src/\",\":solmate/=node_modules/solmate/src/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/access/Ownable2Step.sol\":{\"keccak256\":\"0xdcad8898fda432696597752e8ec361b87d85c82cb258115427af006dacf7128c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2c9d517f0c136d54bd00cd57959d25681d4d6273f5bbbc263afe228303772f0\",\"dweb:/ipfs/QmReNFjXBiufByiAAzfSQ2SM5r3qeUErn46BmN3yVRvrek\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"node_modules/@uniswap/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"node_modules/@uniswap/v4-core/src/libraries/CurrencyReserves.sol\":{\"keccak256\":\"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725\",\"dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX\"]},\"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"node_modules/@uniswap/v4-core/src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb\",\"dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy\"]},\"node_modules/@uniswap/v4-core/src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"node_modules/@uniswap/v4-core/src/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99\",\"dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD\"]},\"node_modules/@uniswap/v4-core/src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"node_modules/@uniswap/v4-core/src/libraries/NonzeroDeltaCount.sol\":{\"keccak256\":\"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59\",\"dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm\"]},\"node_modules/@uniswap/v4-core/src/libraries/Position.sol\":{\"keccak256\":\"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2\",\"dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5\"]},\"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"node_modules/@uniswap/v4-core/src/libraries/StateLibrary.sol\":{\"keccak256\":\"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0\",\"dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY\"]},\"node_modules/@uniswap/v4-core/src/libraries/TickBitmap.sol\":{\"keccak256\":\"0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d\",\"dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy\"]},\"node_modules/@uniswap/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"node_modules/@uniswap/v4-core/src/libraries/TransientStateLibrary.sol\":{\"keccak256\":\"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5\",\"dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV\"]},\"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"node_modules/@uniswap/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"node_modules/@uniswap/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"node_modules/@uniswap/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol\":{\"keccak256\":\"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89\",\"dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg\"]},\"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol\":{\"keccak256\":\"0xff3bcd3254ea7e582b75eebbff7436f20a2d485d9999974e02e98cc94217790c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://898dd5381336d821fff4a637be1bb667b6f24006ebe8f2df56a530f3fbe01fc3\",\"dweb:/ipfs/QmayrLdYhSPvjDzDA7Mss1i1SjJ5uorndpDZkVn1LQ2YSU\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol\":{\"keccak256\":\"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa\",\"dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK\"]},\"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol\":{\"keccak256\":\"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e\",\"dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs\"]},\"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol\":{\"keccak256\":\"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d\",\"dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u\"]},\"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol\":{\"keccak256\":\"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5\",\"dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR\"]},\"node_modules/@zoralabs/coins/src/interfaces/ISwapPathRouter.sol\":{\"keccak256\":\"0xeebfdea1a86042bd63677468b3612fae436640f9d6349b256492bb07e11579ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://836f51152dea368c8b26fccca6996bf209a3b856bd48083ddf28054695ad35df\",\"dweb:/ipfs/QmRQqekV2mAXhkWKiaYqEJNiobDnaqsTNzmpRQZ8sRjERk\"]},\"node_modules/@zoralabs/coins/src/interfaces/IUpgradeableV4Hook.sol\":{\"keccak256\":\"0x5a36e59307830bcddcb8ef0e19dd762625cf9c60b963b62e02b6563e053ba6d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161542fe80b54ebb967878953ecb94f65d36522d320c80f1b946ff5988ffcd9f\",\"dweb:/ipfs/QmZRoC2EiCsYwGAYxJBDpBYYnxjGumYfdMhTFPE89bHPVg\"]},\"node_modules/@zoralabs/coins/src/interfaces/IWETH.sol\":{\"keccak256\":\"0xf6e2763ec71771fa2afd5585416ebe4476a7d602d11976289b6704f8fc8ddf04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cdf97ae29836cabe610c9f1bfec07cf43a531a151cd0ae4d0a048d65ce8a7ba\",\"dweb:/ipfs/QmWc19xLLwdfk1MjtChoEFGEzRpvPFX23RKwJtURAwKeqo\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraHookRegistry.sol\":{\"keccak256\":\"0xa18bdb2bd39e678349266ffc3d7317463e1c123468ae1ddadf92adbfdd6cd2de\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://d4cc3af34f7e247a4270dd560c42c10fb32e95ddabca80fab849a74d1ec89df1\",\"dweb:/ipfs/Qme4dLBrAYQc9jHRyb52bH2S3xxKK45s7TiQf8YJNcy52M\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol\":{\"keccak256\":\"0xcf41c76b6dcf12b79c26ba93040c0ec6b68614c00597203c9330f4b769dcd389\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://f2c1b3b86b7f67c3de52e7886697fc02de9837ba724cbfde34031ecf832faf7a\",\"dweb:/ipfs/QmXStRKqsn9KC5WXQvTz57Qxqcr1WrB2Lrs1b28bZmL4Sy\"]},\"node_modules/@zoralabs/coins/src/interfaces/IZoraV4CoinHook.sol\":{\"keccak256\":\"0x66b599b02c7b42b08c39d495350942053f0dcd845f3a931cf5d0e80db4262e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://028eab54390c4f05437e1e1bf8afc3cad71f1ea307d7b51b31d005b5381375f7\",\"dweb:/ipfs/QmQxRjsFrbH86P1sEuueAJQGSTi1UECKQEvVWbZkJbwHgM\"]},\"node_modules/@zoralabs/coins/src/libs/CoinCommon.sol\":{\"keccak256\":\"0x29819e0c132622098240e65e4b23ac22be043721b9e57180020b4efd24558d21\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://edffc9cbf8434fc046e4b72013b740f1985aaff0344bc7a9a03631bf3e09ddc6\",\"dweb:/ipfs/QmcsFJqL4gWNoKVPfHoPUyH6gH6KTb5b3zQnnMFDabSqn1\"]},\"node_modules/@zoralabs/coins/src/libs/CoinConfigurationVersions.sol\":{\"keccak256\":\"0x5fb77e3319d5b78357c1495a1c9956a71a430311fab5b828dad269c38d5068dd\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://43f88dfa477cec2ecb219a66d2dfa17b7a88b3d9ee5af95c6cca8ca42fcaf9e0\",\"dweb:/ipfs/QmdwZ8eeMFWUcFE6DoNV8pJY1j2ptPeY2Jfr4DoE8rcWP4\"]},\"node_modules/@zoralabs/coins/src/libs/CoinConstants.sol\":{\"keccak256\":\"0x0c17b040ed707c2353e4b238bf6bac90d22a71980ff1a091f763da281b7035bf\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://083bb0022dd69434858946ea15b55d08483913baf57b428d600ede1eb5a19f46\",\"dweb:/ipfs/QmXdNPvCm2Wv4R8Kbd7FYdnjjQCLWVGsr1DhCn5MrQj3Z7\"]},\"node_modules/@zoralabs/coins/src/libs/UniV4SwapToCurrency.sol\":{\"keccak256\":\"0xe692c69e9af5549c745565fc33bf2b40e52e9bf12360332ea04795a351a808ac\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a4ffb4d6279e84b739de7955b73239563b6cc02fe7e419da35e4db8e9362fda0\",\"dweb:/ipfs/QmWUedeoMpPVZyrGNan8bvbeDdNv5SYrfBKHoD2h8eZ8z2\"]},\"node_modules/@zoralabs/coins/src/types/LpPosition.sol\":{\"keccak256\":\"0x19dfc13b9f6a831ee7a624094c17a7c0b20bbc9ef62121dd98d85a8641d53aaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe77a4cb9ff9afbf7561ed647d15729b201259ef767d6c140a0b6e9254a97fe6\",\"dweb:/ipfs/QmaieKjUcT2SG2Spdg2sHzZso8zd5YTVsMRRoDzz6Kgn1t\"]},\"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol\":{\"keccak256\":\"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319\",\"dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/FixedPoint96.sol\":{\"keccak256\":\"0x711b83cbdbbfe19afc1df6f45f2f71abb1b75305ecb288e36a37cc286bc8de46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2957b0c179395705c49084b5b0c1033c0f47beeca043658a6c572226f5d07348\",\"dweb:/ipfs/QmZQD8s7u1Kjnydkw6n9FUyzVK9Loo6gYSZXic732Y7J76\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/FullMath.sol\":{\"keccak256\":\"0xc6b0d61b8d60acb295d196a72f81e577007e822f63c737ae0fa87d63e228f074\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643ddf8897f3d2610ce5ac45c0571e86cd2a97542c2599121fa39a06daa95509\",\"dweb:/ipfs/QmZ74RCf31apWy8UukKUrFi98kgSK6sRH68MFMGudPVpqx\"]},\"node_modules/@zoralabs/coins/src/utils/uniswap/LiquidityAmounts.sol\":{\"keccak256\":\"0x4811d0187e6ccf97d6323c597355967e481392cbdc65dea804f770dec91cece7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8d41f633f2a92b4caeb0430096851b62b0be1f68915603ff8c5b220c693e9755\",\"dweb:/ipfs/QmY9c5EwQVKi2Ak7xude2iUe7TGAdwmChUtwzwWcGb62PE\"]},\"src/IZoraLimitOrderBook.sol\":{\"keccak256\":\"0x82a8534201a434e47401690a3b3725d2ec835f2bd8e340a3088628ec1c2cff18\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://bcb05ff8ddb6b9a37fdab91436e40d29651c1250bb58f1684c51ca704dd5163b\",\"dweb:/ipfs/QmSSwpPRuTu1KoBAnS5pH7GBJp4RexAdUY5NHbTcdzH9Px\"]},\"src/ZoraLimitOrderBook.sol\":{\"keccak256\":\"0xe73023239abbc699b3ed29a2c971026b11573b02125868e3fbb48f8e7184aacd\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://b34ce00f5138646380b91a1e2dc3d9cf589a511be7e1c21640a95f3b860376f1\",\"dweb:/ipfs/QmcpHpDqVtzuQ1hnnCXDcW869Uwry4t14emC4JFRF3b8m8\"]},\"src/access/PermittedCallers.sol\":{\"keccak256\":\"0x4f2f6797999bdd3bfaf0c438537e82d2c48cde4ed98cd5562a161a8cf91c0ae3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e9aa1eca5a8d14e960ec5cf6e8d03b42e8d512a250bde1781a275a9c61a9d9f\",\"dweb:/ipfs/QmYC51e59iPykzGm7E2VadR7yH7HTbZTtVse9kigWaNfAm\"]},\"src/libs/LimitOrderBitmap.sol\":{\"keccak256\":\"0x4855d25ca566789fd3a89183f66a45710db7f7d45c308529888481a5670eb350\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://b9c0450c5b02f6328fc5dd68db7b6b325944adbdaeefd72f007ea56c11149a52\",\"dweb:/ipfs/QmNkhqMfeLFNpU6evVHVHpZh1crWytMCcAXMRxG2kgL77w\"]},\"src/libs/LimitOrderCommon.sol\":{\"keccak256\":\"0x14e92d96a2d5defb24ea100892fdf2d36b1c2101cd05d224f135cf24a926e448\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a3a8cc7d7e5e4548238182149380d54288a5c4c28b3936c40dbfd08362952a25\",\"dweb:/ipfs/QmWCydaf2465v8CgHybqjW4MpAnNqmFzBSejGFjyeGbnPm\"]},\"src/libs/LimitOrderCreate.sol\":{\"keccak256\":\"0xa016e977714d3334a7c7af22aa7d9f039b555dcde42dfd8cc45a9dccf3551c69\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://3001cbc0a91938aa8121da5ef063349ed6f58733d65a47ea53cb83fa7f042420\",\"dweb:/ipfs/QmV3P9hdEykuErEX2dT3yJNwsStQX7WKb2F58Ba5bP9FfZ\"]},\"src/libs/LimitOrderFill.sol\":{\"keccak256\":\"0x1ce3f9afdd319e0cf5c5a60f6d5605f5b35649da5c8c34a66f87d50448eee5da\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://c9f9d9fbc227c2756c4e6e6a5e381f00a07a16126de550e7cf4ab1bb4ce03338\",\"dweb:/ipfs/QmZiWuan7h44a8ZiA1jkdso3pzBsgVC3YjCfes5X2LiYkX\"]},\"src/libs/LimitOrderLiquidity.sol\":{\"keccak256\":\"0x8cc406e16b31c7d8a7bece5a96a027d343c3cb1416326bab22298e045560329b\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://606ea40457bb81c8cc7aad072666c2172ec2e189ab7a55cc72ebf0ed434e9d7e\",\"dweb:/ipfs/QmP6PgAP15EKH5iHTq9s6R5yMWVJ7Ny3fd3KgDp3ZuA9Xj\"]},\"src/libs/LimitOrderQueues.sol\":{\"keccak256\":\"0x395d7b34ac9ab6558e159089acdbeef4640df54e6431f3b7ca89ea9255634c24\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://5f5ee7211e5e9003f266279f8770fabec82e2bd4ef7870d1ecf1f125db48ddc4\",\"dweb:/ipfs/QmV7KHUvjACyvgCV8Bue59DHHr6CJTEqYuVhiPYG76E1Lt\"]},\"src/libs/LimitOrderStorage.sol\":{\"keccak256\":\"0x834d00e4c2bcb79807601b63b3e824adf46ef3d47e941cd318fa09e2fa940367\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://b1fc3a11e9e31c0072d9ba749c48d5f4a53092f89bdb6b70c8f7fcd2fdc6ee72\",\"dweb:/ipfs/QmRDyNEAzCZ7R4fuQoicwdB9U1Dt6rkN3LmfRGSxPfaYPu\"]},\"src/libs/LimitOrderTypes.sol\":{\"keccak256\":\"0xcf1cf64d8815dc1d3fe050ee9f3e2815894c98f17f6fc1a139596935bd590258\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://e7063f4743899eedfadf2fb32fd2b9c8fb617a0726ca0ed9e2a9a2c7d389479e\",\"dweb:/ipfs/QmTZFNfyx5V2YguGomHaqHumQfDiiAQaLJqRPXt9XqviE5\"]},\"src/libs/LimitOrderViews.sol\":{\"keccak256\":\"0xb1815330aae85a16c7e2e6db4d64701fee910be156934befcb6be6943e339240\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://977012c25b4cc858ab91657644a503a7f5882fd8b006ee21d7ceff3f5d225c2e\",\"dweb:/ipfs/QmU1Xcr1oAuxNe34dgoEKq9BT8UBxLZDaYJTjN4UHEhtZ7\"]},\"src/libs/LimitOrderWithdraw.sol\":{\"keccak256\":\"0x96f59d44bb0c71a6ffdb21e655a5f56eec8e8771f5f5a6a283d795d6ae94b29f\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://dc2f6025b6e3c09c0304f1577ebd596e03304d0e2d85a5fcd58b5f2b3ec2692a\",\"dweb:/ipfs/QmYJGyzq76QxGiBXymmNbUYSefrtAC7k6AupSVR2PuMuyb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"poolManager_","type":"address"},{"internalType":"address","name":"zoraCoinVersionLookup_","type":"address"},{"internalType":"address","name":"zoraHookRegistry_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"weth_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressZero"},{"inputs":[],"type":"error","name":"ArrayLengthMismatch"},{"inputs":[],"type":"error","name":"CallerNotPermitted"},{"inputs":[{"internalType":"bytes32","name":"orderId","type":"bytes32"},{"internalType":"address","name":"expectedCoin","type":"address"},{"internalType":"address","name":"actualCoin","type":"address"}],"type":"error","name":"CoinMismatch"},{"inputs":[],"type":"error","name":"InsufficientForwardedFunds"},{"inputs":[],"type":"error","name":"InsufficientTransferFunds"},{"inputs":[{"internalType":"int24","name":"startTick","type":"int24"},{"internalType":"int24","name":"endTick","type":"int24"},{"internalType":"bool","name":"isCurrency0","type":"bool"}],"type":"error","name":"InvalidFillWindow"},{"inputs":[],"type":"error","name":"InvalidOrder"},{"inputs":[],"type":"error","name":"InvalidPoolKey"},{"inputs":[],"type":"error","name":"MaxFillCountCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"withdrawn","type":"uint256"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"}],"type":"error","name":"MinAmountNotReached"},{"inputs":[],"type":"error","name":"NativeValueMismatch"},{"inputs":[],"type":"error","name":"NotPoolManager"},{"inputs":[],"type":"error","name":"OnlyZoraHook"},{"inputs":[],"type":"error","name":"OrderClosed"},{"inputs":[],"type":"error","name":"OrderFillable"},{"inputs":[],"type":"error","name":"OrderNotMaker"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"PathMustHaveAtLeastOneStep"},{"inputs":[],"type":"error","name":"PermittedCallersLengthMismatch"},{"inputs":[],"type":"error","name":"RouterMsgSenderInvalid"},{"inputs":[],"type":"error","name":"UnknownCallback"},{"inputs":[],"type":"error","name":"UnlockedFillNotAllowed"},{"inputs":[],"type":"error","name":"WethTransferFailed"},{"inputs":[],"type":"error","name":"ZeroMaker"},{"inputs":[],"type":"error","name":"ZeroOrderSize"},{"inputs":[],"type":"error","name":"ZeroRealizedOrder"},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCurrency0","type":"bool","indexed":false},{"internalType":"int24","name":"orderTick","type":"int24","indexed":false},{"internalType":"int24","name":"currentTick","type":"int24","indexed":false},{"internalType":"uint128","name":"orderSize","type":"uint128","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false}],"type":"event","name":"LimitOrderCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coinIn","type":"address","indexed":true},{"internalType":"address","name":"coinOut","type":"address","indexed":false},{"internalType":"uint128","name":"amountIn","type":"uint128","indexed":false},{"internalType":"uint128","name":"amountOut","type":"uint128","indexed":false},{"internalType":"address","name":"fillReferral","type":"address","indexed":false},{"internalType":"uint128","name":"fillReferralAmount","type":"uint128","indexed":false},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"int24","name":"tick","type":"int24","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false}],"type":"event","name":"LimitOrderFilled","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"bytes32","name":"poolKeyHash","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCurrency0","type":"bool","indexed":false},{"internalType":"int24","name":"tick","type":"int24","indexed":false},{"internalType":"uint128","name":"orderSize","type":"uint128","indexed":false},{"internalType":"bytes32","name":"orderId","type":"bytes32","indexed":false},{"internalType":"bool","name":"isCancelled","type":"bool","indexed":false}],"type":"event","name":"LimitOrderUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"maker","type":"address","indexed":true},{"internalType":"address","name":"coin","type":"address","indexed":true},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"MakerBalanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"bool","name":"permitted","type":"bool","indexed":false}],"type":"event","name":"PermittedCallerUpdated","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptOwnership"},{"inputs":[{"internalType":"address","name":"maker","type":"address"},{"internalType":"address","name":"coin","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"uint256[]","name":"orderSizes","type":"uint256[]"},{"internalType":"int24[]","name":"orderTicks","type":"int24[]"},{"internalType":"address","name":"maker","type":"address"}],"stateMutability":"payable","type":"function","name":"create","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"int24","name":"startTick","type":"int24"},{"internalType":"int24","name":"endTick","type":"int24"},{"internalType":"uint256","name":"maxFillCount","type":"uint256"},{"internalType":"address","name":"fillReferral","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"fill"},{"inputs":[{"internalType":"struct IZoraLimitOrderBook.OrderBatch[]","name":"batches","type":"tuple[]","components":[{"internalType":"struct PoolKey","name":"key","type":"tuple","components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}]},{"internalType":"bool","name":"isCurrency0","type":"bool"},{"internalType":"bytes32[]","name":"orderIds","type":"bytes32[]"}]},{"internalType":"address","name":"fillReferral","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"fill"},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxFillCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"stateMutability":"view","type":"function","name":"isPermittedCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"maxFillCount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxFillCount"},{"inputs":[{"internalType":"address[]","name":"callers","type":"address[]"},{"internalType":"bool[]","name":"permitted","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"setPermittedCallers"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32[]","name":"orderIds","type":"bytes32[]"},{"internalType":"address","name":"coin","type":"address"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"view","type":"function","name":"zoraCoinVersionLookup","outputs":[{"internalType":"contract IDeployedCoinVersionLookup","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zoraHookRegistry","outputs":[{"internalType":"contract IZoraHookRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"acceptOwnership()":{"details":"The new owner accepts the ownership transfer."},"balanceOf(address,address)":{"params":{"coin":"Address of the coin (use address(0) for native ETH).","maker":"Address of the maker."},"returns":{"_0":"Total value of open orders."}},"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":{"details":"Access is controlled by the PermittedCallers base contract. If PUBLIC_ACCESS (address(0)) is permitted, anyone can create orders. Otherwise, only addresses in the permittedCallers mapping can create orders.","params":{"isCurrency0":"Whether the orders are denominated in currency0.","key":"Pool key specifying currency pair and tick spacing.","maker":"Address of the maker who will own the orders.","orderSizes":"Order liquidity sizes.","orderTicks":"Corresponding ticks."},"returns":{"_0":"Deterministic order identifiers."}},"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":{"params":{"batches":"Array of per-pool batches containing order ids to process.","fillReferral":"Address to receive accrued LP fees; use address(0) to give fees to maker."}},"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":{"params":{"endTick":"Inclusive ending tick. Use `type(int24).max` for the default upper bound.","fillReferral":"Address to receive accrued LP fees; use address(0) to give fees to maker.","isCurrency0":"Whether currency0 orders are targeted; otherwise currency1.","key":"Pool key whose orders should be processed.","maxFillCount":"Maximum orders to fill in this pass.","startTick":"Inclusive starting tick. Use `-type(int24).max` for the default lower bound."}},"owner()":{"details":"Returns the address of the current owner."},"pendingOwner()":{"details":"Returns the address of the pending owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setMaxFillCount(uint256)":{"details":"Only callable by the owner.","params":{"maxFillCount":"The new maximum fill count value."}},"transferOwnership(address)":{"details":"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner. Setting `newOwner` to the zero address is allowed; this can be used to cancel an initiated ownership transfer."},"unlockCallback(bytes)":{"params":{"data":"ABI encoded callback identifier and callback data."},"returns":{"_0":"result Optional return data for create flows."}},"withdraw(bytes32[],address,uint256,address)":{"details":"Orders are cancelled sequentially until minAmountOut is reached. If minAmountOut is 0, all provided orders are cancelled. Reverts if total withdrawn is less than minAmountOut.","params":{"coin":"The coin address that all orders must match (use address(0) for native ETH).","minAmountOut":"Minimum amount to withdraw (0 = cancel all provided orders).","orderIds":"Order identifiers to cancel.","recipient":"Destination for returned assets."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,address)":{"notice":"Returns the aggregate balance of open orders for a maker/coin pair."},"create((address,address,uint24,int24,address),bool,uint256[],int24[],address)":{"notice":"Creates limit orders, pulling funds from msg.sender when pool manager is locked, or using funds already in manager when unlocked."},"fill(((address,address,uint24,int24,address),bool,bytes32[])[],address)":{"notice":"Fills explicit order ids grouped by pool."},"fill((address,address,uint24,int24,address),bool,int24,int24,uint256,address)":{"notice":"Fills limit orders within a tick window."},"setMaxFillCount(uint256)":{"notice":"Sets the maximum number of orders that can be filled in a single fill operation."},"unlockCallback(bytes)":{"notice":"Processes pool-manager unlock callbacks and routes them to the correct handler."},"withdraw(bytes32[],address,uint256,address)":{"notice":"Cancels orders and withdraws resulting funds to a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@uniswap/universal-router/contracts/=node_modules/@uniswap/universal-router/contracts/","@uniswap/v4-core/=node_modules/@uniswap/v4-core/","@uniswap/v4-periphery/=node_modules/@uniswap/v4-periphery/","@zoralabs/coins/=node_modules/@zoralabs/coins/","@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","permit2/src/=node_modules/@uniswap/permit2/src/","solady/=node_modules/solady/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/ZoraLimitOrderBook.sol":"ZoraLimitOrderBook"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable2Step.sol":{"keccak256":"0xdcad8898fda432696597752e8ec361b87d85c82cb258115427af006dacf7128c","urls":["bzz-raw://e2c9d517f0c136d54bd00cd57959d25681d4d6273f5bbbc263afe228303772f0","dweb:/ipfs/QmReNFjXBiufByiAAzfSQ2SM5r3qeUErn46BmN3yVRvrek"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d","urls":["bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec","dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e","urls":["bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4","dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/BitMath.sol":{"keccak256":"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d","urls":["bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e","dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/CurrencyReserves.sol":{"keccak256":"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3","urls":["bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725","dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/FixedPoint128.sol":{"keccak256":"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542","urls":["bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb","dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/FullMath.sol":{"keccak256":"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2","urls":["bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52","dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/LiquidityMath.sol":{"keccak256":"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353","urls":["bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99","dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/Lock.sol":{"keccak256":"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5","urls":["bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c","dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/NonzeroDeltaCount.sol":{"keccak256":"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87","urls":["bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59","dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/Position.sol":{"keccak256":"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9","urls":["bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2","dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5"],"license":"BUSL-1.1"},"node_modules/@uniswap/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/StateLibrary.sol":{"keccak256":"0x96db333ee126a841dd959e38e452cc59d73583cb0437a1d48b2052e33a74f952","urls":["bzz-raw://8672bba1eb69608299b0904f4ff305238eb18479d371c26518f278c9ee184cd0","dweb:/ipfs/QmTLu3s6ECvsEDHStQv8HTVHYtvkviBbdjPrFJd4SpVRFY"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TickBitmap.sol":{"keccak256":"0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a","urls":["bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d","dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TickMath.sol":{"keccak256":"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8","urls":["bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70","dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/libraries/TransientStateLibrary.sol":{"keccak256":"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a","urls":["bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5","dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"node_modules/@uniswap/v4-core/src/types/PoolOperation.sol":{"keccak256":"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162","urls":["bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07","dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c"],"license":"MIT"},"node_modules/@uniswap/v4-periphery/src/libraries/PathKey.sol":{"keccak256":"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc","urls":["bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89","dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ICoin.sol":{"keccak256":"0xff3bcd3254ea7e582b75eebbff7436f20a2d485d9999974e02e98cc94217790c","urls":["bzz-raw://898dd5381336d821fff4a637be1bb667b6f24006ebe8f2df56a530f3fbe01fc3","dweb:/ipfs/QmayrLdYhSPvjDzDA7Mss1i1SjJ5uorndpDZkVn1LQ2YSU"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDeployedCoinVersionLookup.sol":{"keccak256":"0x2d9efe898233cf17e24e266d8bd6d197b4dde07fae8b954f247b1c04262b96ba","urls":["bzz-raw://550fbe232af1052e113c1e664f4adf0c514501c38669d82bb4debd57e5842baa","dweb:/ipfs/QmRBzWwCvmWZEBh6uRHvdzZQCW7Q8pgGg8Sc9hD7p5UuLK"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IDopplerErrors.sol":{"keccak256":"0xf78efeb8a0d37914bae9be8c6ed70d54a1d48305b3f9e3f8b95d20f9685640ea","urls":["bzz-raw://1e51cc18a8367dc9363a958f179cf2e8af662cbe41474647aa78424be781120e","dweb:/ipfs/QmNrxrY2P7FMRY7tJtV2n5eiPDyM5pRhBpn9wgDfgwdDCs"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IERC7572.sol":{"keccak256":"0xf42b7816c4ed223c89d93d71e64c2fd2222b37d1280bfd067f57ff3301b0a937","urls":["bzz-raw://9bff9cab44e297b6f01a044b44d0acf68319789d47634708c384a9c32962db9d","dweb:/ipfs/QmTg4oAc7yoGJnk3cjMEYixboAjJLgL4ys3KNSsvvtX91u"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IHasRewardsRecipients.sol":{"keccak256":"0x88401512f4b4f197a0961b56e4f32f9660625dd238c7ed704bba8543a30087eb","urls":["bzz-raw://e6ca303775da2421a341f23f73a5641fc159d57b37f091f9adb7d7f1da7f81b5","dweb:/ipfs/QmPinYGLrFfZ5kZqRo7epqdybw5Bhc7Lzocw1nFvYpGqJR"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/ISwapPathRouter.sol":{"keccak256":"0xeebfdea1a86042bd63677468b3612fae436640f9d6349b256492bb07e11579ce","urls":["bzz-raw://836f51152dea368c8b26fccca6996bf209a3b856bd48083ddf28054695ad35df","dweb:/ipfs/QmRQqekV2mAXhkWKiaYqEJNiobDnaqsTNzmpRQZ8sRjERk"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IUpgradeableV4Hook.sol":{"keccak256":"0x5a36e59307830bcddcb8ef0e19dd762625cf9c60b963b62e02b6563e053ba6d7","urls":["bzz-raw://161542fe80b54ebb967878953ecb94f65d36522d320c80f1b946ff5988ffcd9f","dweb:/ipfs/QmZRoC2EiCsYwGAYxJBDpBYYnxjGumYfdMhTFPE89bHPVg"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IWETH.sol":{"keccak256":"0xf6e2763ec71771fa2afd5585416ebe4476a7d602d11976289b6704f8fc8ddf04","urls":["bzz-raw://3cdf97ae29836cabe610c9f1bfec07cf43a531a151cd0ae4d0a048d65ce8a7ba","dweb:/ipfs/QmWc19xLLwdfk1MjtChoEFGEzRpvPFX23RKwJtURAwKeqo"],"license":"MIT"},"node_modules/@zoralabs/coins/src/interfaces/IZoraHookRegistry.sol":{"keccak256":"0xa18bdb2bd39e678349266ffc3d7317463e1c123468ae1ddadf92adbfdd6cd2de","urls":["bzz-raw://d4cc3af34f7e247a4270dd560c42c10fb32e95ddabca80fab849a74d1ec89df1","dweb:/ipfs/Qme4dLBrAYQc9jHRyb52bH2S3xxKK45s7TiQf8YJNcy52M"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/interfaces/IZoraLimitOrderBookCoinsInterface.sol":{"keccak256":"0xcf41c76b6dcf12b79c26ba93040c0ec6b68614c00597203c9330f4b769dcd389","urls":["bzz-raw://f2c1b3b86b7f67c3de52e7886697fc02de9837ba724cbfde34031ecf832faf7a","dweb:/ipfs/QmXStRKqsn9KC5WXQvTz57Qxqcr1WrB2Lrs1b28bZmL4Sy"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/interfaces/IZoraV4CoinHook.sol":{"keccak256":"0x66b599b02c7b42b08c39d495350942053f0dcd845f3a931cf5d0e80db4262e37","urls":["bzz-raw://028eab54390c4f05437e1e1bf8afc3cad71f1ea307d7b51b31d005b5381375f7","dweb:/ipfs/QmQxRjsFrbH86P1sEuueAJQGSTi1UECKQEvVWbZkJbwHgM"],"license":"MIT"},"node_modules/@zoralabs/coins/src/libs/CoinCommon.sol":{"keccak256":"0x29819e0c132622098240e65e4b23ac22be043721b9e57180020b4efd24558d21","urls":["bzz-raw://edffc9cbf8434fc046e4b72013b740f1985aaff0344bc7a9a03631bf3e09ddc6","dweb:/ipfs/QmcsFJqL4gWNoKVPfHoPUyH6gH6KTb5b3zQnnMFDabSqn1"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/CoinConfigurationVersions.sol":{"keccak256":"0x5fb77e3319d5b78357c1495a1c9956a71a430311fab5b828dad269c38d5068dd","urls":["bzz-raw://43f88dfa477cec2ecb219a66d2dfa17b7a88b3d9ee5af95c6cca8ca42fcaf9e0","dweb:/ipfs/QmdwZ8eeMFWUcFE6DoNV8pJY1j2ptPeY2Jfr4DoE8rcWP4"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/CoinConstants.sol":{"keccak256":"0x0c17b040ed707c2353e4b238bf6bac90d22a71980ff1a091f763da281b7035bf","urls":["bzz-raw://083bb0022dd69434858946ea15b55d08483913baf57b428d600ede1eb5a19f46","dweb:/ipfs/QmXdNPvCm2Wv4R8Kbd7FYdnjjQCLWVGsr1DhCn5MrQj3Z7"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/libs/UniV4SwapToCurrency.sol":{"keccak256":"0xe692c69e9af5549c745565fc33bf2b40e52e9bf12360332ea04795a351a808ac","urls":["bzz-raw://a4ffb4d6279e84b739de7955b73239563b6cc02fe7e419da35e4db8e9362fda0","dweb:/ipfs/QmWUedeoMpPVZyrGNan8bvbeDdNv5SYrfBKHoD2h8eZ8z2"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/types/LpPosition.sol":{"keccak256":"0x19dfc13b9f6a831ee7a624094c17a7c0b20bbc9ef62121dd98d85a8641d53aaf","urls":["bzz-raw://fe77a4cb9ff9afbf7561ed647d15729b201259ef767d6c140a0b6e9254a97fe6","dweb:/ipfs/QmaieKjUcT2SG2Spdg2sHzZso8zd5YTVsMRRoDzz6Kgn1t"],"license":"MIT"},"node_modules/@zoralabs/coins/src/types/PoolConfiguration.sol":{"keccak256":"0xaecffdbd5d6f33d9d3450a155d0a2efcdd8e0636cc473328dd852afef6a76b22","urls":["bzz-raw://20d8ed8f4a4f1b7657004faada7367b923c35f8f194fd853d5af7a8440bd7319","dweb:/ipfs/QmUi9BT4rHdxUuycz3YBrowgpNdcKEoBfVDVYxsptQ8c8t"],"license":"ZORA-DELAYED-OSL-v1"},"node_modules/@zoralabs/coins/src/utils/uniswap/FixedPoint96.sol":{"keccak256":"0x711b83cbdbbfe19afc1df6f45f2f71abb1b75305ecb288e36a37cc286bc8de46","urls":["bzz-raw://2957b0c179395705c49084b5b0c1033c0f47beeca043658a6c572226f5d07348","dweb:/ipfs/QmZQD8s7u1Kjnydkw6n9FUyzVK9Loo6gYSZXic732Y7J76"],"license":"MIT"},"node_modules/@zoralabs/coins/src/utils/uniswap/FullMath.sol":{"keccak256":"0xc6b0d61b8d60acb295d196a72f81e577007e822f63c737ae0fa87d63e228f074","urls":["bzz-raw://643ddf8897f3d2610ce5ac45c0571e86cd2a97542c2599121fa39a06daa95509","dweb:/ipfs/QmZ74RCf31apWy8UukKUrFi98kgSK6sRH68MFMGudPVpqx"],"license":"MIT"},"node_modules/@zoralabs/coins/src/utils/uniswap/LiquidityAmounts.sol":{"keccak256":"0x4811d0187e6ccf97d6323c597355967e481392cbdc65dea804f770dec91cece7","urls":["bzz-raw://8d41f633f2a92b4caeb0430096851b62b0be1f68915603ff8c5b220c693e9755","dweb:/ipfs/QmY9c5EwQVKi2Ak7xude2iUe7TGAdwmChUtwzwWcGb62PE"],"license":"UNLICENSED"},"src/IZoraLimitOrderBook.sol":{"keccak256":"0x82a8534201a434e47401690a3b3725d2ec835f2bd8e340a3088628ec1c2cff18","urls":["bzz-raw://bcb05ff8ddb6b9a37fdab91436e40d29651c1250bb58f1684c51ca704dd5163b","dweb:/ipfs/QmSSwpPRuTu1KoBAnS5pH7GBJp4RexAdUY5NHbTcdzH9Px"],"license":"ZORA-DELAYED-OSL-v1"},"src/ZoraLimitOrderBook.sol":{"keccak256":"0xe73023239abbc699b3ed29a2c971026b11573b02125868e3fbb48f8e7184aacd","urls":["bzz-raw://b34ce00f5138646380b91a1e2dc3d9cf589a511be7e1c21640a95f3b860376f1","dweb:/ipfs/QmcpHpDqVtzuQ1hnnCXDcW869Uwry4t14emC4JFRF3b8m8"],"license":"ZORA-DELAYED-OSL-v1"},"src/access/PermittedCallers.sol":{"keccak256":"0x4f2f6797999bdd3bfaf0c438537e82d2c48cde4ed98cd5562a161a8cf91c0ae3","urls":["bzz-raw://1e9aa1eca5a8d14e960ec5cf6e8d03b42e8d512a250bde1781a275a9c61a9d9f","dweb:/ipfs/QmYC51e59iPykzGm7E2VadR7yH7HTbZTtVse9kigWaNfAm"],"license":"MIT"},"src/libs/LimitOrderBitmap.sol":{"keccak256":"0x4855d25ca566789fd3a89183f66a45710db7f7d45c308529888481a5670eb350","urls":["bzz-raw://b9c0450c5b02f6328fc5dd68db7b6b325944adbdaeefd72f007ea56c11149a52","dweb:/ipfs/QmNkhqMfeLFNpU6evVHVHpZh1crWytMCcAXMRxG2kgL77w"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCommon.sol":{"keccak256":"0x14e92d96a2d5defb24ea100892fdf2d36b1c2101cd05d224f135cf24a926e448","urls":["bzz-raw://a3a8cc7d7e5e4548238182149380d54288a5c4c28b3936c40dbfd08362952a25","dweb:/ipfs/QmWCydaf2465v8CgHybqjW4MpAnNqmFzBSejGFjyeGbnPm"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCreate.sol":{"keccak256":"0xa016e977714d3334a7c7af22aa7d9f039b555dcde42dfd8cc45a9dccf3551c69","urls":["bzz-raw://3001cbc0a91938aa8121da5ef063349ed6f58733d65a47ea53cb83fa7f042420","dweb:/ipfs/QmV3P9hdEykuErEX2dT3yJNwsStQX7WKb2F58Ba5bP9FfZ"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderFill.sol":{"keccak256":"0x1ce3f9afdd319e0cf5c5a60f6d5605f5b35649da5c8c34a66f87d50448eee5da","urls":["bzz-raw://c9f9d9fbc227c2756c4e6e6a5e381f00a07a16126de550e7cf4ab1bb4ce03338","dweb:/ipfs/QmZiWuan7h44a8ZiA1jkdso3pzBsgVC3YjCfes5X2LiYkX"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderLiquidity.sol":{"keccak256":"0x8cc406e16b31c7d8a7bece5a96a027d343c3cb1416326bab22298e045560329b","urls":["bzz-raw://606ea40457bb81c8cc7aad072666c2172ec2e189ab7a55cc72ebf0ed434e9d7e","dweb:/ipfs/QmP6PgAP15EKH5iHTq9s6R5yMWVJ7Ny3fd3KgDp3ZuA9Xj"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderQueues.sol":{"keccak256":"0x395d7b34ac9ab6558e159089acdbeef4640df54e6431f3b7ca89ea9255634c24","urls":["bzz-raw://5f5ee7211e5e9003f266279f8770fabec82e2bd4ef7870d1ecf1f125db48ddc4","dweb:/ipfs/QmV7KHUvjACyvgCV8Bue59DHHr6CJTEqYuVhiPYG76E1Lt"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderStorage.sol":{"keccak256":"0x834d00e4c2bcb79807601b63b3e824adf46ef3d47e941cd318fa09e2fa940367","urls":["bzz-raw://b1fc3a11e9e31c0072d9ba749c48d5f4a53092f89bdb6b70c8f7fcd2fdc6ee72","dweb:/ipfs/QmRDyNEAzCZ7R4fuQoicwdB9U1Dt6rkN3LmfRGSxPfaYPu"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderTypes.sol":{"keccak256":"0xcf1cf64d8815dc1d3fe050ee9f3e2815894c98f17f6fc1a139596935bd590258","urls":["bzz-raw://e7063f4743899eedfadf2fb32fd2b9c8fb617a0726ca0ed9e2a9a2c7d389479e","dweb:/ipfs/QmTZFNfyx5V2YguGomHaqHumQfDiiAQaLJqRPXt9XqviE5"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderViews.sol":{"keccak256":"0xb1815330aae85a16c7e2e6db4d64701fee910be156934befcb6be6943e339240","urls":["bzz-raw://977012c25b4cc858ab91657644a503a7f5882fd8b006ee21d7ceff3f5d225c2e","dweb:/ipfs/QmU1Xcr1oAuxNe34dgoEKq9BT8UBxLZDaYJTjN4UHEhtZ7"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderWithdraw.sol":{"keccak256":"0x96f59d44bb0c71a6ffdb21e655a5f56eec8e8771f5f5a6a283d795d6ae94b29f","urls":["bzz-raw://dc2f6025b6e3c09c0304f1577ebd596e03304d0e2d85a5fcd58b5f2b3ec2692a","dweb:/ipfs/QmYJGyzq76QxGiBXymmNbUYSefrtAC7k6AupSVR2PuMuyb"],"license":"ZORA-DELAYED-OSL-v1"}},"version":1},"id":77}
|