@zoralabs/limit-orders 0.2.4 → 0.2.6
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/.abi-stability +0 -21
- package/.turbo/turbo-build$colon$js.log +51 -51
- package/AUDIT_NOTES.md +0 -1
- package/CHANGELOG.md +19 -0
- package/README.md +6 -9
- package/SPEC.md +5 -5
- package/abis/ContractVersionBase.json +15 -0
- package/abis/IVersionedContract.json +15 -0
- package/abis/SwapWithLimitOrders.json +13 -0
- package/abis/ZoraLimitOrderBook.json +13 -0
- package/cache/solidity-files-cache.json +1 -1
- package/dist/index.cjs +14 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +20 -0
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/out/BytesLib.sol/BytesLib.json +1 -1
- package/out/ContractVersionBase.sol/ContractVersionBase.json +1 -0
- package/out/ISwapRouter.sol/ISwapRouter.json +1 -1
- package/out/IUniswapV3SwapCallback.sol/IUniswapV3SwapCallback.json +1 -1
- package/out/IVersionedContract.sol/IVersionedContract.json +1 -0
- package/out/IZoraLimitOrderBook.sol/IZoraLimitOrderBook.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 -1
- package/out/LimitOrderWithdraw.sol/LimitOrderWithdraw.json +1 -1
- package/out/Path.sol/Path.json +1 -1
- package/out/Permit2Payments.sol/Permit2Payments.json +1 -1
- package/out/PermittedCallers.sol/PermittedCallers.json +1 -1
- package/out/SwapLimitOrders.sol/SwapLimitOrders.json +1 -1
- package/out/SwapWithLimitOrders.sol/SwapWithLimitOrders.json +1 -1
- package/out/ZoraLimitOrderBook.sol/ZoraLimitOrderBook.json +1 -1
- package/out/build-info/{68b2e124c4a02a45.json → b6efea4394bdeb7d.json} +1 -1
- package/package/wagmiGenerated.ts +14 -0
- package/package.json +2 -2
- package/src/ZoraLimitOrderBook.sol +4 -1
- package/src/router/SwapWithLimitOrders.sol +2 -2
- package/src/version/ContractVersionBase.sol +14 -0
- package/test/LimitOrderAccessControl.t.sol +8 -2
- package/AUDIT_RFP.md +0 -408
- package/abis/ISetLimitOrderConfig.json +0 -27
- package/out/ISetLimitOrderConfig.sol/ISetLimitOrderConfig.json +0 -1
- package/src/router/ISetLimitOrderConfig.sol +0 -12
|
@@ -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":"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":"0x6101003461028457601f615c4538819003918201601f19168301916001600160401b038311848410176102885780849260a094604052833981010312610284576100488161029c565b906100556020820161029c565b6100616040830161029c565b61007960806100726060860161029c565b940161029c565b6001600160a01b0390931693841561027157600180546001600160a01b03199081169091555f80549182168717815560405196916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a35f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b805460ff191660011790556001600160a01b0316918215610262576001600160a01b0316908115610262576001600160a01b0316918215610262576001600160a01b038416156102625760805260a05260c05260e05261599490816102b18239608051818181601c0152818161038b015281816104330152818161060901528181610fa801528181611312015281816116ad015281816117a00152818161185a01528181611b5401528181611dc501528181611e7301528181611eaf015281816122e60152818161232901528181612372015281816123b101528181612448015281816124960152818161250601528181612549015281816125aa0152818161260c01528181612650015281816126c90152818161271701528181612a2f0152612dd9015260a051818181610b740152612a54015260c0518181816107aa01526111c2015260e051818181610bb50152818161181f0152612a7c0152f35b639fabe1c160e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102845756fe60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610ba3575080635ef3e95514610b5f5780635f8fbad614610afe578063715018a614610a9b57806379ba509714610a165780637a9cf2731461089e5780637fcc389f146108715780638da5cb5b1461084a57806391dd7346146107d9578063a6de70b414610795578063aa24fafc1461067b578063c2ec68ea146104b8578063c96d060b1461048b578063d8c3177214610462578063dc4c90d31461041e578063e30c3978146103f6578063eb07ed2414610208578063f2fde38b146101985763f7888aec14610138575f61000f565b3461019457604036600319011261019457610151610c17565b610159610c01565b6001600160a01b039182165f9081525f5160206159745f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b34610194576020366003190112610194576101b1610c17565b6101b9612e26565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b366003190161012081126101945760a0136101945760405161022981610c95565b6004356001600160a01b03811681036101945781526024356001600160a01b038116810361019457602082015260443562ffffff811681036101945760408201526064358060020b81036101945760608201526084356001600160a01b038116810361019457608082015261029c610be4565b9060c4356001600160401b0381116101945736602382011215610194578060040135906102c882610d6c565b916102d66040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103e65750505060e4356001600160401b03811161019457366023820112156101945780600401359061032882610d6c565b916103366040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103ce575050610104359290506001600160a01b03831683036101945761037c33612e39565b156103bf576103bb946103af947f0000000000000000000000000000000000000000000000000000000000000000612eed565b60405191829182610d83565b0390f35b638078f92160e01b5f5260045ffd5b602080916103db84610bf3565b815201910190610353565b81358152602091820191016102f3565b34610194575f366003190112610194576001546040516001600160a01b039091168152602090f35b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f3660031901126101945760205f5160206159545f395f51905f5254604051908152f35b34610194576020366003190112610194576104a4612e26565b6004355f5160206159545f395f51905f5255005b34610194576080366003190112610194576004356001600160401b038111610194576104e8903690600401610c41565b906104f1610c01565b6064356001600160a01b038116939190849003610194576105266105ac936040519361051c85610c95565b338552369161128e565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261057d60405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610ed9565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d4b565b60405190816105e2816105d45f94600260206106049801526040808401526060830190610c71565b03601f198101835282610d4b565b604051809381926348c8949160e01b8352602060048401526024830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761063f57005b61065a903d805f833e6106528183610d4b565b810190612d87565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b34610194576040366003190112610194576004356001600160401b038111610194576106ab903690600401610c41565b6024356001600160401b038111610194576106ca903690600401610c41565b926106d3612e26565b838303610786575f5b8381106106e557005b806106fb6106f66001938887612942565b6112da565b828060a01b0361071461070f848988612942565b612966565b165f52600260205260405f209060ff80198354169115151617905561073d61070f828786612942565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c602061076e6106f6858b8a612942565b926040519315158452858060a01b031692a2016106dc565b63b85b903160e01b5f5260045ffd5b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194576020366003190112610194576004356001600160401b0381116101945736602382011215610194578060040135906001600160401b038211610194573660248383010111610194576103bb916024610836920161130c565b604051918291602083526020830190610c71565b34610194575f366003190112610194575f546040516001600160a01b039091168152602090f35b3461019457602036600319011261019457602061089461088f610c17565b612e39565b6040519015158152f35b34610194576040366003190112610194576004356001600160401b038111610194576108ce903690600401610c41565b6108d6610c01565b913681900360de1901905f5b8381101561065a578060051b820135838112156101945782019060c0820161090a8184611259565b905061091c575b5060019150016108e2565b6109296109309184611259565b369161128e565b9161093d60a082016112da565b9083519360a0823603126101945760405161095781610c95565b61096083610c2d565b815261096e60208401610c2d565b602082015260408301359162ffffff8316830361019457600196610a10956109b560806105d497610a0b9760408801526109aa60608201610bf3565b606088015201610c2d565b6080850152604051936109c785610cdf565b6109cf612aa3565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f0c565b612dac565b86610911565b34610194575f36600319011261019457600154336001600160a01b0390911603610a8857600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610194575f36600319011261019457610ab3612e26565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019457366003190161014081126101945760a01361019457610b20610be4565b60c435908160020b82036101945760e435908160020b82036101945761012435916001600160a01b03831683036101945761065a936101043592610f81565b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f366003190112610194577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019457565b35908160020b820361019457565b602435906001600160a01b038216820361019457565b600435906001600160a01b038216820361019457565b35906001600160a01b038216820361019457565b9181601f84011215610194578235916001600160401b038311610194576020808501948460051b01011161019457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610cb057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610cb057604052565b60e081019081106001600160401b03821117610cb057604052565b606081019081106001600160401b03821117610cb057604052565b60c081019081106001600160401b03821117610cb057604052565b604081019081106001600160401b03821117610cb057604052565b90601f801991011681019081106001600160401b03821117610cb057604052565b6001600160401b038111610cb05760051b60200190565b60206040818301928281528451809452019201905f5b818110610da65750505090565b8251845260209384019390920191600101610d99565b5190811515820361019457565b51906001600160a01b038216820361019457565b519062ffffff8216820361019457565b51908160020b820361019457565b91908260a091031261019457604051610e1381610c95565b6080610e5f818395610e2481610dc9565b8552610e3260208201610dc9565b6020860152610e4360408201610ddd565b6040860152610e5460608201610ded565b606086015201610dc9565b910152565b90610e6e82610d6c565b610e7b6040519182610d4b565b8281528092610e8c601f1991610d6c565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610ef65750505090565b8251845260209384019390920191600101610ee9565b61018060c0610f7e9360208452610f27602085018251610e96565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610ed9565b90565b939291925f5160206159545f395f51905f525483158015611250575b611248575b50610fcc7f0000000000000000000000000000000000000000000000000000000000000000612989565b92836111a7575b610fdb612a18565b9460018060a01b038651169660405197633fe552eb60e01b89525f5160206159545f395f51905f5260048a0152602489015260043560018060a01b0381168091036101945760448901526024356001600160a01b0381169081900361019457606489015260443562ffffff81168091036101945760848901526064358060020b8091036101945760a48901526084356001600160a01b038116908190036101945760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af4801561065c575f965f905f92611151575b50604051946110db602087610d4b565b5f86525f368137604051986110ef8a610cdf565b6110f7612aa3565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261114757506105d4610a0b6111459260405192839160208301610f0c565b565b9061114591612afc565b9750505060e03d60e0116111a0575b61116a8188610d4b565b860160e087820312610194576111809087610dfb565b61119860c061119160a08a01610ded565b9801610ded565b90965f6110cb565b503d611160565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065c575f9161120e575b50610fd3576344863e8560e11b5f5260045ffd5b90506020813d602011611240575b8161122960209383610d4b565b810103126101945761123a90610dbc565b5f6111fa565b3d915061121c565b92505f610fa2565b50808411610f9d565b903590601e198136030182121561019457018035906001600160401b03821161019457602001918160051b3603831361019457565b92919061129a81610d6c565b936112a86040519586610d4b565b602085838152019160051b810192831161019457905b8282106112ca57505050565b81358152602091820191016112be565b3580151581036101945790565b6001600160401b038111610cb057601f01601f191660200190565b6003111561066757565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610194578035906003821015610194576020810135906001600160401b03821161019457019183601f84011215610194578235611385816112e7565b936113936040519586610d4b565b81855260208501956020838301011161019457815f9260208093018837850101526113bd82611302565b81156119ca57506113cd81611302565b600181036114c25750906113df612a18565b825183019260208401926020828603126101945751906001600160401b0382116101945701926101609084900312610194576040519161141e83610cdf565b61142b8160208601610dfb565b835261143960c08501610dbc565b602084015261144a60e08501610ded565b604084015261145c6101008501610ded565b606084015261012084015160808401526114796101408501610dc9565b60a0840152610160840151906001600160401b0382116101945760206114a4926114ae960101612e90565b60c0830152612afc565b6040516114bc602082610d4b565b5f815290565b6002906114ce81611302565b036119bb5780518101916020828403126101945751906001600160401b03821161019457019060a082820312610194576040519061150b82610c95565b61151760208401610dc9565b825260408301516001600160401b0381116101945760208061153d930191850101612e90565b80602083015261154f60608401610dc9565b9182604082015261156d60a060808601519586606085015201610dc9565b6080820181905290516001600160a01b0390811691908116156119ac57825191821561197f579392905f945f94871515935b8587106115d1575b505050505050508181106115bc5750506114ae565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966115e28883612ae8565b51805f525f5160206159145f395f51905f5260205260405f206004810154918260601c801561197f57870361199d57600160ff8460501c1661162381611302565b0361198e57600382015492600283015492835f525f5160206159345f395f51905f5260205260405f206040519061165982610c95565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b606085018190529201541660808301521561197f576116db6116d160a083207f00000000000000000000000000000000000000000000000000000000000000006138eb565b505090508361342c565b6119705761179b906116ec83613457565b95604060ff8660581c169561170187856133fd565b925f525f5160206158f45f395f51905f52602052815f2060018060a01b0384165f52602052815f208960020b5f5260205261174d86835f2060ff60501b19841660048301558587613a79565b5061175a8a60801c6139a4565b82519161176683610cc4565b8060020b835260181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b835286600484016139ca565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c578c9461187e8f9460c0956002947f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde985f91611941575b508a1561192a578251611844906001600160a01b03165b7f0000000000000000000000000000000000000000000000000000000000000000946141aa565b91600f82900b9160801d906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000613f1d565b505001549060018060a01b03169687956040519283521515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361190857506118df926001600160801b039092169190506138de565b9685806118fe575b6118f95760010195949392919061159f565b6115a7565b50888810156118e7565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020830151611844906001600160a01b031661181d565b611962915060403d8111611969575b61195a8183610d4b565b8101906139b4565b505f611806565b503d611950565b6374169b5760e11b5f5260045ffd5b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b91809391505183019260208401916020828603126101945751906001600160401b03821161019457019261012090849003126101945760405192611a0d84610c95565b611a1a8260208301610dfb565b8452611a2860c08201610dbc565b916020850192835260e08201516001600160401b0381116101945760209083010181601f8201121561019457805190611a6082610d6c565b91611a6e6040519384610d4b565b80835260208084019160051b8301019184831161019457602001905b8282106129325750505060408601526101008201516001600160401b038111610194576020908301019080601f83011215610194578151611aca81610d6c565b92611ad86040519485610d4b565b81845260208085019260051b82010192831161019457602001905b82821061291a5750505084840152611b0e9061012001610dc9565b9160808401928352835192611b2284612f05565b92835f525f5160206159345f395f51905f52602052600160405f20015460b81c60020b15612879575b611b7860a086207f00000000000000000000000000000000000000000000000000000000000000006138eb565b5050929050611b8a82511515876133fd565b855f525f5160206158d45f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611bc088610d15565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611bf3604085015151610e64565b915f5b604086015190815181101561285c5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461284c578160020b01627fffff198112627fffff821317612838575b60a08501511580159061283157815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f926127ee575b506001600160801b0382161561278f57611dc0604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611d118354612acd565b8093558551938452602084015288858401528d83015260808201522095815198611d3a8a610d15565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611d8484610cc4565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f600484016139ca565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561065c575f916127cf575b508060801d90600f0b835f146127a557505f81600f0b125f1461279e57611e23906142b2565b6001600160801b03165b915b6001600160801b0383161561278f57608087015183906001600160801b03908116908216811161277c575b505086518051909190611e97906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614800565b6020830151909190611ed3906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614800565b918115612775575f915b1561276e5730915b5f82138061275c575b6126b9575b505f81126124ed575b505f8213806124db575b612435575b505f81126122c9575b5060019660a0929091506001600160801b0381166122a6575b50818101515f525f5160206159145f395f51905f52602052600260405f20611f78600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613a56565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f5160206158f45f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f20600281019061205e61205886845460801c614501565b83613a56565b89515f525f5160206158b45f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b0384541615612274575b50508383015190898101908282549182155f1461225357555b825f525f5160206159145f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f5160206159745f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c061217960405f20898060801b03861690546138de565b94888060a01b0360808b0151165f525f5160206159745f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f5160206158945f395f51905f526020868060a01b0360408901511693604051908152a361224c8287612ae8565b5201611bf6565b5050805f525f5160206159145f395f51905f526020528260405f20556120c1565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f806120a8565b6122c3908251848b015115158a80871b0360808d015116916144c4565b5f611f2d565b6122d2906139a4565b60208201516001600160a01b0390811692907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101939093525f83602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af192831561065c5761239a93612425575b50602001516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691166146bd565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a0936123f7575b5091819750611f14565b6124179060203d811161241e575b61240f8183610d4b565b81019061297a565b505f6123ed565b503d612405565b5f61242f91610d4b565b5f612363565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916124919187916004850161487c565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611f0b575f6124d591610d4b565b5f611f0b565b506001600160a01b0381161515611f06565b6124f6906139a4565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576126a9575b5083516001600160a01b0316806126055750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576125e7575b505b5f611efc565b6125fe9060203d811161241e5761240f8183610d4b565b505f6125df565b61263a91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906146bd565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761268b575b506125e1565b6126a29060203d811161241e5761240f8183610d4b565b505f612685565b5f6126b391610d4b565b5f61257e565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916127129187916004850161487c565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611ef3575f61275691610d4b565b5f611ef3565b506001600160a01b0381161515611eee565b5f91611ee5565b3091611edd565b612787929350613a3d565b90825f611e5a565b63f8db18c360e01b5f5260045ffd5b505f611e2d565b90505f8112156127c8576127b8906142b2565b6001600160801b03165b91611e2f565b505f6127c2565b6127e7915060403d81116119695761195a8183610d4b565b505f611dfd565b9091506020813d8211612829575b8161280960209383610d4b565b8101031261019457516001600160801b038116810361019457905f611cac565b3d91506127fc565b8291611c56565b634e487b7160e01b5f52601160045260245ffd5b6128569082612f46565b90611c47565b505050506105d49250610f7e915060405192839160208301610d83565b5f8481525f5160206159345f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611b4b565b6020809161292784610ded565b815201910190611af3565b8151815260209182019101611a8a565b91908110156129525760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101945790565b90816020910312610194575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561065c575f916129e6575b50151590565b90506020813d602011612a10575b81612a0160209383610d4b565b8101031261019457515f6129e0565b3d91506129f4565b60405190612a2582610cfa565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612ab082610c95565b5f6080838281528260208201528260408201528260608201520152565b5f1981146128385760010190565b8051156129525760200190565b80518210156129525760209160051b010190565b90612b078151612f05565b805f525f5160206158d45f395f51905f5260205260405f20612b298154612acd565b809155815f525f5160206159345f395f51905f5260205260405f20604051612b5081610c95565b81546001600160a01b0390811682526001830154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529301541660808201529015612d23575b60c084019485515115612d07576020850151151591845f525f5160206158f45f395f51905f5260205260405f20612bd184836133fd565b60018060a01b03165f5260205260405f209560a0600180821b039101511694875151975f5b898110612c095750505050505050505050565b80612c176001928451612ae8565b51805f525f5160206159145f395f51905f526020528960405f209160048301548b8660ff8360501c16612c4981611302565b149182612cf9575b82612ce6575b82612cd3575b505080612caa575b612c73575b50505001612bf6565b82612c80612ca294613457565b60020b5f528d60205260405f20895f5160206159545f395f51905f528c613477565b5f8981612c6a565b50612cce612cc4868060a01b038b511660a08b20906138eb565b505090508461342c565b612c65565b60301c63ffffffff161090508b5f612c5d565b91508b60ff8360581c1615151491612c57565b60028601548a149250612c51565b9250505061114592505f5160206159545f395f51905f52612f63565b508251606081015160020b612b9a5763c256622b60e01b5f5260045ffd5b81601f8201121561019457805190612d58826112e7565b92612d666040519485610d4b565b8284526020838301011161019457815f9260208093018386015e8301015290565b906020828203126101945781516001600160401b03811161019457610f7e9201612d41565b60405190816105e2816105d45f9460016020612dd49801526040808401526060830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612e105750565b612e23903d805f833e6106528183610d4b565b50565b5f546001600160a01b03163303610a8857565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612e71575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f83011215610194578151612ea781610d6c565b92612eb56040519485610d4b565b81845260208085019260051b82010192831161019457602001905b828210612edd5750505090565b8151815260209182019101612ed0565b90612eff95949392915f60a05261489e565b60a05190565b604051612f16602082018093610e96565b60a08152612f2560c082610d4b565b51902090565b60020b5f190190627fffff198212627fffff83131761283857565b600291820b910b0390627fffff198212627fffff83131761283857565b9060808301918251156133f757612f7a8451612f05565b6020850151159081156133e3578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613031575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f146133d757888160020b13155b6133cf5760020b845f8183071291050393895f146132d5578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f146132c05750610194578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a156132b557898660020b13155b6132ac571561329057845f528160205260405f2098895480156132715793909192935b80151580613268575b156132555790818f959493925f528660205260405f208054966004820154600160ff8260501c1661319481611302565b0361324a5760301c63ffffffff1614613216578f518c5160a090206131d0916131c691906001600160a01b03166138eb565b505090508261342c565b15613202578f600193926131f5928f8f8f81519160a08a80821b039101511695613477565b0193925b9390919261315b565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b88156132455761323790612f2b565b9b9a919b969290939661301a565b613237565b5050505093926131f9565b509b9a999850939c91929695949c613228565b508c8210613164565b50949091939796959d929b9a999850885f146132455761324590612f2b565b90929695949c919a99989793885f146132455761324590612f2b565b50859d50613022565b898660020b13613138565b9391505060020b900360020b0260020b613128565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f146133b557506101945783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461312a565b93905060ff809250031660020b0160020b0260020b6133af565b859d50613022565b888160020b121561304c565b8551519092906001600160a01b0316612f9a565b50505050565b901561341a57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b031661340e565b6004015460ff8160581c165f1461344c5760181c60020b9060020b121590565b60020b9060020b1290565b6004015460ff8160581c165f146134715760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906134ab87826133fd565b96156134b790826133fd565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916134f69060801c6139a4565b6040519161350383610cc4565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161353e926139ca565b03815a6040945f91f198891561065c576135e78f9a8e938a88819b8b9689955f925f916138b9575b5091926135db926001600160a01b0386166138a3578460801d945b6001600160a01b03871661388c57600f0b955b6001600160a01b0316613882575f9f5b6001600160a01b0316613876575060045f995b01549560ff8760581c165f146138655760208201516001600160a01b031692613c72565b96879360601c90613f1d565b97909d5f82600f0b138015613859575b61383f575b505050505060018060801b038b5416915f60028a0199613629613623868d5460801c613a3d565b8c613a56565b60018a0186549060018801928354928315861461382d578082555b8015861461381a57506001915001555b8a546001600160801b0316806137f7575b508186555561367384613457565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b03905416156137c2575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612838576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f5160206158945f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f806136b2565b8b546001600160801b03191683199091016001600160801b0316178b555f613665565b8552506020526040832060010155613654565b83865282602052806040872055613644565b61384c959a508990613f1d565b9050945f808080806135fc565b505f83600f0b136135f7565b81516001600160a01b031692613c72565b600490600f0b996135b7565b8060801d9f6135a4565b61389d9082600f0b90600f0b613a18565b95613594565b6138b38160801d8660801d613a18565b94613581565b6135db93506138d7915060403d6040116119695761195a8183610d4b565b9092613566565b9190820180921161283857565b9190602090604051828101918252600660408201526040815261390f606082610d4b565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561065c575f92613970575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d60201161399c575b8161398c60209383610d4b565b810103126101945751905f613948565b3d915061397f565b600160ff1b8114612838575f0390565b9190826040910312610194576020825192015190565b90610160926139db83606093610e96565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761283857565b6001600160801b03918216908216039190821161283857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613aaa613aa4888b5460801c613a3d565b8a613a56565b835490600185019182549182158514613c3a578181555b81158514613c19576001915001555b88546001600160801b031680613bf6575b5081845555613aef82613457565b9660028301545f525f5160206158b45f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613bc1575b5050015460601c90815f525f5160206159745f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116128385760205f5160206158945f395f51905f5291835f525f5160206159745f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613b37565b89546001600160801b03191683199091016001600160801b03161789555f613ae1565b5083525f5160206159145f395f51905f526020526001604084200155613ad0565b8285525f5160206159145f395f51905f52602052816040862055613ac1565b60405190613c6682610d30565b5f602083606081520152565b92919092613c7e613c59565b506001600160a01b0381169384613c9c575b5050610f7e92506141aa565b60405163442f7de960e11b8152600481018690526001600160a01b03919091169190602081602481865afa5f9181613edf575b50613cdb575b50613c90565b60ff6004911610159081613ecf575b50613cf7575b8080613cd5565b5f9060246040518096819363f3ffe14b60e01b835260048301525afa92831561065c575f93613d66575b508251805115159081613d3f575b50613d3a5782613cf0565b505090565b6001600160a01b039150613d5290612adb565b5151166001600160a01b038316145f613d2f565b9092503d805f833e613d788183610d4b565b810190602081830312610194578051906001600160401b03821161019457016040818303126101945760405191613dae83610d30565b81516001600160401b0381116101945782019080601f8301121561019457815191613dd883610d6c565b92613de66040519485610d4b565b80845260208085019160051b830101918383116101945760208101915b838310613e2a575050505050613e1e91602091845201610dc9565b6020820152915f613d21565b82516001600160401b0381116101945782019060a0828703601f1901126101945760405190613e5882610c95565b613e6460208401610dc9565b8252613e7260408401610ddd565b6020830152613e8360608401610ded565b6040830152613e9460808401610dc9565b606083015260a0830151916001600160401b03831161019457613ebf88602080969581960101612d41565b6080820152815201920191613e03565b613ed9915061412c565b5f613cea565b9091506020813d602011613f15575b81613efb60209383610d4b565b81010312610194575160ff8116810361019457905f613ccf565b3d9150613eee565b9591939092935f81600f0b135f14614124576001600160801b0316935b5f81600f0b135f1461411d576001600160801b03165b60208201519151805190926001600160a01b0316901561410e57613f7d90613f7784612adb565b5161451a565b9081156141085786925b82156140f75760208201516001600160a01b0316975b83156140ef5750925b6001600160801b0316806140a3575050509594919293955b95926001926020945b835185101561404b578798614017613ffc9899613fea600194613f778a8a612ae8565b9a9093858060801b0316600f0b6142b2565b600f0b8a846040519361400f8d86610d4b565b5f85526145a2565b828060801b0316975f1461403d5786828060a01b03910151165b94019397969597613fc7565b818060a01b03905116614031565b979691959094508793509150856001600160801b03811661406e575b5050505050565b61407a928486936142f3565b6001600160a01b031615614092575b80808080614067565b6001600160a01b031692505f614089565b916140d5916140b86140e49594600f0b6142b2565b91604051926140c8602085610d4b565b5f8452600f0b918c6145a2565b6001600160801b031690614501565b959491929395613fbe565b905092613fa6565b81516001600160a01b031697613f9d565b82613f87565b6319dcad4d60e31b5f5260045ffd5b505f613f50565b505f93613f3a565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f918161416e575b50610f7e57505f90565b9091506020813d6020116141a2575b8161418a60209383610d4b565b810103126101945761419b90610dbc565b905f614164565b3d915061417d565b916141b3613c59565b835190926001600160a01b0390811691168181036142ad575060208401516001600160a01b03165b6001600160a01b031660208401526040805194906141f98187610d4b565b60018652601f1981015f5b8181106142795750508495612e2394955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193614244602086610d4b565b5f855281519561425387610c95565b865260208601528401526060830152608082015283519061427382612adb565b52612adb565b602090835161428781610c95565b5f81525f838201525f858201525f60608201526060608082015282828b01015201614204565b6141db565b600f0b60016001607f1b03198114612838575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b03821661446e576001600160a01b031690813b1561446a578461433c92879283604051809681958294630b0d9c0960e01b84523090600485016142c9565b03925af1801561444a57908591614455575b50506001600160a01b0316916001600160801b031690823b1561444657604051630d0e30db60e41b8152848160048186885af1801561444a57908591614431575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af19081156144265782916143e8575b50156143d95750565b6332067e4160e01b8152600490fd5b90506020813d60201161441e575b8161440360209383610d4b565b8101031261441a5761441490610dbc565b5f6143d0565b5080fd5b3d91506143f6565b6040513d84823e3d90fd5b8161443b91610d4b565b61444657835f61438f565b8380fd5b6040513d87823e3d90fd5b8161445f91610d4b565b61444657835f61434e565b8580fd5b92945092916001600160a01b03169050803b15610194576144a9935f809460405196879586948593630b0d9c0960e01b8552600485016142c9565b03925af1801561065c576144ba5750565b5f61114591610d4b565b90926001600160801b0316919082156133f75761114593156144ef57516001600160a01b03166146bd565b602001516001600160a01b03166146bd565b6001600160801b03918216908216019190821161283857565b90614523612aa3565b5081516001600160a01b03828116929116908183101561459a575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b0391015116926040519461457886610c95565b85526001600160a01b0316602085015260408401526060830152608082015291565b50819061453e565b90939291602091811561469e5761460a5f6401000276a4975b61463b604051956145cb87610cfa565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610e96565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610c71565b03926001600160a01b03165af192831561065c575f9361466a575b505f130361466457600f0b90565b60801d90565b9092506020813d602011614696575b8161468660209383610d4b565b810103126101945751915f614656565b3d9150614679565b61460a5f73fffd8963efd1fc6a506488495d951d5263988d25976145bb565b9091906001600160a01b038116908161474b5750505f80808093855af1156146e25750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d1160018551141617169282815282602082015201521561479c5750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561065c575f9161484d575090565b90506020813d602011614874575b8161486860209383610d4b565b81010312610194575190565b3d915061485b565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b0390921691908215615884575f60806040516148ca81610c95565b6148d2612aa3565b815282602082015260a051604082015260a05160a05182015201525f90845183518103615875575f905b80821061583e5750506149476040519561491587610c95565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b03926133fd565b16806156df575034036156d0575b61495e84612989565b614ae75760408051936020808601526101608501976149808387018351610e96565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614ad1575050505194603f1983820301610120840152602080875192838152019601905f5b818110614ab857505050916105d4614a2583614a09614a49955f9899899860018060a01b0390511661014083015203601f198101835282610d4b565b6040519283918760208401526040808401526060830190610c71565b6040519485809481936348c8949160e01b8352602060048401526024830190610c71565b03926001600160a01b03165af190811561065c575f91614a9e575b508051810190602081830312610194576020810151916001600160401b03831161019457614a99926020809201920101612e90565b60a052565b614ab291503d805f833e6106528183610d4b565b5f614a64565b825160020b8852602097880197909201916001016149cd565b82518952602098890198909201916001016149a5565b9193949290845193614af885612f05565b91825f525f5160206159345f395f51905f52602052600160405f20015460b81c60020b1561562e575b614b2e60a08720856138eb565b50509050614b3f83511515886133fd565b90845f525f5160206158d45f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614b7a608051610d15565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614bba604085015151610e64565b915f5b6040860151908151811015615622576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f14615611578160020b01627fffff198112627fffff82131761283857925b60805160a001511580159061560a5784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f926155c7575b506001600160801b0382161561278f5760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614d9f969560a095949293921690614ce990612acd565b809355855193845260208401528885840152835183015260808201522095815193614d1385610d15565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614d6184610cc4565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f600484016139ca565b03815f6001600160a01b038e165af190811561065c575f916155a8575b508060801d90600f0b835f1461557e57505f81600f0b125f1461557757614de2906142b2565b6001600160801b03165b915b6001600160801b0383161561278f5760808201516001600160801b039081169084168111615563575b5081518051909190614e33906001600160a01b0316308c614800565b906020830192614e4e60018060a01b038551168d3090614800565b92821561555c575f925b15615554578c30935b5f831380615542575b6154d8575b50505f81126153ac575b50505f82138061539a575b615336575b505f8112615254575b506040966001969594939260a09250906001600160801b03811661522e575b50818101515f525f5160206159145f395f51905f526020526002885f20614efc600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613a56565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f5160206158f45f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f206002810190614fdf61205886845460801c614501565b608051515f525f5160206158b45f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b03845416156151fd575b50508383015190898101908282549182155f146151dd57555b5f8381525f5160206159145f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f5160206159745f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c0916150f1918616906138de565b94888060a01b0360808051015116898060a01b03165f525f5160206159745f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f5160206158945f395f51905f526020868060a01b0388608051015116938851908152a36151d48288612ae8565b52019050614bbd565b5050805f525f5160206159145f395f51905f52602052828c5f2055615044565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f8061502b565b61524e90825184608051015115158a80871b0360808051015116916144c4565b5f614eb1565b615263909695949392966139a4565b81516001600160a01b0390811692908b163b15610194575f8b602482956040519687938492632961046560e21b8452600484015260018060a01b03165af192831561065c576152c593615326575b50516001600160a01b038b811691166146bd565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af190811561065c5760409760019760a093615308575b5097509192939495614e92565b61531f9060203d811161241e5761240f8183610d4b565b505f6152fb565b5f61533091610d4b565b5f6152b1565b82516001600160a01b03908116908c163b1561019457828c615372935f809460405196879586948593630b0d9c0960e01b85526004850161487c565b03926001600160a01b03165af1801561065c5715614e89575f61539491610d4b565b5f614e89565b506001600160a01b0381161515614e84565b6153b5906139a4565b81519091906001600160a01b03908116908e163b15610194575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c576154c8575b50516001600160a01b031680615463575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c57615445575b505b5f80614e79565b61545c9060203d811161241e5761240f8183610d4b565b505f61543c565b61547891906001600160a01b038e16906146bd565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c576154aa575b5061543e565b6154c19060203d811161241e5761240f8183610d4b565b505f6154a4565b5f6154d291610d4b565b5f615400565b83516001600160a01b0390811692163b1561019457828f5f92836155139560405196879586948593630b0d9c0960e01b85526004850161487c565b03926001600160a01b03165af1801561065c57615532575b8d90614e6f565b5f61553c91610d4b565b5f61552b565b506001600160a01b0381161515614e6a565b8c5f93614e61565b3092614e58565b6155709197508390613a3d565b955f614e17565b505f614dec565b90505f8112156155a157615591906142b2565b6001600160801b03165b91614dee565b505f61559b565b6155c0915060403d81116119695761195a8183610d4b565b505f614dbc565b9091506020813d8211615602575b816155e260209383610d4b565b8101031261019457516001600160801b038116810361019457905f614c79565b3d91506155d5565b8291614c23565b61561b9082612f46565b9092614c11565b5050505091505060a052565b5f8381525f5160206159345f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614b21565b636d295d4f60e11b5f5260045ffd5b346156d0576040516370a0823160e01b815230600482015291602083602481855afa92831561065c575f9361580a575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561065c575f916157d0575b501561578b576020602492604051938480926370a0823160e01b82523060048301525afa91821561065c575f9261579a575b5061578591926138de565b14614955575b637627529f60e01b5f5260045ffd5b91506020823d6020116157c8575b816157b560209383610d4b565b810103126101945761578591519161577a565b3d91506157a8565b90506020813d602011615802575b816157eb60209383610d4b565b81010312610194576157fc90610dbc565b5f615748565b3d91506157de565b9092506020813d602011615836575b8161582660209383610d4b565b810103126101945751915f61570f565b3d9150615819565b909261584a8488612ae8565b519081156158665760019161585e916138de565b9301906148fc565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","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":4950,"length":20},{"start":7994,"length":20},{"start":20231,"length":20}]}}},"deployedBytecode":{"object":"0x60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610ba3575080635ef3e95514610b5f5780635f8fbad614610afe578063715018a614610a9b57806379ba509714610a165780637a9cf2731461089e5780637fcc389f146108715780638da5cb5b1461084a57806391dd7346146107d9578063a6de70b414610795578063aa24fafc1461067b578063c2ec68ea146104b8578063c96d060b1461048b578063d8c3177214610462578063dc4c90d31461041e578063e30c3978146103f6578063eb07ed2414610208578063f2fde38b146101985763f7888aec14610138575f61000f565b3461019457604036600319011261019457610151610c17565b610159610c01565b6001600160a01b039182165f9081525f5160206159745f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b34610194576020366003190112610194576101b1610c17565b6101b9612e26565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b366003190161012081126101945760a0136101945760405161022981610c95565b6004356001600160a01b03811681036101945781526024356001600160a01b038116810361019457602082015260443562ffffff811681036101945760408201526064358060020b81036101945760608201526084356001600160a01b038116810361019457608082015261029c610be4565b9060c4356001600160401b0381116101945736602382011215610194578060040135906102c882610d6c565b916102d66040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103e65750505060e4356001600160401b03811161019457366023820112156101945780600401359061032882610d6c565b916103366040519384610d4b565b8083526024602084019160051b8301019136831161019457602401905b8282106103ce575050610104359290506001600160a01b03831683036101945761037c33612e39565b156103bf576103bb946103af947f0000000000000000000000000000000000000000000000000000000000000000612eed565b60405191829182610d83565b0390f35b638078f92160e01b5f5260045ffd5b602080916103db84610bf3565b815201910190610353565b81358152602091820191016102f3565b34610194575f366003190112610194576001546040516001600160a01b039091168152602090f35b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f3660031901126101945760205f5160206159545f395f51905f5254604051908152f35b34610194576020366003190112610194576104a4612e26565b6004355f5160206159545f395f51905f5255005b34610194576080366003190112610194576004356001600160401b038111610194576104e8903690600401610c41565b906104f1610c01565b6064356001600160a01b038116939190849003610194576105266105ac936040519361051c85610c95565b338552369161128e565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261057d60405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610ed9565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d4b565b60405190816105e2816105d45f94600260206106049801526040808401526060830190610c71565b03601f198101835282610d4b565b604051809381926348c8949160e01b8352602060048401526024830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761063f57005b61065a903d805f833e6106528183610d4b565b810190612d87565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b34610194576040366003190112610194576004356001600160401b038111610194576106ab903690600401610c41565b6024356001600160401b038111610194576106ca903690600401610c41565b926106d3612e26565b838303610786575f5b8381106106e557005b806106fb6106f66001938887612942565b6112da565b828060a01b0361071461070f848988612942565b612966565b165f52600260205260405f209060ff80198354169115151617905561073d61070f828786612942565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c602061076e6106f6858b8a612942565b926040519315158452858060a01b031692a2016106dc565b63b85b903160e01b5f5260045ffd5b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194576020366003190112610194576004356001600160401b0381116101945736602382011215610194578060040135906001600160401b038211610194573660248383010111610194576103bb916024610836920161130c565b604051918291602083526020830190610c71565b34610194575f366003190112610194575f546040516001600160a01b039091168152602090f35b3461019457602036600319011261019457602061089461088f610c17565b612e39565b6040519015158152f35b34610194576040366003190112610194576004356001600160401b038111610194576108ce903690600401610c41565b6108d6610c01565b913681900360de1901905f5b8381101561065a578060051b820135838112156101945782019060c0820161090a8184611259565b905061091c575b5060019150016108e2565b6109296109309184611259565b369161128e565b9161093d60a082016112da565b9083519360a0823603126101945760405161095781610c95565b61096083610c2d565b815261096e60208401610c2d565b602082015260408301359162ffffff8316830361019457600196610a10956109b560806105d497610a0b9760408801526109aa60608201610bf3565b606088015201610c2d565b6080850152604051936109c785610cdf565b6109cf612aa3565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f0c565b612dac565b86610911565b34610194575f36600319011261019457600154336001600160a01b0390911603610a8857600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610194575f36600319011261019457610ab3612e26565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019457366003190161014081126101945760a01361019457610b20610be4565b60c435908160020b82036101945760e435908160020b82036101945761012435916001600160a01b03831683036101945761065a936101043592610f81565b34610194575f366003190112610194576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610194575f366003190112610194577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019457565b35908160020b820361019457565b602435906001600160a01b038216820361019457565b600435906001600160a01b038216820361019457565b35906001600160a01b038216820361019457565b9181601f84011215610194578235916001600160401b038311610194576020808501948460051b01011161019457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610cb057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610cb057604052565b60e081019081106001600160401b03821117610cb057604052565b606081019081106001600160401b03821117610cb057604052565b60c081019081106001600160401b03821117610cb057604052565b604081019081106001600160401b03821117610cb057604052565b90601f801991011681019081106001600160401b03821117610cb057604052565b6001600160401b038111610cb05760051b60200190565b60206040818301928281528451809452019201905f5b818110610da65750505090565b8251845260209384019390920191600101610d99565b5190811515820361019457565b51906001600160a01b038216820361019457565b519062ffffff8216820361019457565b51908160020b820361019457565b91908260a091031261019457604051610e1381610c95565b6080610e5f818395610e2481610dc9565b8552610e3260208201610dc9565b6020860152610e4360408201610ddd565b6040860152610e5460608201610ded565b606086015201610dc9565b910152565b90610e6e82610d6c565b610e7b6040519182610d4b565b8281528092610e8c601f1991610d6c565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610ef65750505090565b8251845260209384019390920191600101610ee9565b61018060c0610f7e9360208452610f27602085018251610e96565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610ed9565b90565b939291925f5160206159545f395f51905f525483158015611250575b611248575b50610fcc7f0000000000000000000000000000000000000000000000000000000000000000612989565b92836111a7575b610fdb612a18565b9460018060a01b038651169660405197633fe552eb60e01b89525f5160206159545f395f51905f5260048a0152602489015260043560018060a01b0381168091036101945760448901526024356001600160a01b0381169081900361019457606489015260443562ffffff81168091036101945760848901526064358060020b8091036101945760a48901526084356001600160a01b038116908190036101945760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af4801561065c575f965f905f92611151575b50604051946110db602087610d4b565b5f86525f368137604051986110ef8a610cdf565b6110f7612aa3565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261114757506105d4610a0b6111459260405192839160208301610f0c565b565b9061114591612afc565b9750505060e03d60e0116111a0575b61116a8188610d4b565b860160e087820312610194576111809087610dfb565b61119860c061119160a08a01610ded565b9801610ded565b90965f6110cb565b503d611160565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065c575f9161120e575b50610fd3576344863e8560e11b5f5260045ffd5b90506020813d602011611240575b8161122960209383610d4b565b810103126101945761123a90610dbc565b5f6111fa565b3d915061121c565b92505f610fa2565b50808411610f9d565b903590601e198136030182121561019457018035906001600160401b03821161019457602001918160051b3603831361019457565b92919061129a81610d6c565b936112a86040519586610d4b565b602085838152019160051b810192831161019457905b8282106112ca57505050565b81358152602091820191016112be565b3580151581036101945790565b6001600160401b038111610cb057601f01601f191660200190565b6003111561066757565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57820191604081840312610194578035906003821015610194576020810135906001600160401b03821161019457019183601f84011215610194578235611385816112e7565b936113936040519586610d4b565b81855260208501956020838301011161019457815f9260208093018837850101526113bd82611302565b81156119ca57506113cd81611302565b600181036114c25750906113df612a18565b825183019260208401926020828603126101945751906001600160401b0382116101945701926101609084900312610194576040519161141e83610cdf565b61142b8160208601610dfb565b835261143960c08501610dbc565b602084015261144a60e08501610ded565b604084015261145c6101008501610ded565b606084015261012084015160808401526114796101408501610dc9565b60a0840152610160840151906001600160401b0382116101945760206114a4926114ae960101612e90565b60c0830152612afc565b6040516114bc602082610d4b565b5f815290565b6002906114ce81611302565b036119bb5780518101916020828403126101945751906001600160401b03821161019457019060a082820312610194576040519061150b82610c95565b61151760208401610dc9565b825260408301516001600160401b0381116101945760208061153d930191850101612e90565b80602083015261154f60608401610dc9565b9182604082015261156d60a060808601519586606085015201610dc9565b6080820181905290516001600160a01b0390811691908116156119ac57825191821561197f579392905f945f94871515935b8587106115d1575b505050505050508181106115bc5750506114ae565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966115e28883612ae8565b51805f525f5160206159145f395f51905f5260205260405f206004810154918260601c801561197f57870361199d57600160ff8460501c1661162381611302565b0361198e57600382015492600283015492835f525f5160206159345f395f51905f5260205260405f206040519061165982610c95565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b606085018190529201541660808301521561197f576116db6116d160a083207f00000000000000000000000000000000000000000000000000000000000000006138eb565b505090508361342c565b6119705761179b906116ec83613457565b95604060ff8660581c169561170187856133fd565b925f525f5160206158f45f395f51905f52602052815f2060018060a01b0384165f52602052815f208960020b5f5260205261174d86835f2060ff60501b19841660048301558587613a79565b5061175a8a60801c6139a4565b82519161176683610cc4565b8060020b835260181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b835286600484016139ca565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c578c9461187e8f9460c0956002947f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde985f91611941575b508a1561192a578251611844906001600160a01b03165b7f0000000000000000000000000000000000000000000000000000000000000000946141aa565b91600f82900b9160801d906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000613f1d565b505001549060018060a01b03169687956040519283521515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361190857506118df926001600160801b039092169190506138de565b9685806118fe575b6118f95760010195949392919061159f565b6115a7565b50888810156118e7565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020830151611844906001600160a01b031661181d565b611962915060403d8111611969575b61195a8183610d4b565b8101906139b4565b505f611806565b503d611950565b6374169b5760e11b5f5260045ffd5b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b91809391505183019260208401916020828603126101945751906001600160401b03821161019457019261012090849003126101945760405192611a0d84610c95565b611a1a8260208301610dfb565b8452611a2860c08201610dbc565b916020850192835260e08201516001600160401b0381116101945760209083010181601f8201121561019457805190611a6082610d6c565b91611a6e6040519384610d4b565b80835260208084019160051b8301019184831161019457602001905b8282106129325750505060408601526101008201516001600160401b038111610194576020908301019080601f83011215610194578151611aca81610d6c565b92611ad86040519485610d4b565b81845260208085019260051b82010192831161019457602001905b82821061291a5750505084840152611b0e9061012001610dc9565b9160808401928352835192611b2284612f05565b92835f525f5160206159345f395f51905f52602052600160405f20015460b81c60020b15612879575b611b7860a086207f00000000000000000000000000000000000000000000000000000000000000006138eb565b5050929050611b8a82511515876133fd565b855f525f5160206158d45f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611bc088610d15565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611bf3604085015151610e64565b915f5b604086015190815181101561285c5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461284c578160020b01627fffff198112627fffff821317612838575b60a08501511580159061283157815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f926127ee575b506001600160801b0382161561278f57611dc0604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611d118354612acd565b8093558551938452602084015288858401528d83015260808201522095815198611d3a8a610d15565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611d8484610cc4565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f600484016139ca565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561065c575f916127cf575b508060801d90600f0b835f146127a557505f81600f0b125f1461279e57611e23906142b2565b6001600160801b03165b915b6001600160801b0383161561278f57608087015183906001600160801b03908116908216811161277c575b505086518051909190611e97906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614800565b6020830151909190611ed3906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614800565b918115612775575f915b1561276e5730915b5f82138061275c575b6126b9575b505f81126124ed575b505f8213806124db575b612435575b505f81126122c9575b5060019660a0929091506001600160801b0381166122a6575b50818101515f525f5160206159145f395f51905f52602052600260405f20611f78600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613a56565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f5160206158f45f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f20600281019061205e61205886845460801c614501565b83613a56565b89515f525f5160206158b45f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b0384541615612274575b50508383015190898101908282549182155f1461225357555b825f525f5160206159145f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f5160206159745f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c061217960405f20898060801b03861690546138de565b94888060a01b0360808b0151165f525f5160206159745f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f5160206158945f395f51905f526020868060a01b0360408901511693604051908152a361224c8287612ae8565b5201611bf6565b5050805f525f5160206159145f395f51905f526020528260405f20556120c1565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f806120a8565b6122c3908251848b015115158a80871b0360808d015116916144c4565b5f611f2d565b6122d2906139a4565b60208201516001600160a01b0390811692907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101939093525f83602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af192831561065c5761239a93612425575b50602001516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691166146bd565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561065c5760019760a0936123f7575b5091819750611f14565b6124179060203d811161241e575b61240f8183610d4b565b81019061297a565b505f6123ed565b503d612405565b5f61242f91610d4b565b5f612363565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916124919187916004850161487c565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611f0b575f6124d591610d4b565b5f611f0b565b506001600160a01b0381161515611f06565b6124f6906139a4565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576126a9575b5083516001600160a01b0316806126055750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c576125e7575b505b5f611efc565b6125fe9060203d811161241e5761240f8183610d4b565b505f6125df565b61263a91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906146bd565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5761268b575b506125e1565b6126a29060203d811161241e5761240f8183610d4b565b505f612685565b5f6126b391610d4b565b5f61257e565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019457604051630b0d9c0960e01b8152915f91839182916127129187916004850161487c565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c5715611ef3575f61275691610d4b565b5f611ef3565b506001600160a01b0381161515611eee565b5f91611ee5565b3091611edd565b612787929350613a3d565b90825f611e5a565b63f8db18c360e01b5f5260045ffd5b505f611e2d565b90505f8112156127c8576127b8906142b2565b6001600160801b03165b91611e2f565b505f6127c2565b6127e7915060403d81116119695761195a8183610d4b565b505f611dfd565b9091506020813d8211612829575b8161280960209383610d4b565b8101031261019457516001600160801b038116810361019457905f611cac565b3d91506127fc565b8291611c56565b634e487b7160e01b5f52601160045260245ffd5b6128569082612f46565b90611c47565b505050506105d49250610f7e915060405192839160208301610d83565b5f8481525f5160206159345f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611b4b565b6020809161292784610ded565b815201910190611af3565b8151815260209182019101611a8a565b91908110156129525760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101945790565b90816020910312610194575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa90811561065c575f916129e6575b50151590565b90506020813d602011612a10575b81612a0160209383610d4b565b8101031261019457515f6129e0565b3d91506129f4565b60405190612a2582610cfa565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612ab082610c95565b5f6080838281528260208201528260408201528260608201520152565b5f1981146128385760010190565b8051156129525760200190565b80518210156129525760209160051b010190565b90612b078151612f05565b805f525f5160206158d45f395f51905f5260205260405f20612b298154612acd565b809155815f525f5160206159345f395f51905f5260205260405f20604051612b5081610c95565b81546001600160a01b0390811682526001830154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529301541660808201529015612d23575b60c084019485515115612d07576020850151151591845f525f5160206158f45f395f51905f5260205260405f20612bd184836133fd565b60018060a01b03165f5260205260405f209560a0600180821b039101511694875151975f5b898110612c095750505050505050505050565b80612c176001928451612ae8565b51805f525f5160206159145f395f51905f526020528960405f209160048301548b8660ff8360501c16612c4981611302565b149182612cf9575b82612ce6575b82612cd3575b505080612caa575b612c73575b50505001612bf6565b82612c80612ca294613457565b60020b5f528d60205260405f20895f5160206159545f395f51905f528c613477565b5f8981612c6a565b50612cce612cc4868060a01b038b511660a08b20906138eb565b505090508461342c565b612c65565b60301c63ffffffff161090508b5f612c5d565b91508b60ff8360581c1615151491612c57565b60028601548a149250612c51565b9250505061114592505f5160206159545f395f51905f52612f63565b508251606081015160020b612b9a5763c256622b60e01b5f5260045ffd5b81601f8201121561019457805190612d58826112e7565b92612d666040519485610d4b565b8284526020838301011161019457815f9260208093018386015e8301015290565b906020828203126101945781516001600160401b03811161019457610f7e9201612d41565b60405190816105e2816105d45f9460016020612dd49801526040808401526060830190610c71565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561065c57612e105750565b612e23903d805f833e6106528183610d4b565b50565b5f546001600160a01b03163303610a8857565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612e71575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f83011215610194578151612ea781610d6c565b92612eb56040519485610d4b565b81845260208085019260051b82010192831161019457602001905b828210612edd5750505090565b8151815260209182019101612ed0565b90612eff95949392915f60a05261489e565b60a05190565b604051612f16602082018093610e96565b60a08152612f2560c082610d4b565b51902090565b60020b5f190190627fffff198212627fffff83131761283857565b600291820b910b0390627fffff198212627fffff83131761283857565b9060808301918251156133f757612f7a8451612f05565b6020850151159081156133e3578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613031575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f146133d757888160020b13155b6133cf5760020b845f8183071291050393895f146132d5578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f146132c05750610194578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a156132b557898660020b13155b6132ac571561329057845f528160205260405f2098895480156132715793909192935b80151580613268575b156132555790818f959493925f528660205260405f208054966004820154600160ff8260501c1661319481611302565b0361324a5760301c63ffffffff1614613216578f518c5160a090206131d0916131c691906001600160a01b03166138eb565b505090508261342c565b15613202578f600193926131f5928f8f8f81519160a08a80821b039101511695613477565b0193925b9390919261315b565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b88156132455761323790612f2b565b9b9a919b969290939661301a565b613237565b5050505093926131f9565b509b9a999850939c91929695949c613228565b508c8210613164565b50949091939796959d929b9a999850885f146132455761324590612f2b565b90929695949c919a99989793885f146132455761324590612f2b565b50859d50613022565b898660020b13613138565b9391505060020b900360020b0260020b613128565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f146133b557506101945783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461312a565b93905060ff809250031660020b0160020b0260020b6133af565b859d50613022565b888160020b121561304c565b8551519092906001600160a01b0316612f9a565b50505050565b901561341a57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b031661340e565b6004015460ff8160581c165f1461344c5760181c60020b9060020b121590565b60020b9060020b1290565b6004015460ff8160581c165f146134715760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906134ab87826133fd565b96156134b790826133fd565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916134f69060801c6139a4565b6040519161350383610cc4565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161353e926139ca565b03815a6040945f91f198891561065c576135e78f9a8e938a88819b8b9689955f925f916138b9575b5091926135db926001600160a01b0386166138a3578460801d945b6001600160a01b03871661388c57600f0b955b6001600160a01b0316613882575f9f5b6001600160a01b0316613876575060045f995b01549560ff8760581c165f146138655760208201516001600160a01b031692613c72565b96879360601c90613f1d565b97909d5f82600f0b138015613859575b61383f575b505050505060018060801b038b5416915f60028a0199613629613623868d5460801c613a3d565b8c613a56565b60018a0186549060018801928354928315861461382d578082555b8015861461381a57506001915001555b8a546001600160801b0316806137f7575b508186555561367384613457565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b03905416156137c2575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f2054928303928311612838576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f5160206158945f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f806136b2565b8b546001600160801b03191683199091016001600160801b0316178b555f613665565b8552506020526040832060010155613654565b83865282602052806040872055613644565b61384c959a508990613f1d565b9050945f808080806135fc565b505f83600f0b136135f7565b81516001600160a01b031692613c72565b600490600f0b996135b7565b8060801d9f6135a4565b61389d9082600f0b90600f0b613a18565b95613594565b6138b38160801d8660801d613a18565b94613581565b6135db93506138d7915060403d6040116119695761195a8183610d4b565b9092613566565b9190820180921161283857565b9190602090604051828101918252600660408201526040815261390f606082610d4b565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa91821561065c575f92613970575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d60201161399c575b8161398c60209383610d4b565b810103126101945751905f613948565b3d915061397f565b600160ff1b8114612838575f0390565b9190826040910312610194576020825192015190565b90610160926139db83606093610e96565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761283857565b6001600160801b03918216908216039190821161283857565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613aaa613aa4888b5460801c613a3d565b8a613a56565b835490600185019182549182158514613c3a578181555b81158514613c19576001915001555b88546001600160801b031680613bf6575b5081845555613aef82613457565b9660028301545f525f5160206158b45f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613bc1575b5050015460601c90815f525f5160206159745f395f51905f5260205260405f2060018060a01b0382165f5260205260405f20549283039283116128385760205f5160206158945f395f51905f5291835f525f5160206159745f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613b37565b89546001600160801b03191683199091016001600160801b03161789555f613ae1565b5083525f5160206159145f395f51905f526020526001604084200155613ad0565b8285525f5160206159145f395f51905f52602052816040862055613ac1565b60405190613c6682610d30565b5f602083606081520152565b92919092613c7e613c59565b506001600160a01b0381169384613c9c575b5050610f7e92506141aa565b60405163442f7de960e11b8152600481018690526001600160a01b03919091169190602081602481865afa5f9181613edf575b50613cdb575b50613c90565b60ff6004911610159081613ecf575b50613cf7575b8080613cd5565b5f9060246040518096819363f3ffe14b60e01b835260048301525afa92831561065c575f93613d66575b508251805115159081613d3f575b50613d3a5782613cf0565b505090565b6001600160a01b039150613d5290612adb565b5151166001600160a01b038316145f613d2f565b9092503d805f833e613d788183610d4b565b810190602081830312610194578051906001600160401b03821161019457016040818303126101945760405191613dae83610d30565b81516001600160401b0381116101945782019080601f8301121561019457815191613dd883610d6c565b92613de66040519485610d4b565b80845260208085019160051b830101918383116101945760208101915b838310613e2a575050505050613e1e91602091845201610dc9565b6020820152915f613d21565b82516001600160401b0381116101945782019060a0828703601f1901126101945760405190613e5882610c95565b613e6460208401610dc9565b8252613e7260408401610ddd565b6020830152613e8360608401610ded565b6040830152613e9460808401610dc9565b606083015260a0830151916001600160401b03831161019457613ebf88602080969581960101612d41565b6080820152815201920191613e03565b613ed9915061412c565b5f613cea565b9091506020813d602011613f15575b81613efb60209383610d4b565b81010312610194575160ff8116810361019457905f613ccf565b3d9150613eee565b9591939092935f81600f0b135f14614124576001600160801b0316935b5f81600f0b135f1461411d576001600160801b03165b60208201519151805190926001600160a01b0316901561410e57613f7d90613f7784612adb565b5161451a565b9081156141085786925b82156140f75760208201516001600160a01b0316975b83156140ef5750925b6001600160801b0316806140a3575050509594919293955b95926001926020945b835185101561404b578798614017613ffc9899613fea600194613f778a8a612ae8565b9a9093858060801b0316600f0b6142b2565b600f0b8a846040519361400f8d86610d4b565b5f85526145a2565b828060801b0316975f1461403d5786828060a01b03910151165b94019397969597613fc7565b818060a01b03905116614031565b979691959094508793509150856001600160801b03811661406e575b5050505050565b61407a928486936142f3565b6001600160a01b031615614092575b80808080614067565b6001600160a01b031692505f614089565b916140d5916140b86140e49594600f0b6142b2565b91604051926140c8602085610d4b565b5f8452600f0b918c6145a2565b6001600160801b031690614501565b959491929395613fbe565b905092613fa6565b81516001600160a01b031697613f9d565b82613f87565b6319dcad4d60e31b5f5260045ffd5b505f613f50565b505f93613f3a565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f918161416e575b50610f7e57505f90565b9091506020813d6020116141a2575b8161418a60209383610d4b565b810103126101945761419b90610dbc565b905f614164565b3d915061417d565b916141b3613c59565b835190926001600160a01b0390811691168181036142ad575060208401516001600160a01b03165b6001600160a01b031660208401526040805194906141f98187610d4b565b60018652601f1981015f5b8181106142795750508495612e2394955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193614244602086610d4b565b5f855281519561425387610c95565b865260208601528401526060830152608082015283519061427382612adb565b52612adb565b602090835161428781610c95565b5f81525f838201525f858201525f60608201526060608082015282828b01015201614204565b6141db565b600f0b60016001607f1b03198114612838575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b03821661446e576001600160a01b031690813b1561446a578461433c92879283604051809681958294630b0d9c0960e01b84523090600485016142c9565b03925af1801561444a57908591614455575b50506001600160a01b0316916001600160801b031690823b1561444657604051630d0e30db60e41b8152848160048186885af1801561444a57908591614431575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af19081156144265782916143e8575b50156143d95750565b6332067e4160e01b8152600490fd5b90506020813d60201161441e575b8161440360209383610d4b565b8101031261441a5761441490610dbc565b5f6143d0565b5080fd5b3d91506143f6565b6040513d84823e3d90fd5b8161443b91610d4b565b61444657835f61438f565b8380fd5b6040513d87823e3d90fd5b8161445f91610d4b565b61444657835f61434e565b8580fd5b92945092916001600160a01b03169050803b15610194576144a9935f809460405196879586948593630b0d9c0960e01b8552600485016142c9565b03925af1801561065c576144ba5750565b5f61114591610d4b565b90926001600160801b0316919082156133f75761114593156144ef57516001600160a01b03166146bd565b602001516001600160a01b03166146bd565b6001600160801b03918216908216019190821161283857565b90614523612aa3565b5081516001600160a01b03828116929116908183101561459a575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b0391015116926040519461457886610c95565b85526001600160a01b0316602085015260408401526060830152608082015291565b50819061453e565b90939291602091811561469e5761460a5f6401000276a4975b61463b604051956145cb87610cfa565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610e96565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610c71565b03926001600160a01b03165af192831561065c575f9361466a575b505f130361466457600f0b90565b60801d90565b9092506020813d602011614696575b8161468660209383610d4b565b810103126101945751915f614656565b3d9150614679565b61460a5f73fffd8963efd1fc6a506488495d951d5263988d25976145bb565b9091906001600160a01b038116908161474b5750505f80808093855af1156146e25750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d1160018551141617169282815282602082015201521561479c5750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa90811561065c575f9161484d575090565b90506020813d602011614874575b8161486860209383610d4b565b81010312610194575190565b3d915061485b565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b0390921691908215615884575f60806040516148ca81610c95565b6148d2612aa3565b815282602082015260a051604082015260a05160a05182015201525f90845183518103615875575f905b80821061583e5750506149476040519561491587610c95565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b03926133fd565b16806156df575034036156d0575b61495e84612989565b614ae75760408051936020808601526101608501976149808387018351610e96565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614ad1575050505194603f1983820301610120840152602080875192838152019601905f5b818110614ab857505050916105d4614a2583614a09614a49955f9899899860018060a01b0390511661014083015203601f198101835282610d4b565b6040519283918760208401526040808401526060830190610c71565b6040519485809481936348c8949160e01b8352602060048401526024830190610c71565b03926001600160a01b03165af190811561065c575f91614a9e575b508051810190602081830312610194576020810151916001600160401b03831161019457614a99926020809201920101612e90565b60a052565b614ab291503d805f833e6106528183610d4b565b5f614a64565b825160020b8852602097880197909201916001016149cd565b82518952602098890198909201916001016149a5565b9193949290845193614af885612f05565b91825f525f5160206159345f395f51905f52602052600160405f20015460b81c60020b1561562e575b614b2e60a08720856138eb565b50509050614b3f83511515886133fd565b90845f525f5160206158d45f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614b7a608051610d15565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614bba604085015151610e64565b915f5b6040860151908151811015615622576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f14615611578160020b01627fffff198112627fffff82131761283857925b60805160a001511580159061560a5784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af491821561065c575f926155c7575b506001600160801b0382161561278f5760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614d9f969560a095949293921690614ce990612acd565b809355855193845260208401528885840152835183015260808201522095815193614d1385610d15565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614d6184610cc4565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f600484016139ca565b03815f6001600160a01b038e165af190811561065c575f916155a8575b508060801d90600f0b835f1461557e57505f81600f0b125f1461557757614de2906142b2565b6001600160801b03165b915b6001600160801b0383161561278f5760808201516001600160801b039081169084168111615563575b5081518051909190614e33906001600160a01b0316308c614800565b906020830192614e4e60018060a01b038551168d3090614800565b92821561555c575f925b15615554578c30935b5f831380615542575b6154d8575b50505f81126153ac575b50505f82138061539a575b615336575b505f8112615254575b506040966001969594939260a09250906001600160801b03811661522e575b50818101515f525f5160206159145f395f51905f526020526002885f20614efc600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613a56565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f5160206158f45f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f206002810190614fdf61205886845460801c614501565b608051515f525f5160206158b45f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b03845416156151fd575b50508383015190898101908282549182155f146151dd57555b5f8381525f5160206159145f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f5160206159745f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c0916150f1918616906138de565b94888060a01b0360808051015116898060a01b03165f525f5160206159745f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f5160206158945f395f51905f526020868060a01b0388608051015116938851908152a36151d48288612ae8565b52019050614bbd565b5050805f525f5160206159145f395f51905f52602052828c5f2055615044565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f8061502b565b61524e90825184608051015115158a80871b0360808051015116916144c4565b5f614eb1565b615263909695949392966139a4565b81516001600160a01b0390811692908b163b15610194575f8b602482956040519687938492632961046560e21b8452600484015260018060a01b03165af192831561065c576152c593615326575b50516001600160a01b038b811691166146bd565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af190811561065c5760409760019760a093615308575b5097509192939495614e92565b61531f9060203d811161241e5761240f8183610d4b565b505f6152fb565b5f61533091610d4b565b5f6152b1565b82516001600160a01b03908116908c163b1561019457828c615372935f809460405196879586948593630b0d9c0960e01b85526004850161487c565b03926001600160a01b03165af1801561065c5715614e89575f61539491610d4b565b5f614e89565b506001600160a01b0381161515614e84565b6153b5906139a4565b81519091906001600160a01b03908116908e163b15610194575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af1801561065c576154c8575b50516001600160a01b031680615463575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c57615445575b505b5f80614e79565b61545c9060203d811161241e5761240f8183610d4b565b505f61543c565b61547891906001600160a01b038e16906146bd565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af1801561065c576154aa575b5061543e565b6154c19060203d811161241e5761240f8183610d4b565b505f6154a4565b5f6154d291610d4b565b5f615400565b83516001600160a01b0390811692163b1561019457828f5f92836155139560405196879586948593630b0d9c0960e01b85526004850161487c565b03926001600160a01b03165af1801561065c57615532575b8d90614e6f565b5f61553c91610d4b565b5f61552b565b506001600160a01b0381161515614e6a565b8c5f93614e61565b3092614e58565b6155709197508390613a3d565b955f614e17565b505f614dec565b90505f8112156155a157615591906142b2565b6001600160801b03165b91614dee565b505f61559b565b6155c0915060403d81116119695761195a8183610d4b565b505f614dbc565b9091506020813d8211615602575b816155e260209383610d4b565b8101031261019457516001600160801b038116810361019457905f614c79565b3d91506155d5565b8291614c23565b61561b9082612f46565b9092614c11565b5050505091505060a052565b5f8381525f5160206159345f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614b21565b636d295d4f60e11b5f5260045ffd5b346156d0576040516370a0823160e01b815230600482015291602083602481855afa92831561065c575f9361580a575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af190811561065c575f916157d0575b501561578b576020602492604051938480926370a0823160e01b82523060048301525afa91821561065c575f9261579a575b5061578591926138de565b14614955575b637627529f60e01b5f5260045ffd5b91506020823d6020116157c8575b816157b560209383610d4b565b810103126101945761578591519161577a565b3d91506157a8565b90506020813d602011615802575b816157eb60209383610d4b565b81010312610194576157fc90610dbc565b5f615748565b3d91506157de565b9092506020813d602011615836575b8161582660209383610d4b565b810103126101945751915f61570f565b3d9150615819565b909261584a8488612ae8565b519081156158665760019161585e916138de565b9301906148fc565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","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;;;;;;785:24:78;798:10;785: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;:::-;1086:34:78;;;1507:7026:77;;;1185:18:78;;;;;;1507:7026:77;1205:3:78;1256:12;;;1507:7026:77;1256:12:78;;;;:::i;:::-;;:::i;:::-;1507:7026:77;;;;;1242:10:78;;;;;;:::i;:::-;;:::i;:::-;1507:7026:77;;;1224:17:78;1507:7026:77;;;;;;;;;;;;;;;;;;;1310:10:78;;;;;;:::i;:::-;1287:48;1507:7026:77;1322:12:78;;;;;;:::i;:::-;1507:7026:77;;;;;;;;;;;;;;1287:48:78;;1507:7026:77;1170: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;;;;;932:20:78;1507:7026:77;;:::i;:::-;932: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;;1680:64:82;;;1507:7026:77;1680:64:82;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;1778:4:82;1507:7026:77;;;;:::i;:::-;;;;;1778: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;;1271:69:88;;1507:7026:77;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;1271:69:88;1507:7026:77;1271:69:88;;1507:7026:77;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;1775:23:88;1507:7026:77;;;;1898:15:88;;;1507:7026:77;;1961:22:88;;;-1:-1:-1;1999:9:88;-1:-1:-1;2926:16:88;;;;1994:1032;2010:14;;;;;;1994:1032;3087:30;;;;;;;;;;1507:7026:77;;6991:213;;6855:349;;1507:7026;;;;-1:-1:-1;1507:7026:77;2180:11:88;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2026:3:88;2063:11;;;;;;;;;;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2180:11:88;;;1507:7026:77;;;;;2180:25:88;;1507:7026:77;;2264:20:88;;1507:7026:77;;;;;;;;;;;:::i;:::-;2344:48:88;1507:7026:77;;;2463:15:88;;1507:7026:77;3536:17:88;7009:26:77;3536: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;;;;;;;;;;;;;;;;;3572:20:88;1507:7026:77;;3727:86:88;2309:46:80;1507:7026:77;357:173:37;;6485:11:77;2309:46:80;:::i;:::-;3727:86:88;;;;;;:::i;:::-;1507:7026:77;;9065:208:83;3880:36:88;;;;:::i;:::-;1507:7026:77;;;;;;;3933: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;;;4445:64:88;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;;2180:11:88;;;1507:7026:77;4445:64:88;;;:::i;:::-;;9206:27:83;1507:7026:77;;;9206:27:83;:::i;:::-;1507:7026:77;;;;;;:::i;:::-;;7009:26;1507:7026;;;;;7009:26;1507:7026;;9123:124:83;;1507:7026:77;9123:124:83;;;1507:7026:77;9123:124:83;1507:7026:77;9123:124:83;;1507:7026:77;;;;;;;;;;9065:208:83;;;2180:11:88;9065:208:83;;;:::i;:::-;;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;9065:208:83;;;;;;;;7227:106;9065:208;;1507:7026:77;9065:208:83;7009:26:77;9065:208:83;4707:111:88;9065:208:83;-1:-1:-1;9065:208:83;;;2026:3:88;-1:-1:-1;7158:43:83;;;;1507:7026:77;;7286:40:83;;-1:-1:-1;;;;;1507:7026:77;7158:43:83;7119:4:77;7286:40:83;;:::i;:::-;2241:89:34;;;;;;1507:7026:77;2052:83:34;;-1:-1:-1;;;;;1507:7026:77;6485:11;7227:106:83;:::i;:::-;3536:17:88;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;7009:26;1507:7026;;;;;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;4707:111:88;-1:-1:-1;;;;;1507:7026:77;;2691:19:88;;2687:125;;-1:-1:-1;2826:27:88;;-1:-1:-1;;;;;1507:7026:77;;;;;-1:-1:-1;2826:27:88;:::i;:::-;2926:50;;;;;7158:43:83;2922:94:88;;1507:7026:77;;1999:9:88;;;;;;;;2922:94;2996:5;;2926:50;2946:30;;;;;2926:50;;2687:125;2737:60;;;;;-1:-1:-1;2737:60:88;2180:11;1507:7026:77;;;;;;;;;;;;-1:-1:-1;2737:60:88;7158:43:83;1507:7026:77;;;;7286:40:83;;-1:-1:-1;;;;;1507:7026:77;7158:43:83;;9065:208;;;;1507:7026:77;9065:208:83;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;2180:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;2180:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;2180:11:88;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;2180: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;2309:46:80;1507:7026:77;357:173:37;;6485:11:77;2309:46:80;:::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:457: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:366:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;9164:366:81;;;1507:7026:77;9164:366:81;;;1507:7026:77;;;;;-1:-1:-1;;;9099:457:81;;1507:7026:77;;;;;;;5611:16:81;9099:457;;;:::i;:::-;;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;9099:457:81;;;;;;;-1:-1:-1;9099:457:81;;;6789:39;2052:83:34;;1507:7026:77;2052:83:34;2241:89;;;9652:455:81;;;;;9822:52;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;9822:11:81;:52;-1:-1:-1;;;9859:8:81;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9822:52:81;9652:455;;-1:-1:-1;;;;;1507:7026:77;;10125:17:81;1507:7026:77;;;7176:223:81;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;;;10199:35:81;-1:-1:-1;10195:112:81;;9652:455;-1:-1:-1;;10368:10:81;;1507:7026:77;;10368: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;7493:6:83;;:31;;;2393:40;7489:115;;2393:40;7617:6;-1:-1:-1;7617:6:83;;7613:582;;2393:40;8209:6;-1:-1:-1;8209:6:83;;:31;;;2393:40;8205:234;;2393:40;8452:6;-1:-1:-1;8452:6:83;;8448:330;;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;3164:38:80;1507:7026:77;3124:15:80;;1507:7026:77;;;;;;;;;;;;871:1:84;;;;;;;1507:7026:77;;;;;7176:223:81;;;1507:7026:77;;3164:38:80;;:::i;:::-;1507:7026:77;7176:223:81;;1507:7026:77;5611:16:81;3212: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3491: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;;3899:17:80;;1507:7026:77;3899:33:80;;1507:7026:77;;;;;3899: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;4028:14:80;;;:26;1507:7026:77;;;;;;;;;;;809:15:79;805: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;;;4574:143:80;1507:7026:77;4435:55:80;1507:7026:77;-1:-1:-1;1507:7026:77;;;;;;;;;;4435: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4574:143:80;1507:7026:77;;;;;;5402:323:81;;1507:7026:77;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;;5402:323:81;;1507:7026:77;;;;;;;;4732: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;;805:218:79;846:396:31;1507:7026:77;846:396:31;;-1:-1:-1;846:396:31;;;;;;;984: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;;;984:28:79;1507:7026:77;;805: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;;;8448:330:83;8618:3;;;:::i;:::-;1507:7026:77;2282:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;2282:13:83;6485:11:77;1507:7026;8636:31:83;;;;1507:7026:77;;-1:-1:-1;;;8636:31:83;;5611:16:81;8636:31:83;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;8636:31:83;;;;;;;8726:6;8636:31;;;8448:330;-1:-1:-1;1507:7026:77;2282:13:83;1507:7026:77;-1:-1:-1;;;;;6485:11:77;1507:7026;;;;8726:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;8747:20:83;;1507:7026:77;;;5611:16:81;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;8747:20:83;;;;;;;1507:7026:77;8747:20:83;1507:7026:77;8747:20:83;;;8448:330;;;;;;;;8747:20;;;1507:7026:77;8747:20:83;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;8636:31;-1:-1:-1;8636:31:83;;;:::i;:::-;;;;8205:234;1507:7026:77;2282:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;8375:53:83;;;;1507:7026:77;;-1:-1:-1;;;8375:53:83;;1507:7026:77;-1:-1:-1;;1507:7026:77;;;;8375:53:83;;1507:7026:77;;5611:16:81;8375:53:83;;;:::i;:::-;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;8375:53:83;;;;;;;8205:234;8375:53;-1:-1:-1;8375:53:83;;;:::i;:::-;;8205:234;;8209:31;-1:-1:-1;;;;;;1507:7026:77;;8219:21:83;;8209:31;;7613:582;7783:3;;;:::i;:::-;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;7801:31:83;;;;1507:7026:77;;-1:-1:-1;;;7801:31:83;;5611:16:81;7801:31:83;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;7801:31:83;;;;;;;;7613:582;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;4998:58:36;7957:29:83;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;8006:35:83;;1507:7026:77;;;;;5611:16:81;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;8006:35:83;;;;;;;;7953:232;;;7613:582;;;8006:35;;;1507:7026:77;8006:35:83;;;;;;;;;:::i;:::-;;;;;7953:232;8125:6;;1507:7026:77;6485:11;-1:-1:-1;;;;;1507:7026:77;;8125:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;8150:20:83;;1507:7026:77;;5611:16:81;1507:7026:77;-1:-1:-1;6485:11:77;-1:-1:-1;;;;;1507:7026:77;8150:20:83;;;;;;;;7953:232;;;;8150:20;;;1507:7026:77;8150:20:83;;;;;;;;;:::i;:::-;;;;;7801:31;-1:-1:-1;7801:31:83;;;:::i;:::-;;;;7489:115;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;6485:11;1507:7026;7540:53:83;;;;1507:7026:77;;-1:-1:-1;;;7540:53:83;;1507:7026:77;-1:-1:-1;;1507:7026:77;;;;7540:53:83;;1507:7026:77;;5611:16:81;7540:53:83;;;:::i;:::-;;1507:7026:77;;6485:11;-1:-1:-1;;;;;1507:7026:77;7540:53:83;;;;;;;7489:115;7540:53;-1:-1:-1;7540:53:83;;;:::i;:::-;;7489:115;;7493:31;-1:-1:-1;;;;;;1507:7026:77;;7503:21:83;;7493:31;;2393:40;-1:-1:-1;2393:40:83;;;2325;2171:4;2325:40;;;10195:112:81;10261:35;;;;;:::i;:::-;10195:112;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;5611:16:81;-1:-1:-1;1507:7026:77;9822:52:81;;-1:-1:-1;9822:52:81;;9652:455;10044:52;-1:-1:-1;;10044:11:81;;-1:-1:-1;;;10081:8:81;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;10044:52:81;9652:455;;;10044:52;;-1:-1:-1;10044:52:81;;9099:457;;;;1507:7026:77;9099:457: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;1796:2024:82:-;;2139:36;2162:12;;2139:36;:::i;:::-;1507:7026:77;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2208:31:82;1507:7026:77;;2208: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:20:82;2308:152;;1796:2024;2474:13;;;;;;1507:7026:77;2474:25:82;2470:110;;1507:7026:77;2609:16:82;;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;-1:-1:-1;1507:7026:77;2726:47:82;;;;:::i;:::-;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;;;;;;;;2898:17:82;;1507:7026:77;;2943:13:82;;;1507:7026:77;2978:9:82;-1:-1:-1;2989:10:82;;;;;;1796:2024;;;;;;;;;;:::o;2978:9::-;3035:13;:16;1507:7026:77;3035:13:82;;;:16;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;-1:-1:-1;1507:7026:77;3159:12:82;2210:16;3159:12;;1507:7026:77;;;;;;;;;;;:::i;:::-;3159:48:82;:100;;;;2978:9;3159:152;;;2978:9;3159:205;;;2978:9;3159:315;;;;;2978:9;3138:606;;2978:9;1507:7026:77;;;;2978:9:82;;3138:606;3525:36;;3716:12;3525:36;;:::i;:::-;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;-1:-1:-1;1507:7026:77;3716:12:82;-1:-1:-1;;;;;;;;;;;3716:12:82;;:::i;:::-;3138:606;;;;;3159:315;1507:7026:77;3384:90:82;2309:46:80;1507:7026:77;;;;;;;;;357:173:37;;2309:46:80;;:::i;:::-;3384:90:82;;;;;;:::i;:::-;3159:315;;:205;1507:7026:77;;;;3331:33:82;;-1:-1:-1;3159:205:82;;;;:152;1507:7026:77;;;;;;;;;;3279:32:82;3159:152;;;:100;1507:7026:77;3227:17:82;;1507:7026:77;3227:32:82;;;-1:-1:-1;3159:100:82;;2470:110;2544:4;;;;;;;-1:-1:-1;;;;;;;;;;;2544:4:82;:::i;2308:152::-;2354:12;;;1507:7026:77;2384:15:82;;1507:7026:77;;;2308:152:82;2380:69;2413:36;;;-1:-1:-1;2413:36:82;2210:16;-1:-1:-1;2413: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;1358:152:78:-;311:1;1507:7026:77;;1442:17:78;1507:7026:77;;;303:10:78;1507:7026:77;;;1442:61:78;;;;1435:68;1358:152;:::o;1442:61::-;-1:-1:-1;;;;;1507:7026:77;311:1:78;1507:7026:77;;;1442:17:78;1507:7026:77;;;;;303:10:78;1507:7026:77;;;1358:152:78;-1:-1:-1;1358: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;3826:3473:82:-;;3984:17;;;1507:7026:77;;;3984:22:82;3980:59;;4071:36;4094:12;;4071:36;:::i;:::-;4136:16;;;1507:7026:77;;;4193:60:82;;;;4206:12;;4136:16;4206:22;1507:7026:77;4193:60:82;;;-1:-1:-1;;;;;1507:7026:77;4193:60:82;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;4308:17:82;;;4136: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;4415:16:82;;;4136;1507:7026:77;;-1:-1:-1;1507:7026:77;4415:35:82;1507:7026:77;;;;;;-1:-1:-1;1507:7026:77;;;;-1:-1:-1;1507:7026:77;4524:17:82;;;;1507:7026:77;-1:-1:-1;1507:7026:77;4574:16:82;;;4136;1507:7026:77;;-1:-1:-1;1507:7026:77;;4726:17:82;-1:-1:-1;1507:7026:77;;4854:14:82;1507:7026:77;4854:14:82;;1507:7026:77;;;4893:12:82;;;;1507:7026:77;;;4935:12:82;4893;4935;;:24;1507:7026:77;;;4969:2324:82;4976:19;;;;;;4969:2324;3826:3473;;;;;;;;;;;;;:::o;4969:2324::-;-1:-1:-1;5015:51:82;;;;;;;;;;;;;;;;1507:7026:77;;;;5031:16:82;;5015:51;5011: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;4415:16:82;759:552:20;;;;;1507:7026:77;759:552:20;4308:17:82;759:552:20;;;;;;;4574:16:82;759:552:20;;;;;;;1507:7026:77;759:552:20;;;;;;;;;;1507:7026:77;;;;;;;;;;;;5164:194:31;4565:1682;;5279:54:82;;;;1507:7026:77;;;;5295:18:82;;5279:54;5347:57;;5422:12;5418:125;;5636:265;-1:-1:-1;5636:265:82;;4136:16;5636:265;1507:7026:77;-1:-1:-1;5636:265:82;;;;5919:18;;5915:131;;6060:22;;;;;6096:1124;6103:21;;;:44;;;6096:1124;6103:44;;;6262:286;;;;;;;-1:-1:-1;6262:286:82;;4136:16;6262:286;1507:7026:77;-1:-1:-1;6262:286:82;;;6570:12;4574:16;6570:12;;1507:7026:77;4524:17:82;1507:7026:77;;;;;;;;:::i;:::-;6570:48:82;6566:146;;1507:7026:77;;;;6733:34:82;6729:86;;1507:7026:77;;6922:12:82;;357:173:37;;;6837:99:82;;2309:46:80;;357:173:37;-1:-1:-1;;;;;1507:7026:77;2309:46:80;:::i;:::-;6837:99:82;;;;;;:::i;:::-;6836:100;6832:153;;7026:12;4524:17;7026:12;;7067:17;7026:12;;;;;;1507:7026:77;357:173:37;1507:7026:77;;;;;7067:17:82;;1507:7026:77;;7067:17:82;;:::i;:::-;1507:7026:77;7184:21:82;6096:1124;;;;;;;;6832:153;6960:7;;;;;;;;;;;;;;;;;;:::o;6729:86::-;6791:5;;;;;;;;;;;;;;;;;6096:1124;7243:39;;;;7259:12;;;:::i;:::-;4969:2324;;;;;;;;;;;7243:39;;;6566:146;6642:21;;;;;6685:8;;;6103:44;;;;;;;;;;;;;;;;;;6128:19;;;;6103:44;;5915:131;5966:39;;;;;;;;;;;;;;;;;;;;5982:12;;;:::i;5418:125::-;5463:39;;;;;;;;;;;;;;;;;5479:12;;;:::i;5347:57::-;5384:5;;;;;;5279:54;1507:7026:77;;;;5316:17:82;5279:54;;5164:194:31;1507:7026:77;;;;;;;;;;;;;5164:194:31;;4565:1682;1507:7026:77;4524: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;;4524: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;;5011:95:82;5086:5;;;;;5015:51;1507:7026:77;;;;5050:16:82;;5015:51;;4193:60;4231:12;;1507:7026:77;4193:60:82;;;-1:-1:-1;;;;;1507:7026:77;4193:60:82;;3980:59;4022:7;;;;:::o;1694:176:80:-;;1819:43;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1819:43:80;-1:-1:-1;;;;;1507:7026:77;;1694:176:80:o;1819:43::-;1849:13;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;1819:43:80;;1956:216;2083:17;;1507:7026:77;;;;;;2083:82:80;1507:7026:77;;;;;;;;;;2103:30:80;;1956:216;:::o;2083:82::-;1507:7026:77;;;;;2136:29:80;1956:216;:::o;1517:171::-;1628:17;;1507:7026:77;;;;;;1628:53:80;1507:7026:77;;;;;;;1517:171:80;:::o;1628:53::-;1507:7026:77;;1517:171:80;:::o;7305:1520:82:-;7607:12;;;1507:7026:77;;-1:-1:-1;;;;1507:7026:77;-1:-1:-1;;;1507:7026:77;;;;;7305:1520:82;;1507:7026:77;;;;;;;;;7305:1520:82;;;;;;7732:53;1507:7026:77;7305:1520:82;7732:53;:::i;:::-;7848:18;;7813:54;;;;:::i;:::-;1507:7026:77;;8279:17:82;;;1507:7026:77;8310:8:82;;;;1507:7026:77;;4323:15:83;;1507:7026:77;;4323:15:83;;-1:-1:-1;;;;;1507:7026:77;;;;;;-1:-1:-1;;1507:7026:77;;;;;;;;;;;;;;4307:33:83;;1507:7026:77;;4307:33:83;:::i;:::-;8310:8:82;1507:7026:77;;;;;:::i;:::-;;7622:34:82;1507:7026:77;;;;;7622:34:82;1507:7026:77;8279:17:82;4212:145:83;;1507:7026:77;8310:8:82;4212:145:83;;1507:7026:77;4212:145:83;;;;1507:7026:77;8310:8:82;1507:7026:77;;;;;;;;4154:229:83;;7607:12:82;4154:229:83;;;;;;:::i;:::-;;;;8310:8:82;4154:229:83;-1:-1:-1;4154:229:83;;;;;;;5252:104;4154:229;;;;;;;;;;;;-1:-1:-1;;;4154:229:83;;;7305:1520:82;-1:-1:-1;4627:66:83;;5149:59;;-1:-1:-1;;;;;1507:7026:77;;;;2052:83:34;1507:7026:77;2052:83:34;4627:66:83;;-1:-1:-1;;;;;1507:7026:77;;;;2241:89:34;;4733:66:83;;-1:-1:-1;;;;;1507:7026:77;;;-1:-1:-1;4842:60:83;;-1:-1:-1;;;;;1507:7026:77;;;4945:60:83;7607:12:82;-1:-1:-1;4945:60:83;;7607:12:82;1507:7026:77;5042:49:83;1507:7026:77;;;;;5042:49:83;1507:7026:77;;;8279:17:82;5062:13:83;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;5149:59:83;:::i;:::-;1507:7026:77;;;4212:145:83;1507:7026:77;5252:104:83;;:::i;:::-;1507:7026:77;;;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;5371:27:83;:58;;;;5042:49;5367:224;;5042:49;8416:66:82;;;;;1507:7026:77;;;;;;;;5131:17:80;-1:-1:-1;7622:34:82;5131:17:80;;1507:7026:77;5131:25:80;;1507:7026:77;;;;;5131:25:80;:::i;:::-;;;:::i;:::-;1507:7026:77;5202: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;;;;;5294:19:80;;;:::i;:::-;5371:17;5353;7622:34:82;5371:17:80;;1507:7026:77;;;-1:-1:-1;1507:7026:77;5353:17:80;8279::82;1507:7026:77;8310:8:82;-1:-1:-1;1507:7026:77;;;;;;;;-1:-1:-1;1507:7026:77;;;4212:145:83;1507:7026:77;-1:-1:-1;1507:7026:77;5408:15:80;;1507:7026:77;7622:34:82;1507:7026:77;;;;;;;;;;1164:14:79;1160:218;;2744:145:84;7607:12:82;;5516:19:80;7607:12:82;;;1507:7026:77;4212:145:83;1507:7026:77;5516: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;;;;;;;;;;;5630:69:80;;7607:12:82;;1507:7026:77;;;;;8310:8:82;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;8279:17:82;1507:7026:77;;;;;;;;;;;;;;4212:145:83;1507:7026:77;;;;;;;;;;;;;;;;;;;;;;7622:34:82;1507:7026:77;;;;;;;;;;;;;;;;;;;;8498:320:82;;1507:7026:77;;8498:320:82;7305:1520::o;1160:218:79:-;846:396:31;7622:34:82;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1338:11:79;1676:170:31;7622: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;1353:14:79;1507:7026:77;;1338:29:79;1507:7026:77;;1160: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;8279:17:82;3594:343:84;8310:8:82;3594:343:84;;1507:7026:77;3594:343:84;;2744:145;;2526;3594:343;;;;8279:17:82;3594:343:84;;8310:8:82;3594:343:84;;;2526:145;;5367:224:83;5469:111;;;;;;;:::i;:::-;5445:135;;5367:224;;;;;;;;5371:58;1507:7026:77;-1:-1:-1;1507:7026:77;2241:89:34;1507:7026:77;5402:27:83;5371:58;;5042:49;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;5149:59:83;:::i;4945:60::-;7607:12:82;2241:89:34;;;4945:60:83;;;4842;2052:83:34;1507:7026:77;2052:83:34;4842:60:83;;;4733:66;4775:24;2241:89:34;;;;;;;4775:24:83;:::i;:::-;4733:66;;;4627;4669:24;2052:83:34;1507:7026:77;2052:83:34;;1507:7026:77;2052:83:34;4669:24:83;:::i;:::-;4627:66;;;4154:229;5149:59;4154:229;;;;;8310:8:82;4154:229:83;8310:8:82;4154: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;4822:884:80:-;;;;5469:11;4822:884;1507:7026:77;;;;;5106:15:80;;;1507:7026:77;;5131:17:80;-1:-1:-1;5131:17:80;;;1507:7026:77;5131:25:80;;1507:7026:77;;;;;5131:25:80;:::i;:::-;;;:::i;:::-;2079:369:84;;;5202:17:80;2079:369:84;;;;;2530:20;;;;;;;1507:7026:77;;;2526:145:84;2748:20;;;;;;5202: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;;;;;5294:19:80;;;:::i;:::-;5371:17;5131;5371;;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;;;5408:15:80;1507:7026:77;-1:-1:-1;1507:7026:77;5408:15:80;;1507:7026:77;5131:17:80;1507:7026:77;;;;;;;;;;1164:14:79;1160:218;;2744:145:84;5469:11:80;;;1507:7026:77;5408:15:80;1507:7026:77;5516: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;;;;;;;;;;;5565: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;;;;;;;;;;;;;5630:69:80;;4822:884::o;1160:218:79:-;846:396:31;5131:17:80;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1338:11:79;1676:170:31;5131:17:80;1676:170:31;;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;5202:17:80;1676:170:31;1507:7026:77;-1:-1:-1;1507:7026:77;1676:170:31;;1507:7026:77;1353:14:79;1507:7026:77;;1338:29:79;1507:7026:77;;1160: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;;5202:17:80;3594:343:84;;;;;2744:145;;2526;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:84;;;;;;;2526:145;;1507:7026:77;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;;;;;;:::o;9356:980:83:-;;;;;1507:7026:77;;:::i;:::-;-1:-1:-1;;;;;;1507:7026:77;;;;9648:570:83;;9356:980;10289:40;;;;;;:::i;9648:570::-;1507:7026:77;;-1:-1:-1;;;9692:44:83;;;;;1507:7026:77;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;9692:44:83;1507:7026:77;;9692:44:83;;9670:1;;9692:44;;;9648:570;9688:520;;;9648:570;;;;9688:520;1507:7026:77;9692:44:83;1507:7026:77;;9783:12:83;;:41;;;;9688:520;9779:406;;;9688:520;;;;;9779:406;9670:1;1507:7026:77;9692:44:83;1507:7026:77;;;;;;;;;9861:50:83;;9692:44;9861:50;;1507:7026:77;9861:50:83;;;;;;;9670:1;9861:50;;;9779:406;10012:15;;;1507:7026:77;;10012:26:83;;:87;;;;9779:406;10008:159;;;9779:406;;;10008:159;10127:17;;;:::o;10012:87::-;-1:-1:-1;;;;;1507:7026:77;-1:-1:-1;10042:18:83;;;:::i;:::-;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;448:51:36;10012:87:83;;;9861:50;;;;;;9670:1;9861:50;;;;;;:::i;:::-;;;1507:7026:77;;;;;;;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9861: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;:::-;;;;;;;;;;;;;9783:41:83;9799:25;;;;:::i;:::-;9783:41;;;9692:44;;;;1507:7026:77;9692:44:83;;1507:7026:77;9692:44:83;;;;;;1507:7026:77;9692:44:83;;;:::i;:::-;;;1507:7026:77;;;;;;;;;;;;9692:44:83;;;;;;;-1:-1:-1;9692:44:83;;11598:1322;;;;;;;12424:1;1507:7026:77;;;12414:11:83;:34;12424:1;;;-1:-1:-1;;;;;1507:7026:77;;12414:34:83;12424:1;1507:7026:77;;;12523:11:83;:34;12424:1;;;-1:-1:-1;;;;;1507:7026:77;12523:34:83;12571:21;;;1507:7026:77;12606:15:83;;1507:7026:77;;12606: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;;;;12571: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;:::-;12424: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;;12159:472:83;2279:15:59;;;;-1:-1:-1;2279:15:59;;-1:-1:-1;2279:15:59;-1:-1:-1;12159:472:83;-1:-1:-1;;;;;1507:7026:77;;12642:272:83;;2259:355:59;11598:1322:83;;;;;:::o;12642:272::-;12787:4;;;;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;4998:58:36;12806:98:83;;12642:272;;;;;;;12806:98;-1:-1:-1;;;;;1507:7026:77;;-1:-1:-1;12806: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;:::-;12424: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;;;;12424:1:83;1507:7026:77;;12424:1:83;1507:7026:77;12523:34:83;;12424:1;12523:34;;12414;;12424:1;12414:34;;;10848:263;1507:7026:77;;-1:-1:-1;;;10931:63:83;;-1:-1:-1;;;10931:63:83;;;1507:7026:77;;;;;;10931:63:83;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;10931:63:83;;1507:7026:77;;10931:63:83;;;10848:263;-1:-1:-1;10927:178:83;;11082:12;1507:7026:77;11082:12:83;:::o;10931:63::-;;;;1507:7026:77;10931:63:83;;1507:7026:77;10931:63:83;;;;;;1507:7026:77;10931:63:83;;;:::i;:::-;;;1507:7026:77;;;;;;;:::i;:::-;10931:63:83;;;;;;;-1:-1:-1;10931:63:83;;10342:500;;1507:7026:77;;:::i;:::-;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;448:51:36;;;10520:63:83;;-1:-1:-1;10554:13:83;;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;10520:63:83;-1:-1:-1;;;;;1507:7026:77;10593:21:83;;;1507:7026:77;;;;;;;;;;:::i;:::-;10672:1:83;1507:7026:77;;-1:-1:-1;;1507:7026:77;;-1:-1:-1;1507:7026:77;;;;;;10640:34:83;;;;10684:151;10640:34;;;1507:7026:77;10757:7:83;;;1507:7026:77;;10779:15:83;1507:7026:77;10779:15:83;;1507:7026:77;;;;;;;;;;10803:9:83;;1507:7026:77;;;;;;;;;;:::i;:::-;-1:-1:-1;1507:7026:77;;;;;;;;:::i;:::-;;;;10705:130:83;;1507:7026:77;10705:130:83;;1507:7026:77;;10705:130:83;;1507:7026:77;;10705:130:83;;1507:7026:77;10684:15:83;;:151;;;;:::i;:::-;;;:::i;1507:7026:77:-;10593:21:83;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;;;;;;;;;;;;;;;;;;10520: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;11117:475:83:-;-1:-1:-1;;11117:475:83;;-1:-1:-1;;;;;1507:7026:77;;11252:121:83;;-1:-1:-1;;;;;1507:7026:77;;11383:49:83;;;;;1507:7026:77;11383:49:83;1507:7026:77;;;;;;;;;;;;;;;11383:49:83;;11418:4;11383:49;;;;;:::i;:::-;;;;;;;;;;;;;;11117:475;-1:-1:-1;;;;;;;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;11442:36:83;;;;;1507:7026:77;;-1:-1:-1;;;11442:36:83;;;1507:7026:77;11383:49:83;1507:7026:77;11442:36:83;;;;;;;;;;;;;11117:475;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;11493:39:83;;-1:-1:-1;;;;;1507:7026:77;;;11383:49:83;11493:39;;1507:7026:77;;;;;;;;;;;;;11493:39:83;;1507:7026:77;;11493:39:83;;;;;;;;;;;11117:475;11492:40;;11488:98;;11117:475;:::o;11488:98::-;-1:-1:-1;;;11555:20:83;;11383:49;;11555:20;11493:39;;;1507:7026:77;11493:39:83;;1507:7026:77;11493:39:83;;;;;;1507:7026:77;11493:39:83;;;:::i;:::-;;;1507:7026:77;;;;;;;:::i;:::-;11493:39:83;;;1507:7026:77;;;;11493:39:83;;;-1:-1:-1;11493:39:83;;;1507:7026:77;;;;;;;;;11442:36:83;;;;;:::i;:::-;1507:7026:77;;11442:36:83;;;;1507:7026:77;;;;11442:36:83;1507:7026:77;;;;;;;;;11383:49:83;;;;;:::i;:::-;1507:7026:77;;11383:49:83;;;;;1507:7026:77;;;11252:121:83;1507:7026:77;;-1:-1:-1;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;-1:-1:-1;11297:45:83;;;;;;1507:7026:77;-1:-1:-1;1507:7026:77;;;;;;;;;;;;;;11297:45:83;;;;;;:::i;:::-;;;;;;;;;;;11356:7;:::o;11297:45::-;-1:-1:-1;11297: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;:::-;;;;;;;;10771:138:81;;1507:7026:77;;;;10771:138:81;;1507:7026:77;;;;;;10771:138:81;;1507:7026:77;;;;10771: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;:::-;;;;;;;;10771: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;2309:46:80;357:173:37;;;2309:46:80;;:::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;10771:138:81;;5761:15;1507:7026:77;5747:37:81;:::i;:::-;5800:9;2282:1;5800:9;1507:7026:77;10771: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:457: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:366:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;9164:366:81;;;1507:7026:77;;;9164:366:81;;1507:7026:77;;;;;-1:-1:-1;;;9099:457:81;;1507:7026:77;;;;;;;5611:16:81;9099:457;;;:::i;:::-;;1507:7026:77;2282:1:81;-1:-1:-1;;;;;1507:7026:77;;9099:457:81;;;;;;;2282:1;9099:457;;;6789:39;2052:83:34;;1507:7026:77;2052:83:34;2241:89;;;9652:455:81;;;;;9822:52;2282:1;1507:7026:77;2241:89:34;1507:7026:77;9822:11:81;:52;2282:1;;;9859:8;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;9822:52:81;9652:455;;-1:-1:-1;;;;;1507:7026:77;;10125:17:81;1507:7026:77;;;7176:223:81;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;;;10199:35:81;-1:-1:-1;10195:112:81;;9652:455;-1:-1:-1;10368:10:81;;1507:7026:77;;10368: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;7493:6:83;;:31;;;2393:40;7489:115;;2393:40;7617:6;;2282:1:81;7617:6:83;;7613:582;;2393:40;8209:6;;2282:1:81;8209:6:83;;:31;;;2393:40;8205:234;;2393:40;8452:6;2282:1:81;8452:6:83;;8448:330;;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;3164:38:80;5261:14:81;3124:15:80;;1507:7026:77;;;;;;;;;;;;871:1:84;;;;;;;1507:7026:77;;;;;;;7176:223:81;;1507:7026:77;;3164:38:80;;:::i;:::-;1507:7026:77;7176:223:81;;1507:7026:77;5611:16:81;3212: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:15:80;;1507:7026:77;3491: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;;3899:17:80;;1507:7026:77;3899:33:80;;1507:7026:77;;;;;3899:33:80;:::i;:::-;3989: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;;;4028:14:80;;:26;1507:7026:77;;;;;;;;;;;809:15:79;805: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;;;;;;;;;;;;;4574:143:80;;1507:7026:77;;4435:55:80;;1507:7026:77;;;4435: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;;4633: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;;;4574:143:80;1507:7026:77;;;;;;5402:323:81;;;1507:7026:77;;-1:-1:-1;;;;;;;;;;;1507:7026:77;;;;;;5402:323:81;;;;1507:7026:77;;;;;;;;4732: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;;805:218:79;846:396:31;1507:7026:77;846:396:31;;2282:1:81;846:396:31;;;;;;;984: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;;;984:28:79;1507:7026:77;;805: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;;;8448:330:83;8618:3;;;;;;;;;:::i;:::-;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;;;8636:31:83;;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;8636:31:83;;5611:16:81;8636:31:83;;1507:7026:77;;;;;;;8636:31:83;;;;;;;8726:6;8636:31;;;8448:330;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;;;8726:6:83;:::i;:::-;1507:7026:77;;-1:-1:-1;;;8747:20:83;;1507:7026:77;;;5611:16:81;1507:7026:77;2282:1:81;-1:-1:-1;;;;;1507:7026:77;;8747:20:83;;;;;;;1507:7026:77;8747:20:83;1507:7026:77;8747:20:83;357:173:37;8747:20:83;;;8448:330;;;;;;;;;;;8747:20;;;1507:7026:77;8747:20:83;;;;;;;;;:::i;:::-;;;;;8636:31;2282:1:81;8636:31:83;;;:::i;:::-;;;;8205:234;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;;8375:53:83;;;;1507:7026:77;;8375:53:83;1507:7026:77;2282:1:81;1507:7026:77;;;;;;;;;;;;;;8375:53:83;;5611:16:81;8375:53:83;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;8375:53:83;;;;;;;8205:234;8375:53;2282:1:81;8375:53:83;;;:::i;:::-;;8205:234;;8209:31;-1:-1:-1;;;;;;1507:7026:77;;8219:21:83;;8209:31;;7613:582;7783:3;;;:::i;:::-;1507:7026:77;;;;;-1:-1:-1;;;;;1507:7026:77;;;;;;7801:31:83;;;;2282:1:81;1507:7026:77;;;;;;;;;;;;;;7801:31:83;;5611:16:81;7801:31:83;;1507:7026:77;;;;;;;7801:31:83;;;;;;;;7613:582;-1:-1:-1;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;4998:58:36;7957:29:83;;1507:7026:77;;;5611:16:81;1507:7026:77;;;;;;;;;8006:35:83;;1507:7026:77;;;;;;8006:35:83;;;;;;;;7953:232;;;7613:582;;;;8006:35;;;1507:7026:77;8006:35:83;;;;;;;;;:::i;:::-;;;;;7953:232;8125:6;;1507:7026:77;-1:-1:-1;;;;;1507:7026:77;;;8125:6:83;:::i;:::-;2282:1:81;1507:7026:77;;5611:16:81;1507:7026:77;;;;;;;;;8150:20:83;;1507:7026:77;;;;;;8150:20:83;;;;;;;;7953:232;;;;8150:20;;;1507:7026:77;8150:20:83;;;;;;;;;:::i;:::-;;;;;7801:31;2282:1:81;7801:31:83;;;:::i;:::-;;;;7489:115;1507:7026:77;;-1:-1:-1;;;;;1507:7026:77;;;;;7540:53:83;;;;1507:7026:77;;2282:1:81;1507:7026:77;;7540:53:83;1507:7026:77;;;;;;;;;;;;;7540:53:83;;5611:16:81;7540:53:83;;;:::i;:::-;;;-1:-1:-1;;;;;1507:7026:77;7540:53:83;;;;;;;;7489:115;;;;;7540:53;2282:1:81;7540:53:83;;;:::i;:::-;;;;7493:31;-1:-1:-1;;;;;;1507:7026:77;;7503:21:83;;7493:31;;2393:40;;2282:1:81;2393:40:83;;;2325;2614:4:81;2325:40:83;;;10195:112:81;10261:35;;;;;;;:::i;:::-;10195:112;;;;9822:52;;2282:1;9822:52;;9652:455;10044:52;-1:-1:-1;2282:1:81;10044:11;;2282:1;;;10081:8;;;:::i;:::-;-1:-1:-1;;;;;1507:7026:77;10044:52:81;9652:455;;;10044:52;;2282:1;10044:52;;9099:457;;;;1507:7026:77;9099:457: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":7305,"length":20},{"start":19542,"length":20}]}},"immutableReferences":{"10714":[{"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":5805,"length":32},{"start":6048,"length":32},{"start":6234,"length":32},{"start":6996,"length":32},{"start":7621,"length":32},{"start":7795,"length":32},{"start":7855,"length":32},{"start":8934,"length":32},{"start":9001,"length":32},{"start":9074,"length":32},{"start":9137,"length":32},{"start":9288,"length":32},{"start":9366,"length":32},{"start":9478,"length":32},{"start":9545,"length":32},{"start":9642,"length":32},{"start":9740,"length":32},{"start":9808,"length":32},{"start":9929,"length":32},{"start":10007,"length":32},{"start":10799,"length":32},{"start":11737,"length":32}],"10717":[{"start":2932,"length":32},{"start":10836,"length":32}],"10720":[{"start":1962,"length":32},{"start":4546,"length":32}],"10722":[{"start":2997,"length":32},{"start":6175,"length":32},{"start":10876,"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\":\"0xa882ec8dc341d8a2651112ee0aa105480d0e306d547a81f05a1fb2d64d6ccb8f\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://e9482377d0c678640fdb3b0c5c5c9086bc2d17538693fedfbc0fc184b4d100dc\",\"dweb:/ipfs/Qmbgq8ZP5qtM9pwqLeLAiGD9ic8Zs6bqS8WpkjVnqnkPpt\"]},\"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\":\"0x09621325cb88e2b27558e144f8a683d0055f85ca8103d2d8855c659cc38456e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://beec70505a8f4a022cb9f8d567180426c7279df4e520d4deec9be02adbe49fd7\",\"dweb:/ipfs/QmPpTyG2rHXyPecKNJzTj9fhV8q2gt3WzoEMoqe9jVKGZT\"]},\"src/libs/LimitOrderBitmap.sol\":{\"keccak256\":\"0xfc20115f2904be299412fa90b8a7573c429ed67d690a351168d6f495333e4471\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://5e3acc0f3f7035bffa06d67f489dd345e0781098502ae25a3284eba7d2bbd8c5\",\"dweb:/ipfs/QmXN2DQn7VZ5aYc5xmX5uezJejVusWhhSgAXrvN8jmxM3Y\"]},\"src/libs/LimitOrderCommon.sol\":{\"keccak256\":\"0x28f33092e777da786ee80d5d8a09ab3322d1094d517a22d899b361c76ed70e57\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://491a707509943f87292fbd7cb7fe956b39b7b86d10003f670c65ceee203f71bb\",\"dweb:/ipfs/QmbiETprDYUg3kw3HTDJkQP1HJ1Ad62MU1ofVF1zLJp1LG\"]},\"src/libs/LimitOrderCreate.sol\":{\"keccak256\":\"0x7575f2fff4a23090ca88575048c6f7db5c99189dc0e93de9c7ff48a634b8e751\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a7e54320c198ac335f415eeb122f1e53978a6dbff596e58bc981076fb32ab788\",\"dweb:/ipfs/Qmc4sQSrHH9XDwMJSUPpxNEwJMcn8vg3asxuitu2YaZtGp\"]},\"src/libs/LimitOrderFill.sol\":{\"keccak256\":\"0x7e010fb0650584617b4186a2d4862bc32d17959143f78ed006d66525f8dae661\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://06e8df49666c766e4e20ab90a9d02e185248f54475dbdc70363a7558194ba647\",\"dweb:/ipfs/QmbkGonmvuD1Q5xnZp14CJcyWFYLJSSRerFQH5a3gnNsjL\"]},\"src/libs/LimitOrderLiquidity.sol\":{\"keccak256\":\"0xbf98050110676b8f75519c88c9d44314269c2bbf3b63192934f7251004fc5ecd\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://4b81ecb8e9e9336faa3bc652ef0c9c0b1701eedc91b84be74f06c794e3c92d96\",\"dweb:/ipfs/QmbLMbcU3iC4RYpixb1hW2KT3kHsaiMby99CnC1TGr5wYe\"]},\"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\":\"0x7c1687cdec55894d876e55391a56ae1e6cf4f850ca2454f18f1997f384dd53b8\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://c97896b0d3a98411df07bffa3301b9c377ea36b226cd054c1b71736ed3c158af\",\"dweb:/ipfs/Qme5yzY8P5TM9nTDYBpxfUvtd5ZLPRKbgWD394eywtHkLZ\"]}},\"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":"0xa882ec8dc341d8a2651112ee0aa105480d0e306d547a81f05a1fb2d64d6ccb8f","urls":["bzz-raw://e9482377d0c678640fdb3b0c5c5c9086bc2d17538693fedfbc0fc184b4d100dc","dweb:/ipfs/Qmbgq8ZP5qtM9pwqLeLAiGD9ic8Zs6bqS8WpkjVnqnkPpt"],"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":"0x09621325cb88e2b27558e144f8a683d0055f85ca8103d2d8855c659cc38456e1","urls":["bzz-raw://beec70505a8f4a022cb9f8d567180426c7279df4e520d4deec9be02adbe49fd7","dweb:/ipfs/QmPpTyG2rHXyPecKNJzTj9fhV8q2gt3WzoEMoqe9jVKGZT"],"license":"MIT"},"src/libs/LimitOrderBitmap.sol":{"keccak256":"0xfc20115f2904be299412fa90b8a7573c429ed67d690a351168d6f495333e4471","urls":["bzz-raw://5e3acc0f3f7035bffa06d67f489dd345e0781098502ae25a3284eba7d2bbd8c5","dweb:/ipfs/QmXN2DQn7VZ5aYc5xmX5uezJejVusWhhSgAXrvN8jmxM3Y"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCommon.sol":{"keccak256":"0x28f33092e777da786ee80d5d8a09ab3322d1094d517a22d899b361c76ed70e57","urls":["bzz-raw://491a707509943f87292fbd7cb7fe956b39b7b86d10003f670c65ceee203f71bb","dweb:/ipfs/QmbiETprDYUg3kw3HTDJkQP1HJ1Ad62MU1ofVF1zLJp1LG"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCreate.sol":{"keccak256":"0x7575f2fff4a23090ca88575048c6f7db5c99189dc0e93de9c7ff48a634b8e751","urls":["bzz-raw://a7e54320c198ac335f415eeb122f1e53978a6dbff596e58bc981076fb32ab788","dweb:/ipfs/Qmc4sQSrHH9XDwMJSUPpxNEwJMcn8vg3asxuitu2YaZtGp"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderFill.sol":{"keccak256":"0x7e010fb0650584617b4186a2d4862bc32d17959143f78ed006d66525f8dae661","urls":["bzz-raw://06e8df49666c766e4e20ab90a9d02e185248f54475dbdc70363a7558194ba647","dweb:/ipfs/QmbkGonmvuD1Q5xnZp14CJcyWFYLJSSRerFQH5a3gnNsjL"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderLiquidity.sol":{"keccak256":"0xbf98050110676b8f75519c88c9d44314269c2bbf3b63192934f7251004fc5ecd","urls":["bzz-raw://4b81ecb8e9e9336faa3bc652ef0c9c0b1701eedc91b84be74f06c794e3c92d96","dweb:/ipfs/QmbLMbcU3iC4RYpixb1hW2KT3kHsaiMby99CnC1TGr5wYe"],"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":"0x7c1687cdec55894d876e55391a56ae1e6cf4f850ca2454f18f1997f384dd53b8","urls":["bzz-raw://c97896b0d3a98411df07bffa3301b9c377ea36b226cd054c1b71736ed3c158af","dweb:/ipfs/Qme5yzY8P5TM9nTDYBpxfUvtd5ZLPRKbgWD394eywtHkLZ"],"license":"ZORA-DELAYED-OSL-v1"}},"version":1},"id":77}
|
|
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":"contractVersion","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"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":"0x610100346102a857601f615cbb38819003918201601f19168301916001600160401b038311848410176102ac5780849260a0946040528339810103126102a857610048816102c0565b90610055602082016102c0565b610061604083016102c0565b6100796080610072606086016102c0565b94016102c0565b6001600160a01b0390931693841561029557600180546001600160a01b03199081169091555f80549182168717815560405196916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a35f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b805460ff191660011790556001600160a01b0316918215610286576001600160a01b0316908115610286576001600160a01b0316918215610286576001600160a01b038416156102865760805260a05260c05260e05260327f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec556159e690816102d58239608051818181601c015281816103960152818161043e0152818161061401528181610ffa01528181611364015281816116ff015281816117f2015281816118ac01528181611ba601528181611e1701528181611ec501528181611f01015281816123380152818161237b015281816123c4015281816124030152818161249a015281816124e8015281816125580152818161259b015281816125fc0152818161265e015281816126a20152818161271b0152818161276901528181612a810152612e2b015260a051818181610bc60152612aa6015260c0518181816107b50152611214015260e051818181610c07015281816118710152612ace0152f35b639fabe1c160e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036102a85756fe60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610bf5575080635ef3e95514610bb15780635f8fbad614610b50578063715018a614610aed57806379ba509714610a685780637a9cf273146108f05780637fcc389f146108c35780638da5cb5b1461089c57806391dd73461461082b578063a0a8e460146107e4578063a6de70b4146107a0578063aa24fafc14610686578063c2ec68ea146104c3578063c96d060b14610496578063d8c317721461046d578063dc4c90d314610429578063e30c397814610401578063eb07ed2414610213578063f2fde38b146101a35763f7888aec14610143575f61000f565b3461019f57604036600319011261019f5761015c610c69565b610164610c53565b6001600160a01b039182165f9081525f5160206159c65f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b3461019f57602036600319011261019f576101bc610c69565b6101c4612e78565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b3660031901610120811261019f5760a01361019f5760405161023481610ce7565b6004356001600160a01b038116810361019f5781526024356001600160a01b038116810361019f57602082015260443562ffffff8116810361019f5760408201526064358060020b810361019f5760608201526084356001600160a01b038116810361019f5760808201526102a7610c36565b9060c4356001600160401b03811161019f573660238201121561019f578060040135906102d382610dbe565b916102e16040519384610d9d565b8083526024602084019160051b8301019136831161019f57602401905b8282106103f15750505060e4356001600160401b03811161019f573660238201121561019f5780600401359061033382610dbe565b916103416040519384610d9d565b8083526024602084019160051b8301019136831161019f57602401905b8282106103d9575050610104359290506001600160a01b038316830361019f5761038733612e8b565b156103ca576103c6946103ba947f0000000000000000000000000000000000000000000000000000000000000000612f3f565b60405191829182610dd5565b0390f35b638078f92160e01b5f5260045ffd5b602080916103e684610c45565b81520191019061035e565b81358152602091820191016102fe565b3461019f575f36600319011261019f576001546040516001600160a01b039091168152602090f35b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f5760205f5160206159a65f395f51905f5254604051908152f35b3461019f57602036600319011261019f576104af612e78565b6004355f5160206159a65f395f51905f5255005b3461019f57608036600319011261019f576004356001600160401b03811161019f576104f3903690600401610c93565b906104fc610c53565b6064356001600160a01b03811693919084900361019f576105316105b7936040519361052785610ce7565b33855236916112e0565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261058860405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610f2b565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d9d565b60405190816105ed816105df5f946002602061060f9801526040808401526060830190610cc3565b03601f198101835282610d9d565b604051809381926348c8949160e01b8352602060048401526024830190610cc3565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675761064a57005b610665903d805f833e61065d8183610d9d565b810190612dd9565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b3461019f57604036600319011261019f576004356001600160401b03811161019f576106b6903690600401610c93565b6024356001600160401b03811161019f576106d5903690600401610c93565b926106de612e78565b838303610791575f5b8381106106f057005b806107066107016001938887612994565b61132c565b828060a01b0361071f61071a848988612994565b6129b8565b165f52600260205260405f209060ff80198354169115151617905561074861071a828786612994565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c6020610779610701858b8a612994565b926040519315158452858060a01b031692a2016106e7565b63b85b903160e01b5f5260045ffd5b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f576103c6604051610805604082610d9d565b6005815264181719171b60d91b6020820152604051918291602083526020830190610cc3565b3461019f57602036600319011261019f576004356001600160401b03811161019f573660238201121561019f578060040135906001600160401b03821161019f57366024838301011161019f576103c6916024610888920161135e565b604051918291602083526020830190610cc3565b3461019f575f36600319011261019f575f546040516001600160a01b039091168152602090f35b3461019f57602036600319011261019f5760206108e66108e1610c69565b612e8b565b6040519015158152f35b3461019f57604036600319011261019f576004356001600160401b03811161019f57610920903690600401610c93565b610928610c53565b913681900360de1901905f5b83811015610665578060051b8201358381121561019f5782019060c0820161095c81846112ab565b905061096e575b506001915001610934565b61097b61098291846112ab565b36916112e0565b9161098f60a0820161132c565b9083519360a08236031261019f576040516109a981610ce7565b6109b283610c7f565b81526109c060208401610c7f565b602082015260408301359162ffffff8316830361019f57600196610a6295610a0760806105df97610a5d9760408801526109fc60608201610c45565b606088015201610c7f565b608085015260405193610a1985610d31565b610a21612af5565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f5e565b612dfe565b86610963565b3461019f575f36600319011261019f57600154336001600160a01b0390911603610ada57600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b3461019f575f36600319011261019f57610b05612e78565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019f573660031901610140811261019f5760a01361019f57610b72610c36565b60c435908160020b820361019f5760e435908160020b820361019f5761012435916001600160a01b038316830361019f57610665936101043592610fd3565b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019f57565b35908160020b820361019f57565b602435906001600160a01b038216820361019f57565b600435906001600160a01b038216820361019f57565b35906001600160a01b038216820361019f57565b9181601f8401121561019f578235916001600160401b03831161019f576020808501948460051b01011161019f57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610d0257604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610d0257604052565b60e081019081106001600160401b03821117610d0257604052565b606081019081106001600160401b03821117610d0257604052565b60c081019081106001600160401b03821117610d0257604052565b604081019081106001600160401b03821117610d0257604052565b90601f801991011681019081106001600160401b03821117610d0257604052565b6001600160401b038111610d025760051b60200190565b60206040818301928281528451809452019201905f5b818110610df85750505090565b8251845260209384019390920191600101610deb565b5190811515820361019f57565b51906001600160a01b038216820361019f57565b519062ffffff8216820361019f57565b51908160020b820361019f57565b91908260a091031261019f57604051610e6581610ce7565b6080610eb1818395610e7681610e1b565b8552610e8460208201610e1b565b6020860152610e9560408201610e2f565b6040860152610ea660608201610e3f565b606086015201610e1b565b910152565b90610ec082610dbe565b610ecd6040519182610d9d565b8281528092610ede601f1991610dbe565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610f485750505090565b8251845260209384019390920191600101610f3b565b61018060c0610fd09360208452610f79602085018251610ee8565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610f2b565b90565b939291925f5160206159a65f395f51905f5254831580156112a2575b61129a575b5061101e7f00000000000000000000000000000000000000000000000000000000000000006129db565b92836111f9575b61102d612a6a565b9460018060a01b038651169660405197633fe552eb60e01b89525f5160206159a65f395f51905f5260048a0152602489015260043560018060a01b03811680910361019f5760448901526024356001600160a01b0381169081900361019f57606489015260443562ffffff811680910361019f5760848901526064358060020b80910361019f5760a48901526084356001600160a01b0381169081900361019f5760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af48015610667575f965f905f926111a3575b506040519461112d602087610d9d565b5f86525f368137604051986111418a610d31565b611149612af5565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261119957506105df610a5d6111979260405192839160208301610f5e565b565b9061119791612b4e565b9750505060e03d60e0116111f2575b6111bc8188610d9d565b860160e08782031261019f576111d29087610e4d565b6111ea60c06111e360a08a01610e3f565b9801610e3f565b90965f61111d565b503d6111b2565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610667575f91611260575b50611025576344863e8560e11b5f5260045ffd5b90506020813d602011611292575b8161127b60209383610d9d565b8101031261019f5761128c90610e0e565b5f61124c565b3d915061126e565b92505f610ff4565b50808411610fef565b903590601e198136030182121561019f57018035906001600160401b03821161019f57602001918160051b3603831361019f57565b9291906112ec81610dbe565b936112fa6040519586610d9d565b602085838152019160051b810192831161019f57905b82821061131c57505050565b8135815260209182019101611310565b35801515810361019f5790565b6001600160401b038111610d0257601f01601f191660200190565b6003111561067257565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c5782019160408184031261019f57803590600382101561019f576020810135906001600160401b03821161019f57019183601f8401121561019f5782356113d781611339565b936113e56040519586610d9d565b81855260208501956020838301011161019f57815f92602080930188378501015261140f82611354565b8115611a1c575061141f81611354565b60018103611514575090611431612a6a565b8251830192602084019260208286031261019f5751906001600160401b03821161019f570192610160908490031261019f576040519161147083610d31565b61147d8160208601610e4d565b835261148b60c08501610e0e565b602084015261149c60e08501610e3f565b60408401526114ae6101008501610e3f565b606084015261012084015160808401526114cb6101408501610e1b565b60a0840152610160840151906001600160401b03821161019f5760206114f692611500960101612ee2565b60c0830152612b4e565b60405161150e602082610d9d565b5f815290565b60029061152081611354565b03611a0d57805181019160208284031261019f5751906001600160401b03821161019f57019060a08282031261019f576040519061155d82610ce7565b61156960208401610e1b565b825260408301516001600160401b03811161019f5760208061158f930191850101612ee2565b8060208301526115a160608401610e1b565b918260408201526115bf60a060808601519586606085015201610e1b565b6080820181905290516001600160a01b0390811691908116156119fe5782519182156119d1579392905f945f94871515935b858710611623575b5050505050505081811061160e575050611500565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966116348883612b3a565b51805f525f5160206159665f395f51905f5260205260405f206004810154918260601c80156119d15787036119ef57600160ff8460501c1661167581611354565b036119e057600382015492600283015492835f525f5160206159865f395f51905f5260205260405f20604051906116ab82610ce7565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b60608501819052920154166080830152156119d15761172d61172360a083207f000000000000000000000000000000000000000000000000000000000000000061393d565b505090508361347e565b6119c2576117ed9061173e836134a9565b95604060ff8660581c1695611753878561344f565b925f525f5160206159465f395f51905f52602052815f2060018060a01b0384165f52602052815f208960020b5f5260205261179f86835f2060ff60501b19841660048301558587613acb565b506117ac8a60801c6139f6565b8251916117b883610d16565b8060020b835260181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b83528660048401613a1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667578c946118d08f9460c0956002947f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde985f91611993575b508a1561197c578251611896906001600160a01b03165b7f0000000000000000000000000000000000000000000000000000000000000000946141fc565b91600f82900b9160801d906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000613f6f565b505001549060018060a01b03169687956040519283521515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361195a5750611931926001600160801b03909216919050613930565b968580611950575b61194b576001019594939291906115f1565b6115f9565b5088881015611939565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020830151611896906001600160a01b031661186f565b6119b4915060403d81116119bb575b6119ac8183610d9d565b810190613a06565b505f611858565b503d6119a2565b6374169b5760e11b5f5260045ffd5b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b918093915051830192602084019160208286031261019f5751906001600160401b03821161019f570192610120908490031261019f5760405192611a5f84610ce7565b611a6c8260208301610e4d565b8452611a7a60c08201610e0e565b916020850192835260e08201516001600160401b03811161019f5760209083010181601f8201121561019f57805190611ab282610dbe565b91611ac06040519384610d9d565b80835260208084019160051b8301019184831161019f57602001905b8282106129845750505060408601526101008201516001600160401b03811161019f576020908301019080601f8301121561019f578151611b1c81610dbe565b92611b2a6040519485610d9d565b81845260208085019260051b82010192831161019f57602001905b82821061296c5750505084840152611b609061012001610e1b565b9160808401928352835192611b7484612f57565b92835f525f5160206159865f395f51905f52602052600160405f20015460b81c60020b156128cb575b611bca60a086207f000000000000000000000000000000000000000000000000000000000000000061393d565b5050929050611bdc825115158761344f565b855f525f5160206159265f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611c1288610d67565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611c45604085015151610eb6565b915f5b60408601519081518110156128ae5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461289e578160020b01627fffff198112627fffff82131761288a575b60a08501511580159061288357815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af4918215610667575f92612840575b506001600160801b038216156127e157611e12604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611d638354612b1f565b8093558551938452602084015288858401528d83015260808201522095815198611d8c8a610d67565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611dd684610d16565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f60048401613a1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610667575f91612821575b508060801d90600f0b835f146127f757505f81600f0b125f146127f057611e7590614304565b6001600160801b03165b915b6001600160801b038316156127e157608087015183906001600160801b0390811690821681116127ce575b505086518051909190611ee9906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614852565b6020830151909190611f25906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614852565b9181156127c7575f915b156127c05730915b5f8213806127ae575b61270b575b505f811261253f575b505f82138061252d575b612487575b505f811261231b575b5060019660a0929091506001600160801b0381166122f8575b50818101515f525f5160206159665f395f51905f52602052600260405f20611fca600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613aa8565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f5160206159465f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f2060028101906120b06120aa86845460801c614553565b83613aa8565b89515f525f5160206159065f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b03845416156122c6575b50508383015190898101908282549182155f146122a557555b825f525f5160206159665f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f5160206159c65f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c06121cb60405f20898060801b0386169054613930565b94888060a01b0360808b0151165f525f5160206159c65f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f5160206158e65f395f51905f526020868060a01b0360408901511693604051908152a361229e8287612b3a565b5201611c48565b5050805f525f5160206159665f395f51905f526020528260405f2055612113565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f806120fa565b612315908251848b015115158a80871b0360808d01511691614516565b5f611f7f565b612324906139f6565b60208201516001600160a01b0390811692907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051632961046560e21b815260048101939093525f83602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1928315610667576123ec93612477575b50602001516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116911661470f565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156106675760019760a093612449575b5091819750611f66565b6124699060203d8111612470575b6124618183610d9d565b8101906129cc565b505f61243f565b503d612457565b5f61248191610d9d565b5f6123b5565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051630b0d9c0960e01b8152915f91839182916124e3918791600485016148ce565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675715611f5d575f61252791610d9d565b5f611f5d565b506001600160a01b0381161515611f58565b612548906139f6565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667576126fb575b5083516001600160a01b0316806126575750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561066757612639575b505b5f611f4e565b6126509060203d8111612470576124618183610d9d565b505f612631565b61268c91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169061470f565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667576126dd575b50612633565b6126f49060203d8111612470576124618183610d9d565b505f6126d7565b5f61270591610d9d565b5f6125d0565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051630b0d9c0960e01b8152915f9183918291612764918791600485016148ce565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675715611f45575f6127a891610d9d565b5f611f45565b506001600160a01b0381161515611f40565b5f91611f37565b3091611f2f565b6127d9929350613a8f565b90825f611eac565b63f8db18c360e01b5f5260045ffd5b505f611e7f565b90505f81121561281a5761280a90614304565b6001600160801b03165b91611e81565b505f612814565b612839915060403d81116119bb576119ac8183610d9d565b505f611e4f565b9091506020813d821161287b575b8161285b60209383610d9d565b8101031261019f57516001600160801b038116810361019f57905f611cfe565b3d915061284e565b8291611ca8565b634e487b7160e01b5f52601160045260245ffd5b6128a89082612f98565b90611c99565b505050506105df9250610fd0915060405192839160208301610dd5565b5f8481525f5160206159865f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611b9d565b6020809161297984610e3f565b815201910190611b45565b8151815260209182019101611adc565b91908110156129a45760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361019f5790565b9081602091031261019f575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa908115610667575f91612a38575b50151590565b90506020813d602011612a62575b81612a5360209383610d9d565b8101031261019f57515f612a32565b3d9150612a46565b60405190612a7782610d4c565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612b0282610ce7565b5f6080838281528260208201528260408201528260608201520152565b5f19811461288a5760010190565b8051156129a45760200190565b80518210156129a45760209160051b010190565b90612b598151612f57565b805f525f5160206159265f395f51905f5260205260405f20612b7b8154612b1f565b809155815f525f5160206159865f395f51905f5260205260405f20604051612ba281610ce7565b81546001600160a01b0390811682526001830154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529301541660808201529015612d75575b60c084019485515115612d59576020850151151591845f525f5160206159465f395f51905f5260205260405f20612c23848361344f565b60018060a01b03165f5260205260405f209560a0600180821b039101511694875151975f5b898110612c5b5750505050505050505050565b80612c696001928451612b3a565b51805f525f5160206159665f395f51905f526020528960405f209160048301548b8660ff8360501c16612c9b81611354565b149182612d4b575b82612d38575b82612d25575b505080612cfc575b612cc5575b50505001612c48565b82612cd2612cf4946134a9565b60020b5f528d60205260405f20895f5160206159a65f395f51905f528c6134c9565b5f8981612cbc565b50612d20612d16868060a01b038b511660a08b209061393d565b505090508461347e565b612cb7565b60301c63ffffffff161090508b5f612caf565b91508b60ff8360581c1615151491612ca9565b60028601548a149250612ca3565b9250505061119792505f5160206159a65f395f51905f52612fb5565b508251606081015160020b612bec5763c256622b60e01b5f5260045ffd5b81601f8201121561019f57805190612daa82611339565b92612db86040519485610d9d565b8284526020838301011161019f57815f9260208093018386015e8301015290565b9060208282031261019f5781516001600160401b03811161019f57610fd09201612d93565b60405190816105ed816105df5f9460016020612e269801526040808401526060830190610cc3565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561066757612e625750565b612e75903d805f833e61065d8183610d9d565b50565b5f546001600160a01b03163303610ada57565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612ec3575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f8301121561019f578151612ef981610dbe565b92612f076040519485610d9d565b81845260208085019260051b82010192831161019f57602001905b828210612f2f5750505090565b8151815260209182019101612f22565b90612f5195949392915f60a0526148f0565b60a05190565b604051612f68602082018093610ee8565b60a08152612f7760c082610d9d565b51902090565b60020b5f190190627fffff198212627fffff83131761288a57565b600291820b910b0390627fffff198212627fffff83131761288a57565b90608083019182511561344957612fcc8451612f57565b602085015115908115613435578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613083575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f1461342957888160020b13155b6134215760020b845f8183071291050393895f14613327578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f14613312575061019f578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a1561330757898660020b13155b6132fe57156132e257845f528160205260405f2098895480156132c35793909192935b801515806132ba575b156132a75790818f959493925f528660205260405f208054966004820154600160ff8260501c166131e681611354565b0361329c5760301c63ffffffff1614613268578f518c5160a090206132229161321891906001600160a01b031661393d565b505090508261347e565b15613254578f60019392613247928f8f8f81519160a08a80821b0391015116956134c9565b0193925b939091926131ad565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b88156132975761328990612f7d565b9b9a919b969290939661306c565b613289565b50505050939261324b565b509b9a999850939c91929695949c61327a565b508c82106131b6565b50949091939796959d929b9a999850885f146132975761329790612f7d565b90929695949c919a99989793885f146132975761329790612f7d565b50859d50613074565b898660020b1361318a565b9391505060020b900360020b0260020b61317a565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f14613407575061019f5783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461317c565b93905060ff809250031660020b0160020b0260020b613401565b859d50613074565b888160020b121561309e565b8551519092906001600160a01b0316612fec565b50505050565b901561346c57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b0316613460565b6004015460ff8160581c165f1461349e5760181c60020b9060020b121590565b60020b9060020b1290565b6004015460ff8160581c165f146134c35760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906134fd878261344f565b9615613509908261344f565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916135489060801c6139f6565b6040519161355583610d16565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161359092613a1c565b03815a6040945f91f1988915610667576136398f9a8e938a88819b8b9689955f925f9161390b575b50919261362d926001600160a01b0386166138f5578460801d945b6001600160a01b0387166138de57600f0b955b6001600160a01b03166138d4575f9f5b6001600160a01b03166138c8575060045f995b01549560ff8760581c165f146138b75760208201516001600160a01b031692613cc4565b96879360601c90613f6f565b97909d5f82600f0b1380156138ab575b613891575b505050505060018060801b038b5416915f60028a019961367b613675868d5460801c613a8f565b8c613aa8565b60018a0186549060018801928354928315861461387f578082555b8015861461386c57506001915001555b8a546001600160801b031680613849575b50818655556136c5846134a9565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613814575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f205492830392831161288a576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f5160206158e65f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613704565b8b546001600160801b03191683199091016001600160801b0316178b555f6136b7565b85525060205260408320600101556136a6565b83865282602052806040872055613696565b61389e959a508990613f6f565b9050945f8080808061364e565b505f83600f0b13613649565b81516001600160a01b031692613cc4565b600490600f0b99613609565b8060801d9f6135f6565b6138ef9082600f0b90600f0b613a6a565b956135e6565b6139058160801d8660801d613a6a565b946135d3565b61362d9350613929915060403d6040116119bb576119ac8183610d9d565b90926135b8565b9190820180921161288a57565b91906020906040518281019182526006604082015260408152613961606082610d9d565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa918215610667575f926139c2575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d6020116139ee575b816139de60209383610d9d565b8101031261019f5751905f61399a565b3d91506139d1565b600160ff1b811461288a575f0390565b919082604091031261019f576020825192015190565b9061016092613a2d83606093610ee8565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761288a57565b6001600160801b03918216908216039190821161288a57565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613afc613af6888b5460801c613a8f565b8a613aa8565b835490600185019182549182158514613c8c578181555b81158514613c6b576001915001555b88546001600160801b031680613c48575b5081845555613b41826134a9565b9660028301545f525f5160206159065f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613c13575b5050015460601c90815f525f5160206159c65f395f51905f5260205260405f2060018060a01b0382165f5260205260405f205492830392831161288a5760205f5160206158e65f395f51905f5291835f525f5160206159c65f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613b89565b89546001600160801b03191683199091016001600160801b03161789555f613b33565b5083525f5160206159665f395f51905f526020526001604084200155613b22565b8285525f5160206159665f395f51905f52602052816040862055613b13565b60405190613cb882610d82565b5f602083606081520152565b92919092613cd0613cab565b506001600160a01b0381169384613cee575b5050610fd092506141fc565b60405163442f7de960e11b8152600481018690526001600160a01b03919091169190602081602481865afa5f9181613f31575b50613d2d575b50613ce2565b60ff6004911610159081613f21575b50613d49575b8080613d27565b5f9060246040518096819363f3ffe14b60e01b835260048301525afa928315610667575f93613db8575b508251805115159081613d91575b50613d8c5782613d42565b505090565b6001600160a01b039150613da490612b2d565b5151166001600160a01b038316145f613d81565b9092503d805f833e613dca8183610d9d565b81019060208183031261019f578051906001600160401b03821161019f570160408183031261019f5760405191613e0083610d82565b81516001600160401b03811161019f5782019080601f8301121561019f57815191613e2a83610dbe565b92613e386040519485610d9d565b80845260208085019160051b8301019183831161019f5760208101915b838310613e7c575050505050613e7091602091845201610e1b565b6020820152915f613d73565b82516001600160401b03811161019f5782019060a0828703601f19011261019f5760405190613eaa82610ce7565b613eb660208401610e1b565b8252613ec460408401610e2f565b6020830152613ed560608401610e3f565b6040830152613ee660808401610e1b565b606083015260a0830151916001600160401b03831161019f57613f1188602080969581960101612d93565b6080820152815201920191613e55565b613f2b915061417e565b5f613d3c565b9091506020813d602011613f67575b81613f4d60209383610d9d565b8101031261019f575160ff8116810361019f57905f613d21565b3d9150613f40565b9591939092935f81600f0b135f14614176576001600160801b0316935b5f81600f0b135f1461416f576001600160801b03165b60208201519151805190926001600160a01b0316901561416057613fcf90613fc984612b2d565b5161456c565b90811561415a5786925b82156141495760208201516001600160a01b0316975b83156141415750925b6001600160801b0316806140f5575050509594919293955b95926001926020945b835185101561409d57879861406961404e989961403c600194613fc98a8a612b3a565b9a9093858060801b0316600f0b614304565b600f0b8a84604051936140618d86610d9d565b5f85526145f4565b828060801b0316975f1461408f5786828060a01b03910151165b94019397969597614019565b818060a01b03905116614083565b979691959094508793509150856001600160801b0381166140c0575b5050505050565b6140cc92848693614345565b6001600160a01b0316156140e4575b808080806140b9565b6001600160a01b031692505f6140db565b916141279161410a6141369594600f0b614304565b916040519261411a602085610d9d565b5f8452600f0b918c6145f4565b6001600160801b031690614553565b959491929395614010565b905092613ff8565b81516001600160a01b031697613fef565b82613fd9565b6319dcad4d60e31b5f5260045ffd5b505f613fa2565b505f93613f8c565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f91816141c0575b50610fd057505f90565b9091506020813d6020116141f4575b816141dc60209383610d9d565b8101031261019f576141ed90610e0e565b905f6141b6565b3d91506141cf565b91614205613cab565b835190926001600160a01b0390811691168181036142ff575060208401516001600160a01b03165b6001600160a01b0316602084015260408051949061424b8187610d9d565b60018652601f1981015f5b8181106142cb5750508495612e7594955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193614296602086610d9d565b5f85528151956142a587610ce7565b86526020860152840152606083015260808201528351906142c582612b2d565b52612b2d565b60209083516142d981610ce7565b5f81525f838201525f858201525f60608201526060608082015282828b01015201614256565b61422d565b600f0b60016001607f1b0319811461288a575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b0382166144c0576001600160a01b031690813b156144bc578461438e92879283604051809681958294630b0d9c0960e01b845230906004850161431b565b03925af1801561449c579085916144a7575b50506001600160a01b0316916001600160801b031690823b1561449857604051630d0e30db60e41b8152848160048186885af1801561449c57908591614483575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af190811561447857829161443a575b501561442b5750565b6332067e4160e01b8152600490fd5b90506020813d602011614470575b8161445560209383610d9d565b8101031261446c5761446690610e0e565b5f614422565b5080fd5b3d9150614448565b6040513d84823e3d90fd5b8161448d91610d9d565b61449857835f6143e1565b8380fd5b6040513d87823e3d90fd5b816144b191610d9d565b61449857835f6143a0565b8580fd5b92945092916001600160a01b03169050803b1561019f576144fb935f809460405196879586948593630b0d9c0960e01b85526004850161431b565b03925af180156106675761450c5750565b5f61119791610d9d565b90926001600160801b03169190821561344957611197931561454157516001600160a01b031661470f565b602001516001600160a01b031661470f565b6001600160801b03918216908216019190821161288a57565b90614575612af5565b5081516001600160a01b0382811692911690818310156145ec575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b039101511692604051946145ca86610ce7565b85526001600160a01b0316602085015260408401526060830152608082015291565b508190614590565b9093929160209181156146f05761465c5f6401000276a4975b61468d6040519561461d87610d4c565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610ee8565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610cc3565b03926001600160a01b03165af1928315610667575f936146bc575b505f13036146b657600f0b90565b60801d90565b9092506020813d6020116146e8575b816146d860209383610d9d565b8101031261019f5751915f6146a8565b3d91506146cb565b61465c5f73fffd8963efd1fc6a506488495d951d5263988d259761460d565b9091906001600160a01b038116908161479d5750505f80808093855af1156147345750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156147ee5750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa908115610667575f9161489f575090565b90506020813d6020116148c6575b816148ba60209383610d9d565b8101031261019f575190565b3d91506148ad565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b03909216919082156158d6575f608060405161491c81610ce7565b614924612af5565b815282602082015260a051604082015260a05160a05182015201525f908451835181036158c7575f905b8082106158905750506149996040519561496787610ce7565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b039261344f565b168061573157503403615722575b6149b0846129db565b614b395760408051936020808601526101608501976149d28387018351610ee8565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614b23575050505194603f1983820301610120840152602080875192838152019601905f5b818110614b0a57505050916105df614a7783614a5b614a9b955f9899899860018060a01b0390511661014083015203601f198101835282610d9d565b6040519283918760208401526040808401526060830190610cc3565b6040519485809481936348c8949160e01b8352602060048401526024830190610cc3565b03926001600160a01b03165af1908115610667575f91614af0575b50805181019060208183031261019f576020810151916001600160401b03831161019f57614aeb926020809201920101612ee2565b60a052565b614b0491503d805f833e61065d8183610d9d565b5f614ab6565b825160020b885260209788019790920191600101614a1f565b82518952602098890198909201916001016149f7565b9193949290845193614b4a85612f57565b91825f525f5160206159865f395f51905f52602052600160405f20015460b81c60020b15615680575b614b8060a087208561393d565b50509050614b91835115158861344f565b90845f525f5160206159265f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614bcc608051610d67565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614c0c604085015151610eb6565b915f5b6040860151908151811015615674576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f14615663578160020b01627fffff198112627fffff82131761288a57925b60805160a001511580159061565c5784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af4918215610667575f92615619575b506001600160801b038216156127e15760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614df1969560a095949293921690614d3b90612b1f565b809355855193845260208401528885840152835183015260808201522095815193614d6585610d67565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614db384610d16565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f60048401613a1c565b03815f6001600160a01b038e165af1908115610667575f916155fa575b508060801d90600f0b835f146155d057505f81600f0b125f146155c957614e3490614304565b6001600160801b03165b915b6001600160801b038316156127e15760808201516001600160801b0390811690841681116155b5575b5081518051909190614e85906001600160a01b0316308c614852565b906020830192614ea060018060a01b038551168d3090614852565b9282156155ae575f925b156155a6578c30935b5f831380615594575b61552a575b50505f81126153fe575b50505f8213806153ec575b615388575b505f81126152a6575b506040966001969594939260a09250906001600160801b038116615280575b50818101515f525f5160206159665f395f51905f526020526002885f20614f4e600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613aa8565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f5160206159465f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f2060028101906150316120aa86845460801c614553565b608051515f525f5160206159065f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b038454161561524f575b50508383015190898101908282549182155f1461522f57555b5f8381525f5160206159665f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f5160206159c65f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c09161514391861690613930565b94888060a01b0360808051015116898060a01b03165f525f5160206159c65f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f5160206158e65f395f51905f526020868060a01b0388608051015116938851908152a36152268288612b3a565b52019050614c0f565b5050805f525f5160206159665f395f51905f52602052828c5f2055615096565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f8061507d565b6152a090825184608051015115158a80871b036080805101511691614516565b5f614f03565b6152b5909695949392966139f6565b81516001600160a01b0390811692908b163b1561019f575f8b602482956040519687938492632961046560e21b8452600484015260018060a01b03165af19283156106675761531793615378575b50516001600160a01b038b8116911661470f565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af19081156106675760409760019760a09361535a575b5097509192939495614ee4565b6153719060203d8111612470576124618183610d9d565b505f61534d565b5f61538291610d9d565b5f615303565b82516001600160a01b03908116908c163b1561019f57828c6153c4935f809460405196879586948593630b0d9c0960e01b8552600485016148ce565b03926001600160a01b03165af180156106675715614edb575f6153e691610d9d565b5f614edb565b506001600160a01b0381161515614ed6565b615407906139f6565b81519091906001600160a01b03908116908e163b1561019f575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af180156106675761551a575b50516001600160a01b0316806154b5575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561066757615497575b505b5f80614ecb565b6154ae9060203d8111612470576124618183610d9d565b505f61548e565b6154ca91906001600160a01b038e169061470f565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af18015610667576154fc575b50615490565b6155139060203d8111612470576124618183610d9d565b505f6154f6565b5f61552491610d9d565b5f615452565b83516001600160a01b0390811692163b1561019f57828f5f92836155659560405196879586948593630b0d9c0960e01b8552600485016148ce565b03926001600160a01b03165af1801561066757615584575b8d90614ec1565b5f61558e91610d9d565b5f61557d565b506001600160a01b0381161515614ebc565b8c5f93614eb3565b3092614eaa565b6155c29197508390613a8f565b955f614e69565b505f614e3e565b90505f8112156155f3576155e390614304565b6001600160801b03165b91614e40565b505f6155ed565b615612915060403d81116119bb576119ac8183610d9d565b505f614e0e565b9091506020813d8211615654575b8161563460209383610d9d565b8101031261019f57516001600160801b038116810361019f57905f614ccb565b3d9150615627565b8291614c75565b61566d9082612f98565b9092614c63565b5050505091505060a052565b5f8381525f5160206159865f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614b73565b636d295d4f60e11b5f5260045ffd5b34615722576040516370a0823160e01b815230600482015291602083602481855afa928315610667575f9361585c575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af1908115610667575f91615822575b50156157dd576020602492604051938480926370a0823160e01b82523060048301525afa918215610667575f926157ec575b506157d79192613930565b146149a7575b637627529f60e01b5f5260045ffd5b91506020823d60201161581a575b8161580760209383610d9d565b8101031261019f576157d79151916157cc565b3d91506157fa565b90506020813d602011615854575b8161583d60209383610d9d565b8101031261019f5761584e90610e0e565b5f61579a565b3d9150615830565b9092506020813d602011615888575b8161587860209383610d9d565b8101031261019f5751915f615761565b3d915061586b565b909261589c8488612b3a565b519081156158b8576001916158b091613930565b93019061494e565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1578:7102:78:-:0;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;;;;1273:26:0;;1269:95;;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;3052:40:0;;-1:-1:-1;3052:40:0;-1:-1:-1;303:10:79;;600:17;1578:7102:78;303:10:79;;;;-1:-1:-1;;303:10:79;2093:20:1;303:10:79;;;-1:-1:-1;;;;;1578:7102:78;;2052:26;;1578:7102;;-1:-1:-1;;;;;1578:7102:78;;2112:36;;1578:7102;;-1:-1:-1;;;;;1578:7102:78;;2182:31;;1578:7102;;-1:-1:-1;;;;;1578:7102:78;;2247:19;1578:7102;;;2293:40;1578:7102;2343:74;2427:55;;2492:12;;2557:2;818:66:86;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:55;1578:7102;;;;;;;;;;2492:12;1578:7102;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1578:7102:78;;-1:-1:-1;1578:7102:78;1269:95:0;1322:31;;;-1:-1:-1;1322:31:0;-1:-1:-1;1322:31:0;1578:7102:78;;-1:-1:-1;1322:31:0;1578:7102:78;-1:-1:-1;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;:::o","linkReferences":{"src/libs/LimitOrderViews.sol":{"LimitOrderViews":[{"start":5068,"length":20},{"start":8112,"length":20},{"start":20349,"length":20}]}}},"deployedBytecode":{"object":"0x60c080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b63570c108560e11b5f5260045ffd5b5f3560e01c9081633fc8cef314610bf5575080635ef3e95514610bb15780635f8fbad614610b50578063715018a614610aed57806379ba509714610a685780637a9cf273146108f05780637fcc389f146108c35780638da5cb5b1461089c57806391dd73461461082b578063a0a8e460146107e4578063a6de70b4146107a0578063aa24fafc14610686578063c2ec68ea146104c3578063c96d060b14610496578063d8c317721461046d578063dc4c90d314610429578063e30c397814610401578063eb07ed2414610213578063f2fde38b146101a35763f7888aec14610143575f61000f565b3461019f57604036600319011261019f5761015c610c69565b610164610c53565b6001600160a01b039182165f9081525f5160206159c65f395f51905f5260209081526040808320949093168252928352819020549051908152f35b5f80fd5b3461019f57602036600319011261019f576101bc610c69565b6101c4612e78565b600180546001600160a01b0319166001600160a01b039283169081179091555f8054919291909116907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009080a3005b3660031901610120811261019f5760a01361019f5760405161023481610ce7565b6004356001600160a01b038116810361019f5781526024356001600160a01b038116810361019f57602082015260443562ffffff8116810361019f5760408201526064358060020b810361019f5760608201526084356001600160a01b038116810361019f5760808201526102a7610c36565b9060c4356001600160401b03811161019f573660238201121561019f578060040135906102d382610dbe565b916102e16040519384610d9d565b8083526024602084019160051b8301019136831161019f57602401905b8282106103f15750505060e4356001600160401b03811161019f573660238201121561019f5780600401359061033382610dbe565b916103416040519384610d9d565b8083526024602084019160051b8301019136831161019f57602401905b8282106103d9575050610104359290506001600160a01b038316830361019f5761038733612e8b565b156103ca576103c6946103ba947f0000000000000000000000000000000000000000000000000000000000000000612f3f565b60405191829182610dd5565b0390f35b638078f92160e01b5f5260045ffd5b602080916103e684610c45565b81520191019061035e565b81358152602091820191016102fe565b3461019f575f36600319011261019f576001546040516001600160a01b039091168152602090f35b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f5760205f5160206159a65f395f51905f5254604051908152f35b3461019f57602036600319011261019f576104af612e78565b6004355f5160206159a65f395f51905f5255005b3461019f57608036600319011261019f576004356001600160401b03811161019f576104f3903690600401610c93565b906104fc610c53565b6064356001600160a01b03811693919084900361019f576105316105b7936040519361052785610ce7565b33855236916112e0565b9360208301948552604083019160018060a01b031682526060830160443581526080840191825261058860405196879560208088015260018060a01b0390511660408701525160a0606087015260e0860190610f2b565b92516001600160a01b039081166080860152905160a085015290511660c083015203601f198101835282610d9d565b60405190816105ed816105df5f946002602061060f9801526040808401526060830190610cc3565b03601f198101835282610d9d565b604051809381926348c8949160e01b8352602060048401526024830190610cc3565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675761064a57005b610665903d805f833e61065d8183610d9d565b810190612dd9565b005b6040513d5f823e3d90fd5b634e487b7160e01b5f52602160045260245ffd5b3461019f57604036600319011261019f576004356001600160401b03811161019f576106b6903690600401610c93565b6024356001600160401b03811161019f576106d5903690600401610c93565b926106de612e78565b838303610791575f5b8381106106f057005b806107066107016001938887612994565b61132c565b828060a01b0361071f61071a848988612994565b6129b8565b165f52600260205260405f209060ff80198354169115151617905561074861071a828786612994565b7f34f71eeeadf8791995a3f273a2e80649f38e3c90b95e1850d3ffcfbc1e970c3c6020610779610701858b8a612994565b926040519315158452858060a01b031692a2016106e7565b63b85b903160e01b5f5260045ffd5b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f576103c6604051610805604082610d9d565b6005815264181719171b60d91b6020820152604051918291602083526020830190610cc3565b3461019f57602036600319011261019f576004356001600160401b03811161019f573660238201121561019f578060040135906001600160401b03821161019f57366024838301011161019f576103c6916024610888920161135e565b604051918291602083526020830190610cc3565b3461019f575f36600319011261019f575f546040516001600160a01b039091168152602090f35b3461019f57602036600319011261019f5760206108e66108e1610c69565b612e8b565b6040519015158152f35b3461019f57604036600319011261019f576004356001600160401b03811161019f57610920903690600401610c93565b610928610c53565b913681900360de1901905f5b83811015610665578060051b8201358381121561019f5782019060c0820161095c81846112ab565b905061096e575b506001915001610934565b61097b61098291846112ab565b36916112e0565b9161098f60a0820161132c565b9083519360a08236031261019f576040516109a981610ce7565b6109b283610c7f565b81526109c060208401610c7f565b602082015260408301359162ffffff8316830361019f57600196610a6295610a0760806105df97610a5d9760408801526109fc60608201610c45565b606088015201610c7f565b608085015260405193610a1985610d31565b610a21612af5565b508452151560208401525f60408401525f60608401526080830152868060a01b038b1660a083015260c082015260405192839160208301610f5e565b612dfe565b86610963565b3461019f575f36600319011261019f57600154336001600160a01b0390911603610ada57600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b3461019f575f36600319011261019f57610b05612e78565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461019f573660031901610140811261019f5760a01361019f57610b72610c36565b60c435908160020b820361019f5760e435908160020b820361019f5761012435916001600160a01b038316830361019f57610665936101043592610fd3565b3461019f575f36600319011261019f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461019f575f36600319011261019f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60a43590811515820361019f57565b35908160020b820361019f57565b602435906001600160a01b038216820361019f57565b600435906001600160a01b038216820361019f57565b35906001600160a01b038216820361019f57565b9181601f8401121561019f578235916001600160401b03831161019f576020808501948460051b01011161019f57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610d0257604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b03821117610d0257604052565b60e081019081106001600160401b03821117610d0257604052565b606081019081106001600160401b03821117610d0257604052565b60c081019081106001600160401b03821117610d0257604052565b604081019081106001600160401b03821117610d0257604052565b90601f801991011681019081106001600160401b03821117610d0257604052565b6001600160401b038111610d025760051b60200190565b60206040818301928281528451809452019201905f5b818110610df85750505090565b8251845260209384019390920191600101610deb565b5190811515820361019f57565b51906001600160a01b038216820361019f57565b519062ffffff8216820361019f57565b51908160020b820361019f57565b91908260a091031261019f57604051610e6581610ce7565b6080610eb1818395610e7681610e1b565b8552610e8460208201610e1b565b6020860152610e9560408201610e2f565b6040860152610ea660608201610e3f565b606086015201610e1b565b910152565b90610ec082610dbe565b610ecd6040519182610d9d565b8281528092610ede601f1991610dbe565b0190602036910137565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b90602080835192838152019201905f5b818110610f485750505090565b8251845260209384019390920191600101610f3b565b61018060c0610fd09360208452610f79602085018251610ee8565b60208101511515848301526040810151600290810b60e08601526060820151900b610100850152608081015161012085015260a08101516001600160a01b0316610140850152015161016080840152910190610f2b565b90565b939291925f5160206159a65f395f51905f5254831580156112a2575b61129a575b5061101e7f00000000000000000000000000000000000000000000000000000000000000006129db565b92836111f9575b61102d612a6a565b9460018060a01b038651169660405197633fe552eb60e01b89525f5160206159a65f395f51905f5260048a0152602489015260043560018060a01b03811680910361019f5760448901526024356001600160a01b0381169081900361019f57606489015260443562ffffff811680910361019f5760848901526064358060020b80910361019f5760a48901526084356001600160a01b0381169081900361019f5760c48901521515938460e489015260020b61010488015260020b61012487015260e0866101448173__$b37d8808673a650b3481d88bc26a627692$__5af48015610667575f965f905f926111a3575b506040519461112d602087610d9d565b5f86525f368137604051986111418a610d31565b611149612af5565b5089526020890152600290810b60408901520b606087015260808601526001600160a01b031660a085015260c084015261119957506105df610a5d6111979260405192839160208301610f5e565b565b9061119791612b4e565b9750505060e03d60e0116111f2575b6111bc8188610d9d565b860160e08782031261019f576111d29087610e4d565b6111ea60c06111e360a08a01610e3f565b9801610e3f565b90965f61111d565b503d6111b2565b60405163082984f360e41b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610667575f91611260575b50611025576344863e8560e11b5f5260045ffd5b90506020813d602011611292575b8161127b60209383610d9d565b8101031261019f5761128c90610e0e565b5f61124c565b3d915061126e565b92505f610ff4565b50808411610fef565b903590601e198136030182121561019f57018035906001600160401b03821161019f57602001918160051b3603831361019f57565b9291906112ec81610dbe565b936112fa6040519586610d9d565b602085838152019160051b810192831161019f57905b82821061131c57505050565b8135815260209182019101611310565b35801515810361019f5790565b6001600160401b038111610d0257601f01601f191660200190565b6003111561067257565b906060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c5782019160408184031261019f57803590600382101561019f576020810135906001600160401b03821161019f57019183601f8401121561019f5782356113d781611339565b936113e56040519586610d9d565b81855260208501956020838301011161019f57815f92602080930188378501015261140f82611354565b8115611a1c575061141f81611354565b60018103611514575090611431612a6a565b8251830192602084019260208286031261019f5751906001600160401b03821161019f570192610160908490031261019f576040519161147083610d31565b61147d8160208601610e4d565b835261148b60c08501610e0e565b602084015261149c60e08501610e3f565b60408401526114ae6101008501610e3f565b606084015261012084015160808401526114cb6101408501610e1b565b60a0840152610160840151906001600160401b03821161019f5760206114f692611500960101612ee2565b60c0830152612b4e565b60405161150e602082610d9d565b5f815290565b60029061152081611354565b03611a0d57805181019160208284031261019f5751906001600160401b03821161019f57019060a08282031261019f576040519061155d82610ce7565b61156960208401610e1b565b825260408301516001600160401b03811161019f5760208061158f930191850101612ee2565b8060208301526115a160608401610e1b565b918260408201526115bf60a060808601519586606085015201610e1b565b6080820181905290516001600160a01b0390811691908116156119fe5782519182156119d1579392905f945f94871515935b858710611623575b5050505050505081811061160e575050611500565b6303449a8f60e41b5f5260045260245260445ffd5b909192939495966116348883612b3a565b51805f525f5160206159665f395f51905f5260205260405f206004810154918260601c80156119d15787036119ef57600160ff8460501c1661167581611354565b036119e057600382015492600283015492835f525f5160206159865f395f51905f5260205260405f20604051906116ab82610ce7565b80546001600160a01b0390811683526001820154808216602085015260a081901c62ffffff16604085015260b81c600290810b60608501819052920154166080830152156119d15761172d61172360a083207f000000000000000000000000000000000000000000000000000000000000000061393d565b505090508361347e565b6119c2576117ed9061173e836134a9565b95604060ff8660581c1695611753878561344f565b925f525f5160206159465f395f51905f52602052815f2060018060a01b0384165f52602052815f208960020b5f5260205261179f86835f2060ff60501b19841660048301558587613acb565b506117ac8a60801c6139f6565b8251916117b883610d16565b8060020b835260181c60020b602083015282820152876060820152815180958192632d35e7ed60e11b83528660048401613a1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667578c946118d08f9460c0956002947f73544fee6e45e543d5464c5d945a19046ad773dabfc95c7d1c119b135d947dde985f91611993575b508a1561197c578251611896906001600160a01b03165b7f0000000000000000000000000000000000000000000000000000000000000000946141fc565b91600f82900b9160801d906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000613f6f565b505001549060018060a01b03169687956040519283521515602083015260020b60408201525f6060820152856080820152600160a0820152a36001600160a01b038616820361195a5750611931926001600160801b03909216919050613930565b968580611950575b61194b576001019594939291906115f1565b6115f9565b5088881015611939565b8590630b34ff7d60e11b5f5260045260018060a01b031660245260445260645ffd5b6020830151611896906001600160a01b031661186f565b6119b4915060403d81116119bb575b6119ac8183610d9d565b810190613a06565b505f611858565b503d6119a2565b6374169b5760e11b5f5260045ffd5b63af61069360e01b5f5260045ffd5b632fec94b960e01b5f5260045ffd5b637383a4fd60e01b5f5260045ffd5b639fabe1c160e01b5f5260045ffd5b6310309b7d60e31b5f5260045ffd5b918093915051830192602084019160208286031261019f5751906001600160401b03821161019f570192610120908490031261019f5760405192611a5f84610ce7565b611a6c8260208301610e4d565b8452611a7a60c08201610e0e565b916020850192835260e08201516001600160401b03811161019f5760209083010181601f8201121561019f57805190611ab282610dbe565b91611ac06040519384610d9d565b80835260208084019160051b8301019184831161019f57602001905b8282106129845750505060408601526101008201516001600160401b03811161019f576020908301019080601f8301121561019f578151611b1c81610dbe565b92611b2a6040519485610d9d565b81845260208085019260051b82010192831161019f57602001905b82821061296c5750505084840152611b609061012001610e1b565b9160808401928352835192611b7484612f57565b92835f525f5160206159865f395f51905f52602052600160405f20015460b81c60020b156128cb575b611bca60a086207f000000000000000000000000000000000000000000000000000000000000000061393d565b5050929050611bdc825115158761344f565b855f525f5160206159265f395f51905f5260205260405f20549160018060a01b03905116925115159360405196611c1288610d67565b875260020b602087015260018060a01b0316604086015283850152608084015260a0830152611c45604085015151610eb6565b915f5b60408601519081518110156128ae5760208488015192818360051b80920101519301015160a084015115158588015160020b905f1461289e578160020b01627fffff198112627fffff82131761288a575b60a08501511580159061288357815b60405191632939447b60e11b835260048301528560248301528360020b60448301528060020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af4918215610667575f92612840575b506001600160801b038216156127e157611e12604060a08951600180831b03838c015116600180841b0360808d015116805f527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee602052845f2091611d638354612b1f565b8093558551938452602084015288858401528d83015260808201522095815198611d8c8a610d67565b8d8a52600282810b60208c015285900b838b01526001600160801b038681168d8c01521660808a015260a0808a018890528a01518251901515955f959192909190611dd684610d16565b600290810b84520b60208301526001600160801b0316828201528a81018790528151632d35e7ed60e11b81529283918291908f60048401613a1c565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610667575f91612821575b508060801d90600f0b835f146127f757505f81600f0b125f146127f057611e7590614304565b6001600160801b03165b915b6001600160801b038316156127e157608087015183906001600160801b0390811690821681116127ce575b505086518051909190611ee9906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614852565b6020830151909190611f25906001600160a01b0316307f0000000000000000000000000000000000000000000000000000000000000000614852565b9181156127c7575f915b156127c05730915b5f8213806127ae575b61270b575b505f811261253f575b505f82138061252d575b612487575b505f811261231b575b5060019660a0929091506001600160801b0381166122f8575b50818101515f525f5160206159665f395f51905f52602052600260405f20611fca600382018a8060801b0387168b8060801b03198254161781558a8060801b038d8601511690613aa8565b602083015160048201908c6001600160581b038d845490604089015160181b65ffffff00000063ffffffff60301b8684015160301b169260ff60581b8d820151151560581b169660806001600160601b0319920151901b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff1916171691161717171617179055895191829101555f525f5160206159465f395f51905f5260205260405f208780841b0360408a0151168880851b03165f5260205260405f208460020b5f5260205260405f2060028101906120b06120aa86845460801c614553565b83613aa8565b89515f525f5160206159065f395f51905f5260205260405f208980861b0360408c0151168a80871b03165f5260205260405f208b8451015160020b8a8060801b03845416156122c6575b50508383015190898101908282549182155f146122a557555b825f525f5160206159665f395f51905f526020528a60405f20015555878060801b03888060801b0389808060801b03845416011616888060801b03198254161790550151858060a01b036080880151165f525f5160206159c65f395f51905f5260205260405f20868060a01b03604089015116878060a01b03165f526020527f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a360c06121cb60405f20898060801b0386169054613930565b94888060a01b0360808b0151165f525f5160206159c65f395f51905f5260205260405f20898060a01b0360408c0151168a8060a01b03165f526020528560405f2055888060a01b0360808b01511693898060a01b0360408c015116958b805193602060a0830151151592015160020b91604051958652602086015260020b60408501528d8401528a8060801b0316608083015260a0820152a3838060a01b036080860151165f5160206158e65f395f51905f526020868060a01b0360408901511693604051908152a361229e8287612b3a565b5201611c48565b5050805f525f5160206159665f395f51905f526020528260405f2055612113565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff60405f2092161b81541790555f806120fa565b612315908251848b015115158a80871b0360808d01511691614516565b5f611f7f565b612324906139f6565b60208201516001600160a01b0390811692907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051632961046560e21b815260048101939093525f83602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1928315610667576123ec93612477575b50602001516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116911661470f565b604051630476982d60e21b8152956020876004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156106675760019760a093612449575b5091819750611f66565b6124699060203d8111612470575b6124618183610d9d565b8101906129cc565b505f61243f565b503d612457565b5f61248191610d9d565b5f6123b5565b60208301516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051630b0d9c0960e01b8152915f91839182916124e3918791600485016148ce565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675715611f5d575f61252791610d9d565b5f611f5d565b506001600160a01b0381161515611f58565b612548906139f6565b83516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051632961046560e21b815260048101919091525f81602481837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667576126fb575b5083516001600160a01b0316806126575750604051630476982d60e21b815290602090829060049082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561066757612639575b505b5f611f4e565b6126509060203d8111612470576124618183610d9d565b505f612631565b61268c91907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169061470f565b604051630476982d60e21b81526020816004815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610667576126dd575b50612633565b6126f49060203d8111612470576124618183610d9d565b505f6126d7565b5f61270591610d9d565b5f6125d0565b84516001600160a01b03908116907f0000000000000000000000000000000000000000000000000000000000000000163b1561019f57604051630b0d9c0960e01b8152915f9183918291612764918791600485016148ce565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af180156106675715611f45575f6127a891610d9d565b5f611f45565b506001600160a01b0381161515611f40565b5f91611f37565b3091611f2f565b6127d9929350613a8f565b90825f611eac565b63f8db18c360e01b5f5260045ffd5b505f611e7f565b90505f81121561281a5761280a90614304565b6001600160801b03165b91611e81565b505f612814565b612839915060403d81116119bb576119ac8183610d9d565b505f611e4f565b9091506020813d821161287b575b8161285b60209383610d9d565b8101031261019f57516001600160801b038116810361019f57905f611cfe565b3d915061284e565b8291611ca8565b634e487b7160e01b5f52601160045260245ffd5b6128a89082612f98565b90611c99565b505050506105df9250610fd0915060405192839160208301610dd5565b5f8481525f5160206159865f395f51905f526020908152604091829020875181546001600160a01b039182166001600160a01b031991821617835592890151600183018054958b0151898c015160b81b62ffffff60b81b1662ffffff60a01b60a09290921b919091169284166001600160d01b0319909716969096179190911794909417909355608088015160029091018054919093169116179055611b9d565b6020809161297984610e3f565b815201910190611b45565b8151815260209182019101611adc565b91908110156129a45760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b038116810361019f5790565b9081602091031261019f575190565b60405163789add5560e11b81527fc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23600482015290602090829060249082906001600160a01b03165afa908115610667575f91612a38575b50151590565b90506020813d602011612a62575b81612a5360209383610d9d565b8101031261019f57515f612a32565b3d9150612a46565b60405190612a7782610d4c565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811683527f0000000000000000000000000000000000000000000000000000000000000000811660208401527f0000000000000000000000000000000000000000000000000000000000000000166040830152565b60405190612b0282610ce7565b5f6080838281528260208201528260408201528260608201520152565b5f19811461288a5760010190565b8051156129a45760200190565b80518210156129a45760209160051b010190565b90612b598151612f57565b805f525f5160206159265f395f51905f5260205260405f20612b7b8154612b1f565b809155815f525f5160206159865f395f51905f5260205260405f20604051612ba281610ce7565b81546001600160a01b0390811682526001830154808216602084015260a081901c62ffffff16604084015260b81c600290810b606084018190529301541660808201529015612d75575b60c084019485515115612d59576020850151151591845f525f5160206159465f395f51905f5260205260405f20612c23848361344f565b60018060a01b03165f5260205260405f209560a0600180821b039101511694875151975f5b898110612c5b5750505050505050505050565b80612c696001928451612b3a565b51805f525f5160206159665f395f51905f526020528960405f209160048301548b8660ff8360501c16612c9b81611354565b149182612d4b575b82612d38575b82612d25575b505080612cfc575b612cc5575b50505001612c48565b82612cd2612cf4946134a9565b60020b5f528d60205260405f20895f5160206159a65f395f51905f528c6134c9565b5f8981612cbc565b50612d20612d16868060a01b038b511660a08b209061393d565b505090508461347e565b612cb7565b60301c63ffffffff161090508b5f612caf565b91508b60ff8360581c1615151491612ca9565b60028601548a149250612ca3565b9250505061119792505f5160206159a65f395f51905f52612fb5565b508251606081015160020b612bec5763c256622b60e01b5f5260045ffd5b81601f8201121561019f57805190612daa82611339565b92612db86040519485610d9d565b8284526020838301011161019f57815f9260208093018386015e8301015290565b9060208282031261019f5781516001600160401b03811161019f57610fd09201612d93565b60405190816105ed816105df5f9460016020612e269801526040808401526060830190610cc3565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561066757612e625750565b612e75903d805f833e61065d8183610d9d565b50565b5f546001600160a01b03163303610ada57565b5f805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5460ff16908115612ec3575090565b6001600160a01b03165f9081526002602052604090205460ff16919050565b9080601f8301121561019f578151612ef981610dbe565b92612f076040519485610d9d565b81845260208085019260051b82010192831161019f57602001905b828210612f2f5750505090565b8151815260209182019101612f22565b90612f5195949392915f60a0526148f0565b60a05190565b604051612f68602082018093610ee8565b60a08152612f7760c082610d9d565b51902090565b60020b5f190190627fffff198212627fffff83131761288a57565b600291820b910b0390627fffff198212627fffff83131761288a57565b90608083019182511561344957612fcc8451612f57565b602085015115908115613435578551602001519092906001600160a01b03165b60018060a01b031695835f526005820160205260405f2060018060a01b0388165f5260205260405f2096845f526006830160205260405f209060018060a01b03165f5260205260405f209160018101945f526004810160205260405f2054965f905195604084015160020b91606085015160020b9560608651015160020b935b898310613083575b50505050505050505050505050565b5f9d95969798999a9b9c9d50895f1461342957888160020b13155b6134215760020b845f8183071291050393895f14613327578d60ff8616908660020b60081d60010b5f5260205260405f205f198260ff031c9054169586159687159784895f14613312575061019f578392817f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be60ff9460018060801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c861060031b1792831c1c601f161a1790031660020b900360020b0260020b5b945b8a1561330757898660020b13155b6132fe57156132e257845f528160205260405f2098895480156132c35793909192935b801515806132ba575b156132a75790818f959493925f528660205260405f208054966004820154600160ff8260501c166131e681611354565b0361329c5760301c63ffffffff1614613268578f518c5160a090206132229161321891906001600160a01b031661393d565b505090508261347e565b15613254578f60019392613247928f8f8f81519160a08a80821b0391015116956134c9565b0193925b939091926131ad565b505050505050505050975050505050505050565b50509c9b9a9950949091939796959d92505b88156132975761328990612f7d565b9b9a919b969290939661306c565b613289565b50505050939261324b565b509b9a999850939c91929695949c61327a565b508c82106131b6565b50949091939796959d929b9a999850885f146132975761329790612f7d565b90929695949c919a99989793885f146132975761329790612f7d565b50859d50613074565b898660020b1361318a565b9391505060020b900360020b0260020b61317a565b93600101938d8560020b958060ff16918760081d60010b5f5260205260405f2090600160ff5f1992161b01199054169586159687159784895f14613407575061019f5783928160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9461317c565b93905060ff809250031660020b0160020b0260020b613401565b859d50613074565b888160020b121561309e565b8551519092906001600160a01b0316612fec565b50505050565b901561346c57516001600160a01b03165b6001600160a01b031690565b602001516001600160a01b0316613460565b6004015460ff8160581c165f1461349e5760181c60020b9060020b121590565b60020b9060020b1290565b6004015460ff8160581c165f146134c35760181c60020b90565b60020b90565b60048501805460ff60501b1916600160511b179081905591969195605887901c60ff16959094939092906134fd878261344f565b9615613509908261344f565b83516020850151604090950151600387018054909b6001600160a01b039384169b94985f989095879590948116939116918d916135489060801c6139f6565b6040519161355583610d16565b8060020b835260181c60020b602083015260408201528c606082015260405180988192632d35e7ed60e11b8352600483019161359092613a1c565b03815a6040945f91f1988915610667576136398f9a8e938a88819b8b9689955f925f9161390b575b50919261362d926001600160a01b0386166138f5578460801d945b6001600160a01b0387166138de57600f0b955b6001600160a01b03166138d4575f9f5b6001600160a01b03166138c8575060045f995b01549560ff8760581c165f146138b75760208201516001600160a01b031692613cc4565b96879360601c90613f6f565b97909d5f82600f0b1380156138ab575b613891575b505050505060018060801b038b5416915f60028a019961367b613675868d5460801c613a8f565b8c613aa8565b60018a0186549060018801928354928315861461387f578082555b8015861461386c57506001915001555b8a546001600160801b031680613849575b50818655556136c5846134a9565b98600560028601998a545f520160205260405f2060018060a01b0384165f52602052606060405f2092015160020b9060018060801b0390541615613814575b50506007600484015460601c9c0160018060a01b038d165f528060205260405f2060018060a01b0383165f5260205260405f205492830392831161288a576001600160a01b038d81165f908152602092835260408082209490921680825293835281902084905551928352909b8c9290915f5160206158e65f395f51905f5291a36004015497549354604080516001600160a01b03998a1681526001600160801b039687166020820152928616908301529190961660608781019190915291909216608086015260a085019190915260029190910b60c084015260e08301919091529190911c907f59d8d839dc2a16f78d0e321652546b26bd10065beade9541895b54e0ec058a379061010090a3565b8960020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613704565b8b546001600160801b03191683199091016001600160801b0316178b555f6136b7565b85525060205260408320600101556136a6565b83865282602052806040872055613696565b61389e959a508990613f6f565b9050945f8080808061364e565b505f83600f0b13613649565b81516001600160a01b031692613cc4565b600490600f0b99613609565b8060801d9f6135f6565b6138ef9082600f0b90600f0b613a6a565b956135e6565b6139058160801d8660801d613a6a565b946135d3565b61362d9350613929915060403d6040116119bb576119ac8183610d9d565b90926135b8565b9190820180921161288a57565b91906020906040518281019182526006604082015260408152613961606082610d9d565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa918215610667575f926139c2575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d6020116139ee575b816139de60209383610d9d565b8101031261019f5751905f61399a565b3d91506139d1565b600160ff1b811461288a575f0390565b919082604091031261019f576020825192015190565b9061016092613a2d83606093610ee8565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761288a57565b6001600160801b03918216908216039190821161288a57565b80546001600160801b031660809290921b6001600160801b031916919091179055565b91939260049060018060801b03600382015416935f6002880197613afc613af6888b5460801c613a8f565b8a613aa8565b835490600185019182549182158514613c8c578181555b81158514613c6b576001915001555b88546001600160801b031680613c48575b5081845555613b41826134a9565b9660028301545f525f5160206159065f395f51905f5260205260405f2060018060a01b0386165f52602052606060405f2092015160020b9060018060801b0390541615613c13575b5050015460601c90815f525f5160206159c65f395f51905f5260205260405f2060018060a01b0382165f5260205260405f205492830392831161288a5760205f5160206158e65f395f51905f5291835f525f5160206159c65f395f51905f52825260405f2060018060a01b0382165f5282528460405f205560405194855260018060a01b031693a3565b8760020b905f81830712910503908160020b60081d60010b5f52602052600160ff60405f2092161b1981541690555f80613b89565b89546001600160801b03191683199091016001600160801b03161789555f613b33565b5083525f5160206159665f395f51905f526020526001604084200155613b22565b8285525f5160206159665f395f51905f52602052816040862055613b13565b60405190613cb882610d82565b5f602083606081520152565b92919092613cd0613cab565b506001600160a01b0381169384613cee575b5050610fd092506141fc565b60405163442f7de960e11b8152600481018690526001600160a01b03919091169190602081602481865afa5f9181613f31575b50613d2d575b50613ce2565b60ff6004911610159081613f21575b50613d49575b8080613d27565b5f9060246040518096819363f3ffe14b60e01b835260048301525afa928315610667575f93613db8575b508251805115159081613d91575b50613d8c5782613d42565b505090565b6001600160a01b039150613da490612b2d565b5151166001600160a01b038316145f613d81565b9092503d805f833e613dca8183610d9d565b81019060208183031261019f578051906001600160401b03821161019f570160408183031261019f5760405191613e0083610d82565b81516001600160401b03811161019f5782019080601f8301121561019f57815191613e2a83610dbe565b92613e386040519485610d9d565b80845260208085019160051b8301019183831161019f5760208101915b838310613e7c575050505050613e7091602091845201610e1b565b6020820152915f613d73565b82516001600160401b03811161019f5782019060a0828703601f19011261019f5760405190613eaa82610ce7565b613eb660208401610e1b565b8252613ec460408401610e2f565b6020830152613ed560608401610e3f565b6040830152613ee660808401610e1b565b606083015260a0830151916001600160401b03831161019f57613f1188602080969581960101612d93565b6080820152815201920191613e55565b613f2b915061417e565b5f613d3c565b9091506020813d602011613f67575b81613f4d60209383610d9d565b8101031261019f575160ff8116810361019f57905f613d21565b3d9150613f40565b9591939092935f81600f0b135f14614176576001600160801b0316935b5f81600f0b135f1461416f576001600160801b03165b60208201519151805190926001600160a01b0316901561416057613fcf90613fc984612b2d565b5161456c565b90811561415a5786925b82156141495760208201516001600160a01b0316975b83156141415750925b6001600160801b0316806140f5575050509594919293955b95926001926020945b835185101561409d57879861406961404e989961403c600194613fc98a8a612b3a565b9a9093858060801b0316600f0b614304565b600f0b8a84604051936140618d86610d9d565b5f85526145f4565b828060801b0316975f1461408f5786828060a01b03910151165b94019397969597614019565b818060a01b03905116614083565b979691959094508793509150856001600160801b0381166140c0575b5050505050565b6140cc92848693614345565b6001600160a01b0316156140e4575b808080806140b9565b6001600160a01b031692505f6140db565b916141279161410a6141369594600f0b614304565b916040519261411a602085610d9d565b5f8452600f0b918c6145f4565b6001600160801b031690614553565b959491929395614010565b905092613ff8565b81516001600160a01b031697613fef565b82613fd9565b6319dcad4d60e31b5f5260045ffd5b505f613fa2565b505f93613f8c565b6040516301ffc9a760e01b815263f3ffe14b60e01b600482015290602090829060249082906001600160a01b03165afa5f91816141c0575b50610fd057505f90565b9091506020813d6020116141f4575b816141dc60209383610d9d565b8101031261019f576141ed90610e0e565b905f6141b6565b3d91506141cf565b91614205613cab565b835190926001600160a01b0390811691168181036142ff575060208401516001600160a01b03165b6001600160a01b0316602084015260408051949061424b8187610d9d565b60018652601f1981015f5b8181106142cb5750508495612e7594955262ffffff818301511691606081015160020b90608060018060a01b039101511691805193614296602086610d9d565b5f85528151956142a587610ce7565b86526020860152840152606083015260808201528351906142c582612b2d565b52612b2d565b60209083516142d981610ce7565b5f81525f838201525f858201525f60608201526060608082015282828b01015201614256565b61422d565b600f0b60016001607f1b0319811461288a575f0390565b6001600160a01b039182168152911660208201526001600160801b03909116604082015260600190565b5f9491906001600160a01b0382166144c0576001600160a01b031690813b156144bc578461438e92879283604051809681958294630b0d9c0960e01b845230906004850161431b565b03925af1801561449c579085916144a7575b50506001600160a01b0316916001600160801b031690823b1561449857604051630d0e30db60e41b8152848160048186885af1801561449c57908591614483575b5060405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925291602091839160449183915af190811561447857829161443a575b501561442b5750565b6332067e4160e01b8152600490fd5b90506020813d602011614470575b8161445560209383610d9d565b8101031261446c5761446690610e0e565b5f614422565b5080fd5b3d9150614448565b6040513d84823e3d90fd5b8161448d91610d9d565b61449857835f6143e1565b8380fd5b6040513d87823e3d90fd5b816144b191610d9d565b61449857835f6143a0565b8580fd5b92945092916001600160a01b03169050803b1561019f576144fb935f809460405196879586948593630b0d9c0960e01b85526004850161431b565b03925af180156106675761450c5750565b5f61119791610d9d565b90926001600160801b03169190821561344957611197931561454157516001600160a01b031661470f565b602001516001600160a01b031661470f565b6001600160801b03918216908216019190821161288a57565b90614575612af5565b5081516001600160a01b0382811692911690818310156145ec575b60018060a01b03168092149262ffffff602082015116604082015160020b91606060018060a01b039101511692604051946145ca86610ce7565b85526001600160a01b0316602085015260408401526060830152608082015291565b508190614590565b9093929160209181156146f05761465c5f6401000276a4975b61468d6040519561461d87610d4c565b15158087528787018981526001600160a01b03909b16604080890191825251633cf3645360e21b81529b919a8c98899788969294926004880190610ee8565b51151560a48601525160c4850152516001600160a01b031660e4840152610120610104840152610124830190610cc3565b03926001600160a01b03165af1928315610667575f936146bc575b505f13036146b657600f0b90565b60801d90565b9092506020813d6020116146e8575b816146d860209383610d9d565b8101031261019f5751915f6146a8565b3d91506146cb565b61465c5f73fffd8963efd1fc6a506488495d951d5263988d259761460d565b9091906001600160a01b038116908161479d5750505f80808093855af1156147345750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156147ee5750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa908115610667575f9161489f575090565b90506020813d6020116148c6575b816148ba60209383610d9d565b8101031261019f575190565b3d91506148ad565b6001600160a01b03918216815291166020820152604081019190915260600190565b606060a05291959491936001600160a01b03909216919082156158d6575f608060405161491c81610ce7565b614924612af5565b815282602082015260a051604082015260a05160a05182015201525f908451835181036158c7575f905b8082106158905750506149996040519561496787610ce7565b82875298151560208701818152604088019a909a5260a0518701948552608087019586526001600160a01b039261344f565b168061573157503403615722575b6149b0846129db565b614b395760408051936020808601526101608501976149d28387018351610ee8565b51151560e08601520151956101206101008501528651809152602061018085019701905f5b818110614b23575050505194603f1983820301610120840152602080875192838152019601905f5b818110614b0a57505050916105df614a7783614a5b614a9b955f9899899860018060a01b0390511661014083015203601f198101835282610d9d565b6040519283918760208401526040808401526060830190610cc3565b6040519485809481936348c8949160e01b8352602060048401526024830190610cc3565b03926001600160a01b03165af1908115610667575f91614af0575b50805181019060208183031261019f576020810151916001600160401b03831161019f57614aeb926020809201920101612ee2565b60a052565b614b0491503d805f833e61065d8183610d9d565b5f614ab6565b825160020b885260209788019790920191600101614a1f565b82518952602098890198909201916001016149f7565b9193949290845193614b4a85612f57565b91825f525f5160206159865f395f51905f52602052600160405f20015460b81c60020b15615680575b614b8060a087208561393d565b50509050614b91835115158861344f565b90845f525f5160206159265f395f51905f5260205260405f20549260018060a01b039051169351151594604051608052614bcc608051610d67565b6080515260020b6020608051015260018060a01b03166040608051015260a051608051015260808051015260a06080510152614c0c604085015151610eb6565b915f5b6040860151908151811015615674576020835192818360051b80920101519301015160a06080510151151560a05188015160020b905f14615663578160020b01627fffff198112627fffff82131761288a57925b60805160a001511580159061565c5784915b60405191632939447b60e11b835260048301528060248301528360020b60448301528560020b606483015260208260848173__$b37d8808673a650b3481d88bc26a627692$__5af4918215610667575f92615619575b506001600160801b038216156127e15760808051805160408281015192909301516001600160a01b039081165f8181527f98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cee6020528590208054614df1969560a095949293921690614d3b90612b1f565b809355855193845260208401528885840152835183015260808201522095815193614d6585610d67565b8d85528160020b60208601528960020b8386015260018060801b03861660a05186015260018060801b031660808501528660a085015260a060805101511515945f99835192614db384610d16565b600290810b84520b60208301526001600160801b03168282015260a05181018790528151632d35e7ed60e11b81529283918291908f60048401613a1c565b03815f6001600160a01b038e165af1908115610667575f916155fa575b508060801d90600f0b835f146155d057505f81600f0b125f146155c957614e3490614304565b6001600160801b03165b915b6001600160801b038316156127e15760808201516001600160801b0390811690841681116155b5575b5081518051909190614e85906001600160a01b0316308c614852565b906020830192614ea060018060a01b038551168d3090614852565b9282156155ae575f925b156155a6578c30935b5f831380615594575b61552a575b50505f81126153fe575b50505f8213806153ec575b615388575b505f81126152a6575b506040966001969594939260a09250906001600160801b038116615280575b50818101515f525f5160206159665f395f51905f526020526002885f20614f4e600382018a8060801b0387168b8060801b03198254161781558a8060801b0386518601511690613aa8565b6020830151600482019081546001600160581b038d87015160181b9163ffffffff60301b8951608051015160301b1660ff60581b8a6080510151151560581b169365ffffff0000006001600160601b03196080805101518d511b1696600160501b9462ffffff60ff60501b1992169069ffffffffffffffffffff19161716911617171716171790556080515191829101555f525f5160206159465f395f51905f52602052875f208780841b03896080510151168880851b03165f52602052875f208460020b5f52602052875f2060028101906150316120aa86845460801c614553565b608051515f525f5160206159065f395f51905f52602052895f208980861b038b6080510151168a80871b03165f52602052895f2084518451015160020b8a8060801b038454161561524f575b50508383015190898101908282549182155f1461522f57555b5f8381525f5160206159665f395f51905f5260209081528d82208d019290925592909155825460808b811b8c90038083168d018116811990931692909217909455939094015182519283015160a08b901b8b900390811683525f5160206159c65f395f51905f5286528b8320938c01511682529190935291889020547f36c14a3cb6751895ef6ab64f123dcca47c492ec447d69f86bb560eb5ad0e47a39160c09161514391861690613930565b94888060a01b0360808051015116898060a01b03165f525f5160206159c65f395f51905f52602052895f20898060a01b038b6080510151168a8060a01b03165f52602052858a5f2055888060a01b036080805101511693898060a01b038b60805101511695608051519260a060805101511515906020608051015160020b918e51958652602086015260020b8d85015260a0518401528a8060801b0316608083015260a0820152a3838060a01b03608080510151165f5160206158e65f395f51905f526020868060a01b0388608051015116938851908152a36152268288612b3a565b52019050614c0f565b5050805f525f5160206159665f395f51905f52602052828c5f2055615096565b8760020b905f81830712910503908160020b60081d8b0b5f526020528960ff8c5f2092161b81541790555f8061507d565b6152a090825184608051015115158a80871b036080805101511691614516565b5f614f03565b6152b5909695949392966139f6565b81516001600160a01b0390811692908b163b1561019f575f8b602482956040519687938492632961046560e21b8452600484015260018060a01b03165af19283156106675761531793615378575b50516001600160a01b038b8116911661470f565b604051630476982d60e21b8152946020866004815f6001600160a01b038e165af19081156106675760409760019760a09361535a575b5097509192939495614ee4565b6153719060203d8111612470576124618183610d9d565b505f61534d565b5f61538291610d9d565b5f615303565b82516001600160a01b03908116908c163b1561019f57828c6153c4935f809460405196879586948593630b0d9c0960e01b8552600485016148ce565b03926001600160a01b03165af180156106675715614edb575f6153e691610d9d565b5f614edb565b506001600160a01b0381161515614ed6565b615407906139f6565b81519091906001600160a01b03908116908e163b1561019f575f8e602482936040519485938492632961046560e21b8452600484015260018060a01b03165af180156106675761551a575b50516001600160a01b0316806154b5575060208c600460405180948193630476982d60e21b835260018060a01b03165af1801561066757615497575b505b5f80614ecb565b6154ae9060203d8111612470576124618183610d9d565b505f61548e565b6154ca91906001600160a01b038e169061470f565b5f60208c600460405180948193630476982d60e21b835260018060a01b03165af18015610667576154fc575b50615490565b6155139060203d8111612470576124618183610d9d565b505f6154f6565b5f61552491610d9d565b5f615452565b83516001600160a01b0390811692163b1561019f57828f5f92836155659560405196879586948593630b0d9c0960e01b8552600485016148ce565b03926001600160a01b03165af1801561066757615584575b8d90614ec1565b5f61558e91610d9d565b5f61557d565b506001600160a01b0381161515614ebc565b8c5f93614eb3565b3092614eaa565b6155c29197508390613a8f565b955f614e69565b505f614e3e565b90505f8112156155f3576155e390614304565b6001600160801b03165b91614e40565b505f6155ed565b615612915060403d81116119bb576119ac8183610d9d565b505f614e0e565b9091506020813d8211615654575b8161563460209383610d9d565b8101031261019f57516001600160801b038116810361019f57905f614ccb565b3d9150615627565b8291614c75565b61566d9082612f98565b9092614c63565b5050505091505060a052565b5f8381525f5160206159865f395f51905f526020908152604091829020885181546001600160a01b039182166001600160a01b0319918216178355928a0151600183018054958c015160a080518e015160b81b62ffffff60b81b1662ffffff60a01b9290911b919091169284166001600160d01b0319909716969096179190911794909417909355608089015160029091018054919093169116179055614b73565b636d295d4f60e11b5f5260045ffd5b34615722576040516370a0823160e01b815230600482015291602083602481855afa928315610667575f9361585c575b506040516323b872dd60e01b8152336004820152306024820152604481018290526020816064815f875af1908115610667575f91615822575b50156157dd576020602492604051938480926370a0823160e01b82523060048301525afa918215610667575f926157ec575b506157d79192613930565b146149a7575b637627529f60e01b5f5260045ffd5b91506020823d60201161581a575b8161580760209383610d9d565b8101031261019f576157d79151916157cc565b3d91506157fa565b90506020813d602011615854575b8161583d60209383610d9d565b8101031261019f5761584e90610e0e565b5f61579a565b3d9150615830565b9092506020813d602011615888575b8161587860209383610d9d565b8101031261019f5751915f615761565b3d915061586b565b909261589c8488612b3a565b519081156158b8576001916158b091613930565b93019061494e565b633fa8802d60e21b5f5260045ffd5b63512509d360e11b5f5260045ffd5b633b77ab5760e11b5f5260045ffdfea942ad2d47c64ce0859147575881ee76ce335036216e9378b100614f683006cb98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf198b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf098b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf298b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6ced98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cef98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cec98b43bb10ca7bc310641b07883d9e14c04b3983640df6b07dd1c99d10a3c6cf3","sourceMap":"1578:7102:78:-:0;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;7726:11;-1:-1:-1;;;;;1578:7102:78;7704:10;:34;1578:7102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;;;;;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;:::i;:::-;1500:62:0;;:::i;:::-;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;1777:43:1;;-1:-1:-1;1777:43:1;1578:7102:78;;;-1:-1:-1;;1578:7102:78;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;785:24:79;798:10;785:24;:::i;:::-;1578:7102:78;;;;3645:11;3593:113;3645:11;;3593:113;:::i;:::-;1578:7102;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;1674:41;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;1500:62:0;;:::i;:::-;1578:7102:78;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;6122:141;1578:7102;;;;;;;:::i;:::-;6168:10;1578:7102;;;;;:::i;:::-;6133:129;1578:7102;6133:129;;1578:7102;;;;6133:129;;1578:7102;;;;;;;;;;6133:129;;1578:7102;;;;;6133:129;;1578:7102;;;;;;6122:141;;;1578:7102;6122:141;;;1578:7102;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;6122:141;-1:-1:-1;;6122:141:78;;;;;;:::i;:::-;1578:7102;;;8639:31;;;1578:7102;;8639:31;6082:26;1578:7102;;8639:31;;1578:7102;;;;;;;;;;;:::i;:::-;8639:31;5738:98;;8639:31;;;;;;:::i;:::-;1578:7102;;;;;;;;;8620:51;;1578:7102;;8620:51;;1578:7102;;;;;;:::i;:::-;8620:51;1578:7102;;8620:11;-1:-1:-1;;;;;1578:7102:78;8620:51;;;;;;;;1578:7102;8620:51;;;;;1578:7102;8620:51;;;;;;:::i;:::-;;;;;:::i;:::-;1578:7102;8620:51;1578:7102;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;:::i;:::-;1500:62:0;;;:::i;:::-;1086:34:79;;;1578:7102:78;;;1185:18:79;;;;;;1578:7102:78;1205:3:79;1256:12;;;1578:7102:78;1256:12:79;;;;:::i;:::-;;:::i;:::-;1578:7102:78;;;;;1242:10:79;;;;;;:::i;:::-;;:::i;:::-;1578:7102:78;;;1224:17:79;1578:7102:78;;;;;;;;;;;;;;;;;;;1310:10:79;;;;;;:::i;:::-;1287:48;1578:7102:78;1322:12:79;;;;;;:::i;:::-;1578:7102:78;;;;;;;;;;;;;;1287:48:79;;1578:7102:78;1170:13:79;;1578:7102:78;;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;1792:51;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1578:7102:78;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1578:7102:78;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;932:20:79;1578:7102:78;;:::i;:::-;932:20:79;:::i;:::-;1578:7102:78;;;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;:::i;:::-;;;:::i;:::-;5443:13;1578:7102;;;;-1:-1:-1;;1578:7102:78;;;5470:3;5458:10;;;;;;1578:7102;;;;;;;;;;;;;;5546:14;;;;;;;;:::i;:::-;:26;;5542:327;;5470:3;;1578:7102;5470:3;;1578:7102;5443:13;;5542:327;5620:14;1578:7102;5620:14;;;:::i;:::-;1578:7102;;;:::i;:::-;5770:17;;;;;;:::i;:::-;1578:7102;;;;5770:17;1578:7102;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5738:98;1578:7102;;;5738:98;1578:7102;5738:98;1578:7102;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;8283:18;;1578:7102;;;;;;;;;;;;;;;;;;;;;;;;;;;5770:17;1578:7102;;;5546:14;1578:7102;;8503:24;1578:7102;;5738:98;;;1578:7102;5738:98;;;:::i;:::-;;:::i;:::-;5542:327;;;1578:7102;;;;;;-1:-1:-1;;1578:7102:78;;;;;;735:10:7;-1:-1:-1;;;;;1578:7102:78;;;2339:24:1;2335:96;;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;735:10:7;1578:7102:78;;;;;;;-1:-1:-1;;;;;1578:7102:78;;3052:40:0;;-1:-1:-1;3052:40:0;1578:7102:78;2335:96:1;2386:34;;;1578:7102:78;2386:34:1;735:10:7;1578:7102:78;;;;2386:34:1;1578:7102:78;;;;;;-1:-1:-1;;1578:7102:78;;;;1500:62:0;;:::i;:::-;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;;;;;;-1:-1:-1;;;;;;1578:7102:78;3052:40:0;-1:-1:-1;;3052:40:0;1578:7102:78;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;-1:-1:-1;1578:7102:78;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1578:7102:78;;;;;;1721:65;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;1849:29;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;;1578:7102:78;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;;;5738:98;;1578:7102;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;:::-;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;5738:98;1578:7102;5738:98;;1578:7102;;:::i;:::-;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;:::i;:::-;;:::o;3759:1537::-;;;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;3978:17;;:55;;;;3759:1537;3974:120;;3759:1537;4155:11;4122:45;4155:11;4122:45;:::i;:::-;4235:121;;;;3759:1537;4479:14;;:::i;:::-;1578:7102;;;;;;;;;;;;;;;;4576:177;;-1:-1:-1;;;;;;;;;;;1578:7102:78;4576:177;;1578:7102;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4576:15;:177;:15;;:177;;;;;;-1:-1:-1;;;;;4576:177:78;;;3759:1537;1578:7102;;;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;8283:18:78;;1578:7102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;8503:24;5034:152;;1578:7102;5268:20;;;1578:7102;;;5268:20;;;1578:7102;5268:20;;;:::i;:::-;3759:1537::o;5034:152::-;5146:8;;;;:::i;4576:177::-;;;;;1578:7102;4576:177;1578:7102;4576:177;;;;;;;;:::i;:::-;;;1578:7102;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;4576:177;;;;;;;;;;4235:121;1578:7102;;-1:-1:-1;;;4273:45:78;;4307:10;1578:7102;4273:45;;1578:7102;;;4273:45;1578:7102;4273:16;-1:-1:-1;;;;;1578:7102:78;4273:45;;;;;;;-1:-1:-1;4273:45:78;;;4235:121;1578:7102;4235:121;1578:7102;;;;-1:-1:-1;1578:7102:78;;-1:-1:-1;1578:7102:78;4273:45;;;1578:7102;4273:45;;1578:7102;4273:45;;;;;;1578:7102;4273:45;;;:::i;:::-;;;1578:7102;;;;;;;:::i;:::-;4273:45;;;;;;-1:-1:-1;4273:45:78;;3974:120;4049:34;-1:-1:-1;3974:120:78;;;3978:55;3999:34;;;;3978:55;;1578:7102;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1578:7102:78;;;;;;-1:-1:-1;;1578:7102:78;;;;:::o;:::-;;-1:-1:-1;1578:7102:78;;;:::o;6515:869::-;;1578:7102;;6632:11;-1:-1:-1;;;;;1578:7102:78;6610:10;:34;1578:7102;;6727:37;;1578:7102;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;:::i;:::-;6856:31;;6852:140;;1578:7102;;;;:::i;:::-;;7006:29;;1578:7102;;7092:14;;;;:::i;:::-;1578:7102;;1680:64:83;;;1578:7102:78;1680:64:83;;1578:7102:78;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;1778:4:83;1578:7102:78;;;;:::i;:::-;;;;;1778:4:83;:::i;:::-;1578:7102:78;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;6515:869;:::o;7002:349::-;7156:26;1578:7102;;;;:::i;:::-;7142:40;7156:26;;1578:7102;;1271:69:89;;1578:7102:78;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;1271:69:89;1578:7102:78;1271:69:89;;1578:7102:78;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;1775:23:89;1578:7102:78;;;;1898:15:89;;;1578:7102:78;;1961:22:89;;;-1:-1:-1;1999:9:89;-1:-1:-1;2926:16:89;;;;1994:1032;2010:14;;;;;;1994:1032;3087:30;;;;;;;;;;1578:7102:78;;7138:213;;7002:349;;1578:7102;;;;-1:-1:-1;1578:7102:78;2180:11:89;1578:7102:78;;;;-1:-1:-1;1578:7102:78;2026:3:89;2063:11;;;;;;;;;;;:::i;:::-;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;2180:11:89;;;1578:7102:78;;;;;2180:25:89;;1578:7102:78;;2264:20:89;;1578:7102:78;;;;;;;;;;;:::i;:::-;2344:48:89;1578:7102:78;;;2463:15:89;;1578:7102:78;3536:17:89;7156:26:78;3536:17:89;;1578:7102:78;;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;7156:26;1578:7102;;;;;;;;;;;;;;;;;3572:20:89;1578:7102:78;;3727:86:89;2309:46:81;1578:7102:78;357:173:37;;6632:11:78;2309:46:81;:::i;:::-;3727:86:89;;;;;;:::i;:::-;1578:7102:78;;9065:208:84;3880:36:89;;;;:::i;:::-;1578:7102:78;;;;;;;3933:53:89;;;;;:::i;:::-;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;4445:64:89;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;;;2180:11:89;;;1578:7102:78;4445:64:89;;;:::i;:::-;;9206:27:84;1578:7102:78;;;9206:27:84;:::i;:::-;1578:7102:78;;;;;;:::i;:::-;;7156:26;1578:7102;;;;;7156:26;1578:7102;;9123:124:84;;1578:7102:78;9123:124:84;;;1578:7102:78;9123:124:84;1578:7102:78;9123:124:84;;1578:7102:78;;;;;;;;;;9065:208:84;;;2180:11:89;9065:208:84;;;:::i;:::-;;1578:7102:78;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;9065:208:84;;;;;;;;7227:106;9065:208;;1578:7102:78;9065:208:84;7156:26:78;9065:208:84;4707:111:89;9065:208:84;-1:-1:-1;9065:208:84;;;2026:3:89;-1:-1:-1;7158:43:84;;;;1578:7102:78;;7286:40:84;;-1:-1:-1;;;;;1578:7102:78;7158:43:84;7266:4:78;7286:40:84;;:::i;:::-;2241:89:34;;;;;;1578:7102:78;2052:83:34;;-1:-1:-1;;;;;1578:7102:78;6632:11;7227:106:84;:::i;:::-;3536:17:89;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;7156:26;1578:7102;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;4707:111:89;-1:-1:-1;;;;;1578:7102:78;;2691:19:89;;2687:125;;-1:-1:-1;2826:27:89;;-1:-1:-1;;;;;1578:7102:78;;;;;-1:-1:-1;2826:27:89;:::i;:::-;2926:50;;;;;7158:43:84;2922:94:89;;1578:7102:78;;1999:9:89;;;;;;;;2922:94;2996:5;;2926:50;2946:30;;;;;2926:50;;2687:125;2737:60;;;;;-1:-1:-1;2737:60:89;2180:11;1578:7102:78;;;;;;;;;;;;-1:-1:-1;2737:60:89;7158:43:84;1578:7102:78;;;;7286:40:84;;-1:-1:-1;;;;;1578:7102:78;7158:43:84;;9065:208;;;;1578:7102:78;9065:208:84;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;2180:11:89;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;2180:11:89;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;2180:11:89;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;2180:11:89;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;-1:-1:-1;1578:7102:78;7138:213;7323:17;;;-1:-1:-1;7323:17:78;;-1:-1:-1;7323:17:78;6852:140;1578:7102;;;;;;3348:61:82;;;1578:7102:78;3348:61:82;;1578:7102:78;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1578:7102:78;;;;;;;;;:::i;:::-;;;;;;;;5107:8:82;;5147:27;;;;:::i;:::-;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;5261:39:82;1578:7102:78;;;;;5261:44:82;5257:108;;1578:7102:78;2309:46:81;1578:7102:78;357:173:37;;6632:11:78;2309:46:81;:::i;:::-;1578:7102:78;;;;;5538:52:82;1578:7102:78;;;;5538:52:82;;:::i;:::-;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5402:323:82;;1578:7102:78;;;;;;;;5402:323:82;;1578:7102:78;5402:323:82;;;1578:7102:78;;5402:323:82;;1578:7102:78;;5402:323:82;;1578:7102:78;5747:37:82;1578:7102:78;;;5761:15:82;1578:7102:78;5747:37:82;:::i;:::-;5800:9;-1:-1:-1;5800:9:82;1578:7102:78;;;5815:15:82;1578:7102:78;;;5811:26:82;;;;;1578:7102:78;;;;5935:15:82;6406:190;;;1578:7102:78;6406:190:82;;;;;;;;;;1578:7102:78;5402:323:82;;1578:7102:78;;;6691:15:82;;;1578:7102:78;;;6643:64:82;7635:205;;;;7666:21;1578:7102:78;;;;;;;;;;;;;7635:205:82;1578:7102:78;5402:323:82;;1578:7102:78;;;;;6789:39:82;;;;1578:7102:78;;;;;;6859:83:82;;5611:16;6859:83;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;6859:15:82;:83;:15;;:83;;;;;;;-1:-1:-1;6859:83:82;;;6789:39;-1:-1:-1;;;;;;1578:7102:78;;6960:14:82;1578:7102:78;;9099:457:82;1578:7102:78;;;;;;;;;5402:323:82;;;1578:7102:78;;;;;;;;5402:323:82;;1578:7102:78;;;-1:-1:-1;1578:7102:78;7105:17:82;1578:7102:78;;;-1:-1:-1;1578:7102:78;;7103:30:82;1578:7102:78;;7103:30:82;:::i;:::-;1578:7102:78;;;8009:323:82;;;;;1578:7102:78;8009:323:82;;;;;;;;;;;;1578:7102:78;8009:323:82;;;;1578:7102:78;;;;;;;:::i;:::-;;;;;;;;;7176:223:82;;1578:7102:78;;;;7176:223:82;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;7176:223:82;;;1578:7102:78;;;7176:223:82;;1578:7102:78;;7176:223:82;;;1578:7102:78;;;5402:323:82;;1578:7102:78;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;:::i;:::-;;;;;;;;;9164:366:82;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;9164:366:82;;;1578:7102:78;9164:366:82;;;1578:7102:78;;;;;-1:-1:-1;;;9099:457:82;;1578:7102:78;;;;;;;5611:16:82;9099:457;;;:::i;:::-;;1578:7102:78;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;9099:457:82;;;;;;;-1:-1:-1;9099:457:82;;;6789:39;2052:83:34;;1578:7102:78;2052:83:34;2241:89;;;9652:455:82;;;;;9822:52;-1:-1:-1;1578:7102:78;2241:89:34;1578:7102:78;9822:11:82;:52;-1:-1:-1;;;9859:8:82;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;9822:52:82;9652:455;;-1:-1:-1;;;;;1578:7102:78;;10125:17:82;1578:7102:78;;;7176:223:82;;1578:7102:78;;;-1:-1:-1;;;;;1578:7102:78;;;;;;10199:35:82;-1:-1:-1;10195:112:82;;9652:455;-1:-1:-1;;10368:10:82;;1578:7102:78;;10368:10:82;;1578:7102:78;2114:78:84;;-1:-1:-1;;;;;1578:7102:78;2171:4:84;6632:11:78;2114:78:84;:::i;:::-;1578:7102:78;2282:13:84;;1578:7102:78;;;;2218:78:84;;-1:-1:-1;;;;;1578:7102:78;2171:4:84;6632:11:78;2218:78:84;:::i;:::-;2325:40;;;;;-1:-1:-1;2325:40:84;;2393;;;2171:4;2393:40;;-1:-1:-1;7493:6:84;;:31;;;2393:40;7489:115;;2393:40;7617:6;-1:-1:-1;7617:6:84;;7613:582;;2393:40;8209:6;-1:-1:-1;8209:6:84;;:31;;;2393:40;8205:234;;2393:40;8452:6;-1:-1:-1;8452:6:84;;8448:330;;2393:40;-1:-1:-1;1578:7102:78;;;;;;-1:-1:-1;;;;;;1578:7102:78;;8682:132:82;;2393:40:84;7176:223:82;;;;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;3164:38:81;1578:7102:78;3124:15:81;;1578:7102:78;;;;;;;;;;;;871:1:85;;;;;;;1578:7102:78;;;;;7176:223:82;;;1578:7102:78;;3164:38:81;;:::i;:::-;1578:7102:78;7176:223:82;;1578:7102:78;5611:16:82;3212:15:81;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;7176:223:82;1578:7102:78;7176:223:82;;1578:7102:78;;;;-1:-1:-1;;;5402:323:82;;;1578:7102:78;;;;;;;;5402:323:82;;;1578:7102:78;;;;;;;;-1:-1:-1;;;;;1578:7102:78;5402:323:82;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3491:17:81;;;;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;3899:17:81;;1578:7102:78;3899:33:81;;1578:7102:78;;;;;3899:33:81;:::i;:::-;;;:::i;:::-;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;4028:14:81;;;:26;1578:7102:78;;;;;;;;;;;809:15:80;805:218;;2393:40:84;7176:223:82;;;;;1578:7102:78;1107:6:85;;;;1578:7102:78;;;;1128:18:85;;;1124:235;1128:18;;;1578:7102:78;1124:235:85;3594:343;-1:-1:-1;3594:343:85;-1:-1:-1;;;;;;;;;;;1578:7102:78;3594:343:85;;1578:7102:78;-1:-1:-1;3594:343:85;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;871:1:85;;;;;;;7176:223:82;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;4574:143:81;1578:7102:78;4435:55:81;1578:7102:78;-1:-1:-1;1578:7102:78;;;;;;;;;;4435:55:81;:::i;:::-;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;;5402:323:82;;1578:7102:78;;;;;;5402:323:82;1578:7102:78;;5402:323:82;;1578:7102:78;;;5402:323:82;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4574:143:81;1578:7102:78;;;;;;5402:323:82;;1578:7102:78;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;5402:323:82;;1578:7102:78;;;;;;;;4732:77:81;5855:99:82;;;;:::i;:::-;1578:7102:78;;5800:9:82;;1124:235:85;3594:343;;;-1:-1:-1;3594:343:85;-1:-1:-1;;;;;;;;;;;1578:7102:78;3594:343:85;;1578:7102:78;-1:-1:-1;3594:343:85;;1124:235;;805:218:80;846:396:31;1578:7102:78;846:396:31;;-1:-1:-1;846:396:31;;;;;;;984:11:80;1676:170:31;1578:7102:78;1676:170:31;;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;1676:170:31;1578:7102:78;-1:-1:-1;1578:7102:78;1676:170:31;;1578:7102:78;;;984:28:80;1578:7102:78;;805:218:80;;;;8682:132:82;8794:8;8750:14;;;5402:323;;;1578:7102:78;;;;;;;;;5402:323:82;;1578:7102:78;;8794:8:82;;:::i;:::-;8682:132;;;8448:330:84;8618:3;;;:::i;:::-;1578:7102:78;2282:13:84;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;2282:13:84;6632:11:78;1578:7102;8636:31:84;;;;1578:7102:78;;-1:-1:-1;;;8636:31:84;;5611:16:82;8636:31:84;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;8636:31:84;;;;;;;8726:6;8636:31;;;8448:330;-1:-1:-1;1578:7102:78;2282:13:84;1578:7102:78;-1:-1:-1;;;;;6632:11:78;1578:7102;;;;8726:6:84;:::i;:::-;1578:7102:78;;-1:-1:-1;;;8747:20:84;;1578:7102:78;;;5611:16:82;1578:7102:78;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;8747:20:84;;;;;;;1578:7102:78;8747:20:84;1578:7102:78;8747:20:84;;;8448:330;;;;;;;;8747:20;;;1578:7102:78;8747:20:84;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;8636:31;-1:-1:-1;8636:31:84;;;:::i;:::-;;;;8205:234;1578:7102:78;2282:13:84;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;6632:11;1578:7102;8375:53:84;;;;1578:7102:78;;-1:-1:-1;;;8375:53:84;;1578:7102:78;-1:-1:-1;;1578:7102:78;;;;8375:53:84;;1578:7102:78;;5611:16:82;8375:53:84;;;:::i;:::-;;1578:7102:78;;6632:11;-1:-1:-1;;;;;1578:7102:78;8375:53:84;;;;;;;8205:234;8375:53;-1:-1:-1;8375:53:84;;;:::i;:::-;;8205:234;;8209:31;-1:-1:-1;;;;;;1578:7102:78;;8219:21:84;;8209:31;;7613:582;7783:3;;;:::i;:::-;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;6632:11;1578:7102;7801:31:84;;;;1578:7102:78;;-1:-1:-1;;;7801:31:84;;5611:16:82;7801:31:84;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;7801:31:84;;;;;;;;7613:582;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;4998:58:36;7957:29:84;;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;8006:35:84;;1578:7102:78;;;;;5611:16:82;;1578:7102:78;;6632:11;-1:-1:-1;;;;;1578:7102:78;8006:35:84;;;;;;;;7953:232;;;7613:582;;;8006:35;;;1578:7102:78;8006:35:84;;;;;;;;;:::i;:::-;;;;;7953:232;8125:6;;1578:7102:78;6632:11;-1:-1:-1;;;;;1578:7102:78;;8125:6:84;:::i;:::-;1578:7102:78;;-1:-1:-1;;;8150:20:84;;1578:7102:78;;5611:16:82;1578:7102:78;-1:-1:-1;6632:11:78;-1:-1:-1;;;;;1578:7102:78;8150:20:84;;;;;;;;7953:232;;;;8150:20;;;1578:7102:78;8150:20:84;;;;;;;;;:::i;:::-;;;;;7801:31;-1:-1:-1;7801:31:84;;;:::i;:::-;;;;7489:115;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;6632:11;1578:7102;7540:53:84;;;;1578:7102:78;;-1:-1:-1;;;7540:53:84;;1578:7102:78;-1:-1:-1;;1578:7102:78;;;;7540:53:84;;1578:7102:78;;5611:16:82;7540:53:84;;;:::i;:::-;;1578:7102:78;;6632:11;-1:-1:-1;;;;;1578:7102:78;7540:53:84;;;;;;;7489:115;7540:53;-1:-1:-1;7540:53:84;;;:::i;:::-;;7489:115;;7493:31;-1:-1:-1;;;;;;1578:7102:78;;7503:21:84;;7493:31;;2393:40;-1:-1:-1;2393:40:84;;;2325;2171:4;2325:40;;;10195:112:82;10261:35;;;;;:::i;:::-;10195:112;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;5611:16:82;-1:-1:-1;1578:7102:78;9822:52:82;;-1:-1:-1;9822:52:82;;9652:455;10044:52;-1:-1:-1;;10044:11:82;;-1:-1:-1;;;10081:8:82;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;10044:52:82;9652:455;;;10044:52;;-1:-1:-1;10044:52:82;;9099:457;;;;1578:7102:78;9099:457:82;;;;;;;;;:::i;:::-;;;;;6859:83;;;;1578:7102:78;6859:83:82;;;;;;;;;1578:7102:78;6859:83:82;;;:::i;:::-;;;1578:7102:78;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;6859:83:82;;;;;;;-1:-1:-1;6859:83:82;;6789:39;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;5611:16:82;1578:7102:78;;-1:-1:-1;1578:7102:78;7635:205:82;7775:19;;;;:::i;:::-;7808:21;7635:205;;5811:26;;;;;3499:20;5811:26;;3499:20;5811:26;;1578:7102:78;;3499:20:82;;;1578:7102:78;3499:20:82;;;:::i;5257:108::-;-1:-1:-1;1578:7102:78;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;-1:-1:-1;;;1578:7102:78;-1:-1:-1;;;1578:7102:78;;;;;;;;;;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5257:108:82;;1578:7102:78;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;:::o;417:66:26:-;;;;;;;;;;;:::o;2217:141:33:-;1578:7102:78;;-1:-1:-1;;;2305:39:33;;417:66:26;2305:39:33;;;1578:7102:78;;417:66:26;;1578:7102:78;;2305:39:33;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;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;;7770:203:78;1578:7102;;;;;;:::i;:::-;-1:-1:-1;;;;;7879:11:78;1578:7102;;;;7920:21;1578:7102;;;;;;7962:4;1578:7102;;;;;7770:203::o;1578:7102::-;;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;1796:2024:83:-;;2139:36;2162:12;;2139:36;:::i;:::-;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;2208:31:83;1578:7102:78;;2208:31:83;:::i;:::-;1578:7102:78;;;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2312:20:83;2308:152;;1796:2024;2474:13;;;;;;1578:7102:78;2474:25:83;2470:110;;1578:7102:78;2609:16:83;;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;2726:47:83;;;;:::i;:::-;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;;;;;2898:17:83;;1578:7102:78;;2943:13:83;;;1578:7102:78;2978:9:83;-1:-1:-1;2989:10:83;;;;;;1796:2024;;;;;;;;;;:::o;2978:9::-;3035:13;:16;1578:7102:78;3035:13:83;;;:16;:::i;:::-;1578:7102:78;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;-1:-1:-1;1578:7102:78;3159:12:83;2210:16;3159:12;;1578:7102:78;;;;;;;;;;;:::i;:::-;3159:48:83;:100;;;;2978:9;3159:152;;;2978:9;3159:205;;;2978:9;3159:315;;;;;2978:9;3138:606;;2978:9;1578:7102:78;;;;2978:9:83;;3138:606;3525:36;;3716:12;3525:36;;:::i;:::-;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;3716:12:83;-1:-1:-1;;;;;;;;;;;3716:12:83;;:::i;:::-;3138:606;;;;;3159:315;1578:7102:78;3384:90:83;2309:46:81;1578:7102:78;;;;;;;;;357:173:37;;2309:46:81;;:::i;:::-;3384:90:83;;;;;;:::i;:::-;3159:315;;:205;1578:7102:78;;;;3331:33:83;;-1:-1:-1;3159:205:83;;;;:152;1578:7102:78;;;;;;;;;;3279:32:83;3159:152;;;:100;1578:7102:78;3227:17:83;;1578:7102:78;3227:32:83;;;-1:-1:-1;3159:100:83;;2470:110;2544:4;;;;;;;-1:-1:-1;;;;;;;;;;;2544:4:83;:::i;2308:152::-;2354:12;;;1578:7102:78;2384:15:83;;1578:7102:78;;;2308:152:83;2380:69;2413:36;;;-1:-1:-1;2413:36:83;2210:16;-1:-1:-1;2413:36:83;1578:7102:78;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;:::i;8540:138::-;1578:7102;;;8639:31;;;1578:7102;-1:-1:-1;8639:31:78;1578:7102;8639:31;1578:7102;8639:31;;1578:7102;;;;;;;;;;;:::i;:::-;8620:51;1578:7102;;8620:11;-1:-1:-1;;;;;1578:7102:78;8620:51;;;;;;;;8540:138;:::o;8620:51::-;;;;;-1:-1:-1;8620:51:78;;;;;;:::i;:::-;;8540:138::o;1796:162:0:-;1710:6;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;735:10:7;1855:23:0;1851:101;;1796:162::o;1358:152:79:-;311:1;1578:7102:78;;1442:17:79;1578:7102:78;;;303:10:79;1578:7102:78;;;1442:61:79;;;;1435:68;1358:152;:::o;1442:61::-;-1:-1:-1;;;;;1578:7102:78;311:1:79;1578:7102:78;;;1442:17:79;1578:7102:78;;;;;303:10:79;1578:7102:78;;;1358:152:79;-1:-1:-1;1358:152:79:o;1578:7102:78:-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;417:66:26;;1578:7102:78;;;;;;;;;;1958:1171:82;;;;;;;;;;;;:::i;:::-;;;;:::o;874:123:55:-;1578:7102:78;;;974:15:55;;;1578:7102:78;;;:::i;:::-;974:15:55;;;;;;;:::i;:::-;1578:7102:78;964:26:55;;874:123;:::o;1578:7102:78:-;;;-1:-1:-1;;1578:7102:78;;-1:-1:-1;;1578:7102:78;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;:::o;3826:3473:83:-;;3984:17;;;1578:7102:78;;;3984:22:83;3980:59;;4071:36;4094:12;;4071:36;:::i;:::-;4136:16;;;1578:7102:78;;;4193:60:83;;;;4206:12;;4136:16;4206:22;1578:7102:78;4193:60:83;;;-1:-1:-1;;;;;1578:7102:78;4193:60:83;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;4308:17:83;;;4136:16;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;-1:-1:-1;1578:7102:78;4415:16:83;;;4136;1578:7102:78;;-1:-1:-1;1578:7102:78;4415:35:83;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;4524:17:83;;;;1578:7102:78;-1:-1:-1;1578:7102:78;4574:16:83;;;4136;1578:7102:78;;-1:-1:-1;1578:7102:78;;4726:17:83;-1:-1:-1;1578:7102:78;;4854:14:83;1578:7102:78;4854:14:83;;1578:7102:78;;;4893:12:83;;;;1578:7102:78;;;4935:12:83;4893;4935;;:24;1578:7102:78;;;4969:2324:83;4976:19;;;;;;4969:2324;3826:3473;;;;;;;;;;;;;:::o;4969:2324::-;-1:-1:-1;5015:51:83;;;;;;;;;;;;;;;;1578:7102:78;;;;5031:16:83;;5015:51;5011:95;;1578:7102:78;846:396:31;;-1:-1:-1;846:396:31;;;;;;;4565:1682;;;;;;1676:170;1578:7102:78;1676:170:31;;4839:13;1676:170;1578:7102:78;1676:170:31;;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;;;;;;4839:20:31;5014:11;;;;;;5164:194;;;;;;;1578:7102:78;;;;;;759:552:20;;1578:7102:78;;;;;;;759:552:20;;;;;;-1:-1:-1;;;;;759:552:20;4415:16:83;759:552:20;;;;;1578:7102:78;759:552:20;4308:17:83;759:552:20;;;;;;;4574:16:83;759:552:20;;;;;;;1578:7102:78;759:552:20;;;;;;;;;;1578:7102:78;;;;;;;;;;;;5164:194:31;4565:1682;;5279:54:83;;;;1578:7102:78;;;;5295:18:83;;5279:54;5347:57;;5422:12;5418:125;;5636:265;-1:-1:-1;5636:265:83;;4136:16;5636:265;1578:7102:78;-1:-1:-1;5636:265:83;;;;5919:18;;5915:131;;6060:22;;;;;6096:1124;6103:21;;;:44;;;6096:1124;6103:44;;;6262:286;;;;;;;-1:-1:-1;6262:286:83;;4136:16;6262:286;1578:7102:78;-1:-1:-1;6262:286:83;;;6570:12;4574:16;6570:12;;1578:7102:78;4524:17:83;1578:7102:78;;;;;;;;:::i;:::-;6570:48:83;6566:146;;1578:7102:78;;;;6733:34:83;6729:86;;1578:7102:78;;6922:12:83;;357:173:37;;;6837:99:83;;2309:46:81;;357:173:37;-1:-1:-1;;;;;1578:7102:78;2309:46:81;:::i;:::-;6837:99:83;;;;;;:::i;:::-;6836:100;6832:153;;7026:12;4524:17;7026:12;;7067:17;7026:12;;;;;;1578:7102:78;357:173:37;1578:7102:78;;;;;7067:17:83;;1578:7102:78;;7067:17:83;;:::i;:::-;1578:7102:78;7184:21:83;6096:1124;;;;;;;;6832:153;6960:7;;;;;;;;;;;;;;;;;;:::o;6729:86::-;6791:5;;;;;;;;;;;;;;;;;6096:1124;7243:39;;;;7259:12;;;:::i;:::-;4969:2324;;;;;;;;;;;7243:39;;;6566:146;6642:21;;;;;6685:8;;;6103:44;;;;;;;;;;;;;;;;;;6128:19;;;;6103:44;;5915:131;5966:39;;;;;;;;;;;;;;;;;;;;5982:12;;;:::i;5418:125::-;5463:39;;;;;;;;;;;;;;;;;5479:12;;;:::i;5347:57::-;5384:5;;;;;;5279:54;1578:7102:78;;;;5316:17:83;5279:54;;5164:194:31;1578:7102:78;;;;;;;;;;;;;5164:194:31;;4565:1682;1578:7102:78;4524:17:83;1578:7102:78;;;;;;1676:170:31;;1578:7102:78;1676:170:31;5702:13;1676:170;;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;4524:17:83;1578:7102:78;;;;;;;5647:20:31;1578:7102:78;;5702:20:31;5869:11;;;;;;6019:213;;;;;;;1578:7102:78;;;1766:834:20;;;1578:7102:78;1766:834:20;-1:-1:-1;1766:834:20;;;;;;;;;;;;;;;;;;;;;;;;;1578:7102:78;;;;;;;;;;6019:213:31;4565:1682;;;6019:213;1578:7102:78;;;;;;;;;;;;;;;;;6019:213:31;;5011:95:83;5086:5;;;;;5015:51;1578:7102:78;;;;5050:16:83;;5015:51;;4193:60;4231:12;;1578:7102:78;4193:60:83;;;-1:-1:-1;;;;;1578:7102:78;4193:60:83;;3980:59;4022:7;;;;:::o;1694:176:81:-;;1819:43;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;1819:43:81;-1:-1:-1;;;;;1578:7102:78;;1694:176:81:o;1819:43::-;1849:13;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;1819:43:81;;1956:216;2083:17;;1578:7102:78;;;;;;2083:82:81;1578:7102:78;;;;;;;;;;2103:30:81;;1956:216;:::o;2083:82::-;1578:7102:78;;;;;2136:29:81;1956:216;:::o;1517:171::-;1628:17;;1578:7102:78;;;;;;1628:53:81;1578:7102:78;;;;;;;1517:171:81;:::o;1628:53::-;1578:7102:78;;1517:171:81;:::o;7305:1520:83:-;7607:12;;;1578:7102:78;;-1:-1:-1;;;;1578:7102:78;-1:-1:-1;;;1578:7102:78;;;;;7305:1520:83;;1578:7102:78;;;;;;;;;7305:1520:83;;;;;;7732:53;1578:7102:78;7305:1520:83;7732:53;:::i;:::-;7848:18;;7813:54;;;;:::i;:::-;1578:7102:78;;8279:17:83;;;1578:7102:78;8310:8:83;;;;1578:7102:78;;4323:15:84;;1578:7102:78;;4323:15:84;;-1:-1:-1;;;;;1578:7102:78;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;;;;;;;4307:33:84;;1578:7102:78;;4307:33:84;:::i;:::-;8310:8:83;1578:7102:78;;;;;:::i;:::-;;7622:34:83;1578:7102:78;;;;;7622:34:83;1578:7102:78;8279:17:83;4212:145:84;;1578:7102:78;8310:8:83;4212:145:84;;1578:7102:78;4212:145:84;;;;1578:7102:78;8310:8:83;1578:7102:78;;;;;;;;4154:229:84;;7607:12:83;4154:229:84;;;;;;:::i;:::-;;;;8310:8:83;4154:229:84;-1:-1:-1;4154:229:84;;;;;;;5252:104;4154:229;;;;;;;;;;;;-1:-1:-1;;;4154:229:84;;;7305:1520:83;-1:-1:-1;4627:66:84;;5149:59;;-1:-1:-1;;;;;1578:7102:78;;;;2052:83:34;1578:7102:78;2052:83:34;4627:66:84;;-1:-1:-1;;;;;1578:7102:78;;;;2241:89:34;;4733:66:84;;-1:-1:-1;;;;;1578:7102:78;;;-1:-1:-1;4842:60:84;;-1:-1:-1;;;;;1578:7102:78;;;4945:60:84;7607:12:83;-1:-1:-1;4945:60:84;;7607:12:83;1578:7102:78;5042:49:84;1578:7102:78;;;;;5042:49:84;1578:7102:78;;;8279:17:83;5062:13:84;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;5149:59:84;:::i;:::-;1578:7102:78;;;4212:145:84;1578:7102:78;5252:104:84;;:::i;:::-;1578:7102:78;;;-1:-1:-1;1578:7102:78;2241:89:34;1578:7102:78;5371:27:84;:58;;;;5042:49;5367:224;;5042:49;8416:66:83;;;;;1578:7102:78;;;;;;;;5131:17:81;-1:-1:-1;7622:34:83;5131:17:81;;1578:7102:78;5131:25:81;;1578:7102:78;;;;;5131:25:81;:::i;:::-;;;:::i;:::-;1578:7102:78;5202:17:81;;2079:369:85;;;1578:7102:78;2079:369:85;;;;;2530:20;;;;;;;1578:7102:78;;;2526:145:85;2748:20;;;;;;2784:6;1578:7102:78;2784:6:85;;;1578:7102:78;2744:145:85;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;2899:95:85;;2744:145;3187:167;;;;;5294:19:81;;;:::i;:::-;5371:17;5353;7622:34:83;5371:17:81;;1578:7102:78;;;-1:-1:-1;1578:7102:78;5353:17:81;8279::83;1578:7102:78;8310:8:83;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;4212:145:84;1578:7102:78;-1:-1:-1;1578:7102:78;5408:15:81;;1578:7102:78;7622:34:83;1578:7102:78;;;;;;;;;;1164:14:80;1160:218;;2744:145:85;7607:12:83;;5516:19:81;7607:12:83;;;1578:7102:78;4212:145:84;1578:7102:78;5516:19:81;;1578:7102:78;;;;;;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5630:69:81;;7607:12:83;;1578:7102:78;;;;;8310:8:83;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;-1:-1:-1;;;;;1578:7102:78;;;8279:17:83;1578:7102:78;;;;;;;;;;;;;;4212:145:84;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;7622:34:83;1578:7102:78;;;;;;;;;;;;;;;;;;;;8498:320:83;;1578:7102:78;;8498:320:83;7305:1520::o;1160:218:80:-;846:396:31;7622:34:83;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1338:11:80;1676:170:31;7622:34:83;1676:170:31;;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;;-1:-1:-1;1578:7102:78;1676:170:31;;1578:7102:78;1353:14:80;1578:7102:78;;1338:29:80;1578:7102:78;;1160:218:80;;;;2899:95:85;871:1;;-1:-1:-1;;;;;;871:1:85;1578:7102:78;;871:1:85;;;-1:-1:-1;;;;;1578:7102:78;871:1:85;;;-1:-1:-1;2899:95:85;;2744:145;3594:343;;-1:-1:-1;8279:17:83;3594:343:85;8310:8:83;3594:343:85;;1578:7102:78;3594:343:85;;2744:145;;2526;3594:343;;;;8279:17:83;3594:343:85;;8310:8:83;3594:343:85;;;2526:145;;5367:224:84;5469:111;;;;;;;:::i;:::-;5445:135;;5367:224;;;;;;;;5371:58;1578:7102:78;-1:-1:-1;1578:7102:78;2241:89:34;1578:7102:78;5402:27:84;5371:58;;5042:49;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;5149:59:84;:::i;4945:60::-;7607:12:83;2241:89:34;;;4945:60:84;;;4842;2052:83:34;1578:7102:78;2052:83:34;4842:60:84;;;4733:66;4775:24;2241:89:34;;;;;;;4775:24:84;:::i;:::-;4733:66;;;4627;4669:24;2052:83:34;1578:7102:78;2052:83:34;;1578:7102:78;2052:83:34;4669:24:84;:::i;:::-;4627:66;;;4154:229;5149:59;4154:229;;;;;8310:8:83;4154:229:84;8310:8:83;4154:229:84;;;;;;;:::i;:::-;;;;;1578:7102:78;;;;;;;;;;:::o;1580:996:30:-;;;14953:51;1580:996;1578:7102:78;;14953:51:30;;;1578:7102:78;;;414:1:30;1578:7102:78;398:19:30;;1578:7102:78;;14953:51:30;;;;;;:::i;:::-;1578:7102:78;14943:62:30;;1578:7102:78;;-1:-1:-1;;;1892:27:30;;;;;1578:7102:78;;;;;;;1892:27:30;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;1892:27:30;;;;;;;-1:-1:-1;1892:27:30;;;1580:996;-1:-1:-1;;;;;;2147:423:30;;;1578:7102:78;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;;1578:7102:78;-1:-1:-1;;;1578:7102:78;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;:::o;:::-;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;:::o;4822:884:81:-;;;;5469:11;4822:884;1578:7102:78;;;;;5106:15:81;;;1578:7102:78;;5131:17:81;-1:-1:-1;5131:17:81;;;1578:7102:78;5131:25:81;;1578:7102:78;;;;;5131:25:81;:::i;:::-;;;:::i;:::-;2079:369:85;;;5202:17:81;2079:369:85;;;;;2530:20;;;;;;;1578:7102:78;;;2526:145:85;2748:20;;;;;;5202:17:81;2784:6:85;;;1578:7102:78;2744:145:85;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;2899:95:85;;2744:145;3187:167;;;;;5294:19:81;;;:::i;:::-;5371:17;5131;5371;;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;5408:15:81;1578:7102:78;-1:-1:-1;1578:7102:78;5408:15:81;;1578:7102:78;5131:17:81;1578:7102:78;;;;;;;;;;1164:14:80;1160:218;;2744:145:85;5469:11:81;;;1578:7102:78;5408:15:81;1578:7102:78;5516:26:81;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5565:26:81;1578:7102:78;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;-1:-1:-1;1578:7102:78;;;;;;;;-1:-1:-1;1578:7102:78;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;5630:69:81;;4822:884::o;1160:218:80:-;846:396:31;5131:17:81;846:396:31;;-1:-1:-1;846:396:31;;;;;;;1338:11:80;1676:170:31;5131:17:81;1676:170:31;;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;5202:17:81;1676:170:31;1578:7102:78;-1:-1:-1;1578:7102:78;1676:170:31;;1578:7102:78;1353:14:80;1578:7102:78;;1338:29:80;1578:7102:78;;1160:218:80;;;;2899:95:85;871:1;;-1:-1:-1;;;;;;871:1:85;1578:7102:78;;871:1:85;;;-1:-1:-1;;;;;1578:7102:78;871:1:85;;;-1:-1:-1;2899:95:85;;2744:145;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:85;;5202:17:81;3594:343:85;;;;;2744:145;;2526;3594:343;;;-1:-1:-1;;;;;;;;;;;3594:343:85;;;;;;;2526:145;;1578:7102:78;;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;;;;;;:::o;9356:980:84:-;;;;;1578:7102:78;;:::i;:::-;-1:-1:-1;;;;;;1578:7102:78;;;;9648:570:84;;9356:980;10289:40;;;;;;:::i;9648:570::-;1578:7102:78;;-1:-1:-1;;;9692:44:84;;;;;1578:7102:78;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;9692:44:84;1578:7102:78;;9692:44:84;;9670:1;;9692:44;;;9648:570;9688:520;;;9648:570;;;;9688:520;1578:7102:78;9692:44:84;1578:7102:78;;9783:12:84;;:41;;;;9688:520;9779:406;;;9688:520;;;;;9779:406;9670:1;1578:7102:78;9692:44:84;1578:7102:78;;;;;;;;;9861:50:84;;9692:44;9861:50;;1578:7102:78;9861:50:84;;;;;;;9670:1;9861:50;;;9779:406;10012:15;;;1578:7102:78;;10012:26:84;;:87;;;;9779:406;10008:159;;;9779:406;;;10008:159;10127:17;;;:::o;10012:87::-;-1:-1:-1;;;;;1578:7102:78;-1:-1:-1;10042:18:84;;;:::i;:::-;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;448:51:36;10012:87:84;;;9861:50;;;;;;9670:1;9861:50;;;;;;:::i;:::-;;;1578:7102:78;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9861:50:84;;;;1578:7102:78;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;-1:-1:-1;;1578:7102:78;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9783:41:84;9799:25;;;;:::i;:::-;9783:41;;;9692:44;;;;1578:7102:78;9692:44:84;;1578:7102:78;9692:44:84;;;;;;1578:7102:78;9692:44:84;;;:::i;:::-;;;1578:7102:78;;;;;;;;;;;;9692:44:84;;;;;;;-1:-1:-1;9692:44:84;;11598:1322;;;;;;;12424:1;1578:7102:78;;;12414:11:84;:34;12424:1;;;-1:-1:-1;;;;;1578:7102:78;;12414:34:84;12424:1;1578:7102:78;;;12523:11:84;:34;12424:1;;;-1:-1:-1;;;;;1578:7102:78;12523:34:84;12571:21;;;1578:7102:78;12606:15:84;;1578:7102:78;;12606:15:84;;-1:-1:-1;;;;;1578:7102:78;;1868:15:59;1578:7102:78;;2929:39:59;2145:7;;;;:::i;:::-;;2929:39;:::i;:::-;3001:30;;;;;;;;3059:50;;;;12571:21:84;3072:17:59;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;3059:50:59;3152:30;;;;;;;-1:-1:-1;;;;;1578:7102:78;3283:16:59;1578:7102:78;;3315:36:59;;;3279:234;;;;;;;2064:119;2264:13;2276:1;1578:7102:78;;2259:355:59;2296:3;1578:7102:78;;2279:15:59;;;;;2384:7;;2450:73;2490:28;2384:7;;2359:47;2276:1;2384:7;;;;;:::i;2359:47::-;1578:7102:78;;;;;;;;;;;2490:28:59;:::i;:::-;1578:7102:78;;;;;;;;;;;:::i;:::-;12424:1:84;1578:7102:78;;2450:73:59;:::i;:::-;1578:7102:78;;;;;;2553:50:59;;;;;1578:7102:78;;;;;;2566:17:59;;1578:7102:78;;2553:50:59;2296:3;1578:7102:78;2264:13:59;;;;;;;2553:50;1578:7102:78;;;;;;;;2553:50:59;;2279:15;;12159:472:84;2279:15:59;;;;-1:-1:-1;2279:15:59;;-1:-1:-1;2279:15:59;-1:-1:-1;12159:472:84;-1:-1:-1;;;;;1578:7102:78;;12642:272:84;;2259:355:59;11598:1322:84;;;;;:::o;12642:272::-;12787:4;;;;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;4998:58:36;12806:98:84;;12642:272;;;;;;;12806:98;-1:-1:-1;;;;;1578:7102:78;;-1:-1:-1;12806:98:84;;;3279:234:59;1578:7102:78;3429:72:59;1578:7102:78;3469:20:59;3397:105;1578:7102:78;;;;3469:20:59;:::i;:::-;1578:7102:78;;;;;;;;:::i;:::-;12424:1:84;1578:7102:78;;;;3429:72:59;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;;3397:105:59;:::i;:::-;3279:234;;;;;;;;3152:30;;;;;;3059:50;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;3059:50:59;;3001:30;;;;1578:7102:78;;;;12424:1:84;1578:7102:78;;12424:1:84;1578:7102:78;12523:34:84;;12424:1;12523:34;;12414;;12424:1;12414:34;;;10848:263;1578:7102:78;;-1:-1:-1;;;10931:63:84;;-1:-1:-1;;;10931:63:84;;;1578:7102:78;;;;;;10931:63:84;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;10931:63:84;;1578:7102:78;;10931:63:84;;;10848:263;-1:-1:-1;10927:178:84;;11082:12;1578:7102:78;11082:12:84;:::o;10931:63::-;;;;1578:7102:78;10931:63:84;;1578:7102:78;10931:63:84;;;;;;1578:7102:78;10931:63:84;;;:::i;:::-;;;1578:7102:78;;;;;;;:::i;:::-;10931:63:84;;;;;;;-1:-1:-1;10931:63:84;;10342:500;;1578:7102:78;;:::i;:::-;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;448:51:36;;;10520:63:84;;-1:-1:-1;10554:13:84;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;10520:63:84;-1:-1:-1;;;;;1578:7102:78;10593:21:84;;;1578:7102:78;;;;;;;;;;:::i;:::-;10672:1:84;1578:7102:78;;-1:-1:-1;;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;;;10640:34:84;;;;10684:151;10640:34;;;1578:7102:78;10757:7:84;;;1578:7102:78;;10779:15:84;1578:7102:78;10779:15:84;;1578:7102:78;;;;;;;;;;10803:9:84;;1578:7102:78;;;;;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;;;;;;;:::i;:::-;;;;10705:130:84;;1578:7102:78;10705:130:84;;1578:7102:78;;10705:130:84;;1578:7102:78;;10705:130:84;;1578:7102:78;10684:15:84;;:151;;;;:::i;:::-;;;:::i;1578:7102:78:-;10593:21:84;1578:7102:78;;;;;;:::i;:::-;-1:-1:-1;1578:7102:78;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;;;;;10520:63:84;;;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;:::o;:::-;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;:::o;11117:475:84:-;-1:-1:-1;;11117:475:84;;-1:-1:-1;;;;;1578:7102:78;;11252:121:84;;-1:-1:-1;;;;;1578:7102:78;;11383:49:84;;;;;1578:7102:78;11383:49:84;1578:7102:78;;;;;;;;;;;;;;;11383:49:84;;11418:4;11383:49;;;;;:::i;:::-;;;;;;;;;;;;;;11117:475;-1:-1:-1;;;;;;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;11442:36:84;;;;;1578:7102:78;;-1:-1:-1;;;11442:36:84;;;1578:7102:78;11383:49:84;1578:7102:78;11442:36:84;;;;;;;;;;;;;11117:475;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;11493:39:84;;-1:-1:-1;;;;;1578:7102:78;;;11383:49:84;11493:39;;1578:7102:78;;;;;;;;;;;;;11493:39:84;;1578:7102:78;;11493:39:84;;;;;;;;;;;11117:475;11492:40;;11488:98;;11117:475;:::o;11488:98::-;-1:-1:-1;;;11555:20:84;;11383:49;;11555:20;11493:39;;;1578:7102:78;11493:39:84;;1578:7102:78;11493:39:84;;;;;;1578:7102:78;11493:39:84;;;:::i;:::-;;;1578:7102:78;;;;;;;:::i;:::-;11493:39:84;;;1578:7102:78;;;;11493:39:84;;;-1:-1:-1;11493:39:84;;;1578:7102:78;;;;;;;;;11442:36:84;;;;;:::i;:::-;1578:7102:78;;11442:36:84;;;;1578:7102:78;;;;11442:36:84;1578:7102:78;;;;;;;;;11383:49:84;;;;;:::i;:::-;1578:7102:78;;11383:49:84;;;;;1578:7102:78;;;11252:121:84;1578:7102:78;;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;-1:-1:-1;11297:45:84;;;;;;1578:7102:78;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;11297:45:84;;;;;;:::i;:::-;;;;;;;;;;;11356:7;:::o;11297:45::-;-1:-1:-1;11297:45:84;;;:::i;1701:281::-;;;-1:-1:-1;;;;;1578:7102:78;;1701:281:84;1817:11;;1813:48;;1943:32;;1890:43;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;1943:32:84;:::i;1890:43::-;1920:13;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;1943:32:84;:::i;1578:7102:78:-;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;:::o;4545:484:59:-;;1578:7102:78;;:::i;:::-;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;;;734:50:36;;;1578:7102:78;;;4800:80:59;1578:7102:78;;;;;;448:51:36;;;4977:10:59;1578:7102:78;4977:10:59;;;1578:7102:78;;4989:18:59;;;1578:7102:78;;;;5009:12:59;1578:7102:78;;;;;5009:12:59;;1578:7102:78;;;4989:18:59;1578:7102:78;;;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;4977:10:59;4947:75;;1578:7102:78;4989:18:59;4947:75;;1578:7102:78;5009:12:59;4947:75;;1578:7102:78;4947:75:59;;;1578:7102:78;;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;1578:7102:78;;;;;;:::i;:::-;;;;;;3961:111:59;;;1578:7102:78;;;-1:-1:-1;;;;;1578:7102:78;;;;3961:111:59;;;1578:7102:78;;;;-1:-1:-1;;;3902:210:59;;1578:7102:78;;;;;;;;;;;3961:111:59;3902:210;;;;1862:10:32;:::i;:::-;;1578:7102:78;;1862:10:32;;;1578:7102:78;1862:10:32;;;;1578:7102:78;1862:10:32;-1:-1:-1;;;;;1578:7102:78;1862:10:32;;;1578:7102:78;1862:10:32;;;;;;;;;;:::i;:::-;3902:210:59;;-1:-1:-1;;;;;1578:7102:78;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;;;;1578:7102:78;;-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;;;;;1578:7102:78;;;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;;;;;;;;;;;1578:7102:78;3741:1424:22;5738:98:78;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;;;;;;;;;1578:7102:78;;;;;;2238:1774:36;;1578:7102:78;;;;;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;;;5738:98:78;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;;;;;;;;;;;;;;;1578:7102:78;;-1:-1:-1;;;2117:21:33;;;;;1578:7102:78;;;;1853:233:33;1578:7102:78;;2117:21:33;;1578:7102:78;;;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;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;:::o;1958:1171:82:-;1578:7102:78;2229:16:82;;1958:1171;;;;;-1:-1:-1;;;;;1578:7102:78;;;;1958:1171:82;2265:19;;1578:7102:78;;2282:1:82;1578:7102:78;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2282:1:82;1578:7102:78;;;;;3804:27:82;;1578:7102:78;;2282:1:82;3886:238;3902:10;;;;;;1578:7102:78;;4271:47:82;1578:7102:78;;;;;;:::i;:::-;;;;;;;;10771:138:82;;1578:7102:78;;;;10771:138:82;;1578:7102:78;;;;;;10771:138:82;;1578:7102:78;;;;10771:138:82;;1578:7102:78;;;-1:-1:-1;;;;;1578:7102:78;4271:47:82;:::i;:::-;1578:7102:78;4333:18:82;1578:7102:78;;4375:9:82;;:18;1578:7102:78;;4329:526:82;2714:45;;;:::i;:::-;2710:196;;1578:7102:78;;;3049:22:82;1578:7102:78;3049:22:82;;;1578:7102:78;;;;;;;;;;;;:::i;:::-;;;;;;;;10771:138:82;1578:7102:78;;;;;;;;;;;;;;;;;;;2282:1:82;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:1:82;1578:7102:78;;;;;;;;;;;2999:73:82;1578:7102:78;3049:22:82;1578:7102:78;;2282:1:82;1578:7102:78;;;;;;;;;;;;;;;;3049:22:82;5738:98:78;;3049:22:82;;;;;;:::i;:::-;1578:7102:78;;;;;2999:73:82;1578:7102:78;2999:73:82;;1578:7102:78;;;;;;;;;;;:::i;2999:73:82:-;1578:7102:78;;;;;;;;;;;2980:93:82;;1578:7102:78;2980:93:82;;;1578:7102:78;;;;;;:::i;:::-;2980:93:82;;-1:-1:-1;;;;;1578:7102:78;2980:93:82;;;;;;;2282:1;2980:93;;;1578:7102:78;;;;3091:31:82;;1578:7102:78;;;;;;;;;3091:31:82;;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;3091:31:82;1578:7102:78;3091:31:82;;;1578:7102:78;;;;:::i;:::-;3084:38:82;;1958:1171::o;2980:93::-;;;;;;2282:1;2980:93;;;;;;:::i;:::-;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:196:82;2856:39;;;;;5107:8;;5147:27;;;;:::i;:::-;1578:7102:78;;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;2282:1:82;1578:7102:78;5261:39:82;1578:7102:78;;;;;5261:44:82;5257:108;;2710:196;2309:46:81;357:173:37;;;2309:46:81;;:::i;:::-;1578:7102:78;;;;5538:52:82;1578:7102:78;;;;5538:52:82;;:::i;:::-;1578:7102:78;;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;2282:1:82;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;5402:323:82;;;1578:7102:78;;;;;;;;5402:323:82;;;1578:7102:78;;;5402:323:82;;;1578:7102:78;;5402:323:82;;;1578:7102:78;357:173:37;5402:323:82;;;1578:7102:78;5747:37:82;1578:7102:78;10771:138:82;;5761:15;1578:7102:78;5747:37:82;:::i;:::-;5800:9;2282:1;5800:9;1578:7102:78;10771:138:82;;5815:15;1578:7102:78;;;5811:26:82;;;;;1578:7102:78;5935:15:82;;6406:190;;;;;;;;;;;;;;357:173:37;5402:323:82;;;1578:7102:78;;;;;6691:15:82;;1578:7102:78;;;6643:64:82;7635:205;;;;7666:21;1578:7102:78;;;;;;;;;;;;;7635:205:82;;5402:323;;357:173:37;5402:323:82;1578:7102:78;;;;;6789:39:82;;;;;1578:7102:78;;;;;;6859:83:82;;5611:16;6859:83;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;6859:15:82;:83;:15;;:83;;;;;;;2282:1;6859:83;;;6789:39;-1:-1:-1;;;;;;1578:7102:78;;6960:14:82;1578:7102:78;;7054:15:82;;;1578:7102:78;;;5402:323:82;;;1578:7102:78;5402:323:82;;;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;2282:1:82;1578:7102:78;;;7105:17:82;1578:7102:78;;;;;;;9099:457:82;;1578:7102:78;357:173:37;;1578:7102:78;;;;;;7103:30:82;;;:::i;:::-;1578:7102:78;;;8009:323:82;;;;;1578:7102:78;8009:323:82;;;;;;;;1578:7102:78;;8009:323:82;;;1578:7102:78;8009:323:82;;;;1578:7102:78;;;;;;;:::i;:::-;;;;;;;;7176:223:82;;1578:7102:78;;;;7176:223:82;;;1578:7102:78;;;;;;;;;;7176:223:82;;1578:7102:78;;;;;;;;7176:223:82;;1578:7102:78;7176:223:82;357:173:37;7176:223:82;;1578:7102:78;357:173:37;5402:323:82;;;1578:7102:78;;;8615:56:82;2282:1;1578:7102:78;;;;;;;:::i;:::-;;;;;;;;;9164:366:82;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;9164:366:82;;;1578:7102:78;;;9164:366:82;;1578:7102:78;;;;;-1:-1:-1;;;9099:457:82;;1578:7102:78;;;;;;;5611:16:82;9099:457;;;:::i;:::-;;1578:7102:78;2282:1:82;-1:-1:-1;;;;;1578:7102:78;;9099:457:82;;;;;;;2282:1;9099:457;;;6789:39;2052:83:34;;1578:7102:78;2052:83:34;2241:89;;;9652:455:82;;;;;9822:52;2282:1;1578:7102:78;2241:89:34;1578:7102:78;9822:11:82;:52;2282:1;;;9859:8;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;9822:52:82;9652:455;;-1:-1:-1;;;;;1578:7102:78;;10125:17:82;1578:7102:78;;;7176:223:82;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;;;10199:35:82;-1:-1:-1;10195:112:82;;9652:455;-1:-1:-1;10368:10:82;;1578:7102:78;;10368:10:82;;1578:7102:78;2114:78:84;;-1:-1:-1;;;;;1578:7102:78;2614:4:82;2114:78:84;;:::i;:::-;2282:13;1578:7102:78;2282:13:84;;1578:7102:78;2218:78:84;1578:7102:78;;;;;;;;2614:4:82;;2218:78:84;;:::i;:::-;2325:40;;;;;2282:1:82;2325:40:84;;2393;;;2614:4:82;;2393:40:84;;2282:1:82;7493:6:84;;:31;;;2393:40;7489:115;;2393:40;7617:6;;2282:1:82;7617:6:84;;7613:582;;2393:40;8209:6;;2282:1:82;8209:6:84;;:31;;;2393:40;8205:234;;2393:40;8452:6;2282:1:82;8452:6:84;;8448:330;;2393:40;-1:-1:-1;1578:7102:78;;;;;;;;357:173:37;;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;8682:132:82;;2393:40:84;7176:223:82;;;;1578:7102:78;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;2282:1:82;1578:7102:78;3164:38:81;5261:14:82;3124:15:81;;1578:7102:78;;;;;;;;;;;;871:1:85;;;;;;;1578:7102:78;;;;;;;7176:223:82;;1578:7102:78;;3164:38:81;;:::i;:::-;1578:7102:78;7176:223:82;;1578:7102:78;5611:16:82;3212:15:81;;1578:7102:78;;;-1:-1:-1;;;;;7176:223:82;;;1578:7102:78;;;;-1:-1:-1;;;1578:7102:78;;5402:323:82;;;1578:7102:78;;;;;;;5402:323:82;;;;1578:7102:78;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;5402:323:82;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:15:81;;1578:7102:78;3491:17:81;;;;1578:7102:78;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;2282:1:82;1578:7102:78;;;;;;5402:323:82;;;;1578:7102:78;;;;;;;;2282:1:82;1578:7102:78;;;;2282:1:82;1578:7102:78;;;;2282:1:82;1578:7102:78;;;;2282:1:82;1578:7102:78;;3899:17:81;;1578:7102:78;3899:33:81;;1578:7102:78;;;;;3899:33:81;:::i;:::-;3989:15;;1578:7102:78;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;2282:1:82;1578:7102:78;;;;;;5402:323:82;;;;1578:7102:78;;;;;;;;2282:1:82;1578:7102:78;;;;2282:1:82;1578:7102:78;;;4028:14:81;;:26;1578:7102:78;;;;;;;;;;;809:15:80;805:218;;2393:40:84;7176:223:82;;;;;1578:7102:78;1107:6:85;;;;1578:7102:78;;;;1128:18:85;;;1124:235;1128:18;;;1578:7102:78;1124:235:85;2282:1:82;3594:343:85;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;3594:343:85;;;;;;;;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;871:1:85;;;;;;;;;;;;7176:223:82;;;;1578:7102:78;5402:323:82;;;;;1578:7102:78;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;5402:323:82;;;1578:7102:78;;;;;;;;;;;;;4574:143:81;;1578:7102:78;;4435:55:81;;1578:7102:78;;;4435:55:81;:::i;:::-;1578:7102:78;;;;;;;5402:323:82;;;1578:7102:78;;;;;;;;2282:1:82;1578:7102:78;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;2282:1:82;1578:7102:78;;;;;;5402:323:82;;;;1578:7102:78;;;;;;;;2282:1:82;1578:7102:78;;;;;2282:1:82;1578:7102:78;;;;;;;;5402:323:82;;;1578:7102:78;;;;;;;;5402:323:82;;;;1578:7102:78;;4633:15:81;;;1578:7102:78;5402:323:82;357:173:37;5402:323:82;;;1578:7102:78;;;5402:323:82;1578:7102:78;5402:323:82;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;357:173:37;1578:7102:78;;;4574:143:81;1578:7102:78;;;;;;5402:323:82;;;1578:7102:78;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;5402:323:82;;;;1578:7102:78;;;;;;;;4732:77:81;5855:99:82;;;;:::i;:::-;1578:7102:78;;5800:9:82;;;;1124:235:85;3594:343;;;2282:1:82;3594:343:85;-1:-1:-1;;;;;;;;;;;1578:7102:78;3594:343:85;;;2282:1:82;3594:343:85;;1124:235;;805:218:80;846:396:31;1578:7102:78;846:396:31;;2282:1:82;846:396:31;;;;;;;984:11:80;1676:170:31;1578:7102:78;1676:170:31;;;1578:7102:78;;2282:1:82;1578:7102:78;;;;1676:170:31;1578:7102:78;2282:1:82;1578:7102:78;1676:170:31;;1578:7102:78;;;984:28:80;1578:7102:78;;805:218:80;;;;8682:132:82;8794:8;8750:14;;;5402:323;;;;1578:7102:78;;;;;;;;;5402:323:82;;;1578:7102:78;;8794:8:82;;:::i;:::-;8682:132;;;8448:330:84;8618:3;;;;;;;;;:::i;:::-;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;;;8636:31:84;;;;2282:1:82;1578:7102:78;;;;;;;;;;;;;;8636:31:84;;5611:16:82;8636:31:84;;1578:7102:78;;;;;;;8636:31:84;;;;;;;8726:6;8636:31;;;8448:330;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;;;8726:6:84;:::i;:::-;1578:7102:78;;-1:-1:-1;;;8747:20:84;;1578:7102:78;;;5611:16:82;1578:7102:78;2282:1:82;-1:-1:-1;;;;;1578:7102:78;;8747:20:84;;;;;;;1578:7102:78;8747:20:84;1578:7102:78;8747:20:84;357:173:37;8747:20:84;;;8448:330;;;;;;;;;;;8747:20;;;1578:7102:78;8747:20:84;;;;;;;;;:::i;:::-;;;;;8636:31;2282:1:82;8636:31:84;;;:::i;:::-;;;;8205:234;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;;8375:53:84;;;;1578:7102:78;;8375:53:84;1578:7102:78;2282:1:82;1578:7102:78;;;;;;;;;;;;;;8375:53:84;;5611:16:82;8375:53:84;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;8375:53:84;;;;;;;8205:234;8375:53;2282:1:82;8375:53:84;;;:::i;:::-;;8205:234;;8209:31;-1:-1:-1;;;;;;1578:7102:78;;8219:21:84;;8209:31;;7613:582;7783:3;;;:::i;:::-;1578:7102:78;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;7801:31:84;;;;2282:1:82;1578:7102:78;;;;;;;;;;;;;;7801:31:84;;5611:16:82;7801:31:84;;1578:7102:78;;;;;;;7801:31:84;;;;;;;;7613:582;-1:-1:-1;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;4998:58:36;7957:29:84;;1578:7102:78;;;5611:16:82;1578:7102:78;;;;;;;;;8006:35:84;;1578:7102:78;;;;;;8006:35:84;;;;;;;;7953:232;;;7613:582;;;;8006:35;;;1578:7102:78;8006:35:84;;;;;;;;;:::i;:::-;;;;;7953:232;8125:6;;1578:7102:78;-1:-1:-1;;;;;1578:7102:78;;;8125:6:84;:::i;:::-;2282:1:82;1578:7102:78;;5611:16:82;1578:7102:78;;;;;;;;;8150:20:84;;1578:7102:78;;;;;;8150:20:84;;;;;;;;7953:232;;;;8150:20;;;1578:7102:78;8150:20:84;;;;;;;;;:::i;:::-;;;;;7801:31;2282:1:82;7801:31:84;;;:::i;:::-;;;;7489:115;1578:7102:78;;-1:-1:-1;;;;;1578:7102:78;;;;;7540:53:84;;;;1578:7102:78;;2282:1:82;1578:7102:78;;7540:53:84;1578:7102:78;;;;;;;;;;;;;7540:53:84;;5611:16:82;7540:53:84;;;:::i;:::-;;;-1:-1:-1;;;;;1578:7102:78;7540:53:84;;;;;;;;7489:115;;;;;7540:53;2282:1:82;7540:53:84;;;:::i;:::-;;;;7493:31;-1:-1:-1;;;;;;1578:7102:78;;7503:21:84;;7493:31;;2393:40;;2282:1:82;2393:40:84;;;2325;2614:4:82;2325:40:84;;;10195:112:82;10261:35;;;;;;;:::i;:::-;10195:112;;;;9822:52;;2282:1;9822:52;;9652:455;10044:52;-1:-1:-1;2282:1:82;10044:11;;2282:1;;;10081:8;;;:::i;:::-;-1:-1:-1;;;;;1578:7102:78;10044:52:82;9652:455;;;10044:52;;2282:1;10044:52;;9099:457;;;;1578:7102:78;9099:457:82;;;;;;;;;:::i;:::-;;;;;6859:83;;;;1578:7102:78;6859:83:82;;;;;;;;;1578:7102:78;6859:83:82;;;:::i;:::-;;;1578:7102:78;;;;;-1:-1:-1;;;;;1578:7102:78;;;;;;6859:83:82;;;;;;;-1:-1:-1;6859:83:82;;6789:39;;;;;7635:205;7775:19;;;;:::i;:::-;7808:21;7635:205;;;5811:26;;;;;;;;2849:46;;:::o;5257:108::-;2282:1;1578:7102:78;;;-1:-1:-1;;;;;;;;;;;1578:7102:78;;;;;;;;;;;;;-1:-1:-1;;;;;1578:7102:78;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;;;;-1:-1:-1;1578:7102:78;;;;;;;;;;;;;;;;-1:-1:-1;;;1578:7102:78;-1:-1:-1;;;1578:7102:78;;;;;;;;;;;-1:-1:-1;;;;;;1578:7102:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5257:108:82;;1578:7102:78;;;;2282:1:82;1578:7102:78;;2282:1:82;1578:7102:78;4329:526:82;4476:9;1578:7102:78;;;;-1:-1:-1;;;4573:28:82;;2614:4;4573:28;;;1578:7102:78;;;;4573:28:82;1578:7102:78;4573:28:82;;;;;;;;2282:1;4573:28;;;4329:526;-1:-1:-1;1578:7102:78;;-1:-1:-1;;;4624:45:82;;2594:10;4573:28;4624:45;;1578:7102:78;2614:4:82;4573:28;1578:7102:78;;;;;;;;;;;4624:45:82;1578:7102:78;-1:-1:-1;4624:45:82;;;;;;;;2282:1;4624:45;;;4329:526;1578:7102:78;;;;;4573:28:82;1578:7102:78;;;;;;;;;;4741:28:82;;2614:4;4573:28;4741;;1578:7102:78;4741:28:82;;;;;;;2282:1;4741:28;;;4329:526;4773:21;;;;;:::i;:::-;4741:53;4329:526;1578:7102:78;;;;;2282:1:82;1578:7102:78;4573:28:82;2282:1;1578:7102:78;4741:28:82;;;1578:7102:78;4741:28:82;;1578:7102:78;4741:28:82;;;;;;417:66:26;4741:28:82;;;:::i;:::-;;;417:66:26;;;;4773:21:82;417:66:26;;4741:28:82;;;;;;-1:-1:-1;4741:28:82;;4624:45;;;1578:7102:78;4624:45:82;;1578:7102:78;4624:45:82;;;;;;1578:7102:78;4624:45:82;;;:::i;:::-;;;1578:7102:78;;;;;;;:::i;:::-;4624:45:82;;;;;;-1:-1:-1;4624:45:82;;4573:28;;;;1578:7102:78;4573:28:82;;1578:7102:78;4573:28:82;;;;;;417:66:26;4573:28:82;;;:::i;:::-;;;417:66:26;;;;;4573:28:82;;;;;;;-1:-1:-1;4573:28:82;;3891:9;3945:13;;;;;;:::i;:::-;1578:7102:78;3980:9:82;;;1578:7102:78;;;4041:13:82;;;;:::i;:::-;1578:7102:78;;3891:9:82;;;1578:7102:78;;;;2282:1:82;1578:7102:78;;2282:1:82;1578:7102:78;;;;;2282:1:82;1578:7102:78;;2282:1:82;1578:7102:78;;;;;2282:1:82;1578:7102:78;;2282:1:82;1578:7102:78","linkReferences":{"src/libs/LimitOrderViews.sol":{"LimitOrderViews":[{"start":4343,"length":20},{"start":7387,"length":20},{"start":19624,"length":20}]}},"immutableReferences":{"10726":[{"start":28,"length":32},{"start":918,"length":32},{"start":1086,"length":32},{"start":1556,"length":32},{"start":4090,"length":32},{"start":4964,"length":32},{"start":5887,"length":32},{"start":6130,"length":32},{"start":6316,"length":32},{"start":7078,"length":32},{"start":7703,"length":32},{"start":7877,"length":32},{"start":7937,"length":32},{"start":9016,"length":32},{"start":9083,"length":32},{"start":9156,"length":32},{"start":9219,"length":32},{"start":9370,"length":32},{"start":9448,"length":32},{"start":9560,"length":32},{"start":9627,"length":32},{"start":9724,"length":32},{"start":9822,"length":32},{"start":9890,"length":32},{"start":10011,"length":32},{"start":10089,"length":32},{"start":10881,"length":32},{"start":11819,"length":32}],"10729":[{"start":3014,"length":32},{"start":10918,"length":32}],"10732":[{"start":1973,"length":32},{"start":4628,"length":32}],"10734":[{"start":3079,"length":32},{"start":6257,"length":32},{"start":10958,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","balanceOf(address,address)":"f7888aec","contractVersion()":"a0a8e460","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\":[],\"name\":\"contractVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"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.\"},\"contractVersion()\":{\"notice\":\"The version of the contract\"},\"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\":\"0xa882ec8dc341d8a2651112ee0aa105480d0e306d547a81f05a1fb2d64d6ccb8f\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://e9482377d0c678640fdb3b0c5c5c9086bc2d17538693fedfbc0fc184b4d100dc\",\"dweb:/ipfs/Qmbgq8ZP5qtM9pwqLeLAiGD9ic8Zs6bqS8WpkjVnqnkPpt\"]},\"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\"]},\"node_modules/@zoralabs/shared-contracts/src/interfaces/IVersionedContract.sol\":{\"keccak256\":\"0x6e50d9eb2a9dcf107dd695c6d4c38292eb55562df1a0f59b9482943945413e66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c03ad9fd08a3ccb0b9b772d4ace588cc16d708aeb25e87cb7f4b77e45411eb32\",\"dweb:/ipfs/QmdsNvCqYCwhLg7ZKDG2LuEAwA5azKYQbqNZXpcPzS9tn8\"]},\"src/IZoraLimitOrderBook.sol\":{\"keccak256\":\"0x82a8534201a434e47401690a3b3725d2ec835f2bd8e340a3088628ec1c2cff18\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://bcb05ff8ddb6b9a37fdab91436e40d29651c1250bb58f1684c51ca704dd5163b\",\"dweb:/ipfs/QmSSwpPRuTu1KoBAnS5pH7GBJp4RexAdUY5NHbTcdzH9Px\"]},\"src/ZoraLimitOrderBook.sol\":{\"keccak256\":\"0xe5899d18937f587bce52e1d46c42c5750e94facc63196b956314841b7d4f8a49\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://8dbb2206841f763b0de018a484a6bb211f9218b049c0d6234e9319b652c4e861\",\"dweb:/ipfs/QmXxkU5rfhFkWdcnxdngQNsqmZyPHBa6P4PsAN2H24KoYU\"]},\"src/access/PermittedCallers.sol\":{\"keccak256\":\"0x09621325cb88e2b27558e144f8a683d0055f85ca8103d2d8855c659cc38456e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://beec70505a8f4a022cb9f8d567180426c7279df4e520d4deec9be02adbe49fd7\",\"dweb:/ipfs/QmPpTyG2rHXyPecKNJzTj9fhV8q2gt3WzoEMoqe9jVKGZT\"]},\"src/libs/LimitOrderBitmap.sol\":{\"keccak256\":\"0xfc20115f2904be299412fa90b8a7573c429ed67d690a351168d6f495333e4471\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://5e3acc0f3f7035bffa06d67f489dd345e0781098502ae25a3284eba7d2bbd8c5\",\"dweb:/ipfs/QmXN2DQn7VZ5aYc5xmX5uezJejVusWhhSgAXrvN8jmxM3Y\"]},\"src/libs/LimitOrderCommon.sol\":{\"keccak256\":\"0x28f33092e777da786ee80d5d8a09ab3322d1094d517a22d899b361c76ed70e57\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://491a707509943f87292fbd7cb7fe956b39b7b86d10003f670c65ceee203f71bb\",\"dweb:/ipfs/QmbiETprDYUg3kw3HTDJkQP1HJ1Ad62MU1ofVF1zLJp1LG\"]},\"src/libs/LimitOrderCreate.sol\":{\"keccak256\":\"0x7575f2fff4a23090ca88575048c6f7db5c99189dc0e93de9c7ff48a634b8e751\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://a7e54320c198ac335f415eeb122f1e53978a6dbff596e58bc981076fb32ab788\",\"dweb:/ipfs/Qmc4sQSrHH9XDwMJSUPpxNEwJMcn8vg3asxuitu2YaZtGp\"]},\"src/libs/LimitOrderFill.sol\":{\"keccak256\":\"0x7e010fb0650584617b4186a2d4862bc32d17959143f78ed006d66525f8dae661\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://06e8df49666c766e4e20ab90a9d02e185248f54475dbdc70363a7558194ba647\",\"dweb:/ipfs/QmbkGonmvuD1Q5xnZp14CJcyWFYLJSSRerFQH5a3gnNsjL\"]},\"src/libs/LimitOrderLiquidity.sol\":{\"keccak256\":\"0xbf98050110676b8f75519c88c9d44314269c2bbf3b63192934f7251004fc5ecd\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://4b81ecb8e9e9336faa3bc652ef0c9c0b1701eedc91b84be74f06c794e3c92d96\",\"dweb:/ipfs/QmbLMbcU3iC4RYpixb1hW2KT3kHsaiMby99CnC1TGr5wYe\"]},\"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\":\"0x7c1687cdec55894d876e55391a56ae1e6cf4f850ca2454f18f1997f384dd53b8\",\"license\":\"ZORA-DELAYED-OSL-v1\",\"urls\":[\"bzz-raw://c97896b0d3a98411df07bffa3301b9c377ea36b226cd054c1b71736ed3c158af\",\"dweb:/ipfs/Qme5yzY8P5TM9nTDYBpxfUvtd5ZLPRKbgWD394eywtHkLZ\"]},\"src/version/ContractVersionBase.sol\":{\"keccak256\":\"0x12bffced58daebae11dc23ee0ff1a2bdd09f81ebf8e16b0e0a4baa47a2d2023e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96f42a3742ce604f2c6b8606c81cfc3270a464f7a3186330c29fabb92bff826\",\"dweb:/ipfs/QmYYgbJ1ALoYKCjpKXMpVuJuZKXoinQXvXLr2V8mnJGER5\"]}},\"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":[],"stateMutability":"pure","type":"function","name":"contractVersion","outputs":[{"internalType":"string","name":"","type":"string"}]},{"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."},"contractVersion()":{"notice":"The version of the contract"},"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":"0xa882ec8dc341d8a2651112ee0aa105480d0e306d547a81f05a1fb2d64d6ccb8f","urls":["bzz-raw://e9482377d0c678640fdb3b0c5c5c9086bc2d17538693fedfbc0fc184b4d100dc","dweb:/ipfs/Qmbgq8ZP5qtM9pwqLeLAiGD9ic8Zs6bqS8WpkjVnqnkPpt"],"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"},"node_modules/@zoralabs/shared-contracts/src/interfaces/IVersionedContract.sol":{"keccak256":"0x6e50d9eb2a9dcf107dd695c6d4c38292eb55562df1a0f59b9482943945413e66","urls":["bzz-raw://c03ad9fd08a3ccb0b9b772d4ace588cc16d708aeb25e87cb7f4b77e45411eb32","dweb:/ipfs/QmdsNvCqYCwhLg7ZKDG2LuEAwA5azKYQbqNZXpcPzS9tn8"],"license":"MIT"},"src/IZoraLimitOrderBook.sol":{"keccak256":"0x82a8534201a434e47401690a3b3725d2ec835f2bd8e340a3088628ec1c2cff18","urls":["bzz-raw://bcb05ff8ddb6b9a37fdab91436e40d29651c1250bb58f1684c51ca704dd5163b","dweb:/ipfs/QmSSwpPRuTu1KoBAnS5pH7GBJp4RexAdUY5NHbTcdzH9Px"],"license":"ZORA-DELAYED-OSL-v1"},"src/ZoraLimitOrderBook.sol":{"keccak256":"0xe5899d18937f587bce52e1d46c42c5750e94facc63196b956314841b7d4f8a49","urls":["bzz-raw://8dbb2206841f763b0de018a484a6bb211f9218b049c0d6234e9319b652c4e861","dweb:/ipfs/QmXxkU5rfhFkWdcnxdngQNsqmZyPHBa6P4PsAN2H24KoYU"],"license":"ZORA-DELAYED-OSL-v1"},"src/access/PermittedCallers.sol":{"keccak256":"0x09621325cb88e2b27558e144f8a683d0055f85ca8103d2d8855c659cc38456e1","urls":["bzz-raw://beec70505a8f4a022cb9f8d567180426c7279df4e520d4deec9be02adbe49fd7","dweb:/ipfs/QmPpTyG2rHXyPecKNJzTj9fhV8q2gt3WzoEMoqe9jVKGZT"],"license":"MIT"},"src/libs/LimitOrderBitmap.sol":{"keccak256":"0xfc20115f2904be299412fa90b8a7573c429ed67d690a351168d6f495333e4471","urls":["bzz-raw://5e3acc0f3f7035bffa06d67f489dd345e0781098502ae25a3284eba7d2bbd8c5","dweb:/ipfs/QmXN2DQn7VZ5aYc5xmX5uezJejVusWhhSgAXrvN8jmxM3Y"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCommon.sol":{"keccak256":"0x28f33092e777da786ee80d5d8a09ab3322d1094d517a22d899b361c76ed70e57","urls":["bzz-raw://491a707509943f87292fbd7cb7fe956b39b7b86d10003f670c65ceee203f71bb","dweb:/ipfs/QmbiETprDYUg3kw3HTDJkQP1HJ1Ad62MU1ofVF1zLJp1LG"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderCreate.sol":{"keccak256":"0x7575f2fff4a23090ca88575048c6f7db5c99189dc0e93de9c7ff48a634b8e751","urls":["bzz-raw://a7e54320c198ac335f415eeb122f1e53978a6dbff596e58bc981076fb32ab788","dweb:/ipfs/Qmc4sQSrHH9XDwMJSUPpxNEwJMcn8vg3asxuitu2YaZtGp"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderFill.sol":{"keccak256":"0x7e010fb0650584617b4186a2d4862bc32d17959143f78ed006d66525f8dae661","urls":["bzz-raw://06e8df49666c766e4e20ab90a9d02e185248f54475dbdc70363a7558194ba647","dweb:/ipfs/QmbkGonmvuD1Q5xnZp14CJcyWFYLJSSRerFQH5a3gnNsjL"],"license":"ZORA-DELAYED-OSL-v1"},"src/libs/LimitOrderLiquidity.sol":{"keccak256":"0xbf98050110676b8f75519c88c9d44314269c2bbf3b63192934f7251004fc5ecd","urls":["bzz-raw://4b81ecb8e9e9336faa3bc652ef0c9c0b1701eedc91b84be74f06c794e3c92d96","dweb:/ipfs/QmbLMbcU3iC4RYpixb1hW2KT3kHsaiMby99CnC1TGr5wYe"],"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":"0x7c1687cdec55894d876e55391a56ae1e6cf4f850ca2454f18f1997f384dd53b8","urls":["bzz-raw://c97896b0d3a98411df07bffa3301b9c377ea36b226cd054c1b71736ed3c158af","dweb:/ipfs/Qme5yzY8P5TM9nTDYBpxfUvtd5ZLPRKbgWD394eywtHkLZ"],"license":"ZORA-DELAYED-OSL-v1"},"src/version/ContractVersionBase.sol":{"keccak256":"0x12bffced58daebae11dc23ee0ff1a2bdd09f81ebf8e16b0e0a4baa47a2d2023e","urls":["bzz-raw://b96f42a3742ce604f2c6b8606c81cfc3270a464f7a3186330c29fabb92bff826","dweb:/ipfs/QmYYgbJ1ALoYKCjpKXMpVuJuZKXoinQXvXLr2V8mnJGER5"],"license":"MIT"}},"version":1},"id":78}
|