@latticexyz/world 2.2.20-306707570ec5fd27877d674502aa381d7fd89662 → 2.2.20-31870811b975d44f4b5d14ae69fd623914237584
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/dist/{System.abi-ENBBMWQJ.js → System.abi-QE5PR27M.js} +2 -2
- package/dist/{System.abi-ENBBMWQJ.js.map → System.abi-QE5PR27M.js.map} +1 -1
- package/dist/{chunk-XSBK355I.js → chunk-6E2JY6MZ.js} +2 -1
- package/dist/chunk-6E2JY6MZ.js.map +1 -0
- package/dist/{chunk-SGZK356L.js → chunk-6KRKTNJ5.js} +42 -22
- package/dist/chunk-6KRKTNJ5.js.map +1 -0
- package/dist/{chunk-2W4TKC47.js → chunk-NVV4GS3R.js} +2 -2
- package/dist/{dynamicResolution-AmVd5Qtd.d.ts → dynamicResolution-Bul4y_B0.d.ts} +11 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +23 -18
- package/dist/internal.js +7 -7
- package/dist/internal.js.map +1 -1
- package/dist/mud.config.d.ts +242 -131
- package/dist/mud.config.js +9 -7
- package/dist/node.d.ts +1 -1
- package/dist/node.js +22 -20
- package/dist/node.js.map +1 -1
- package/dist/{world-Nl5BmMma.d.ts → world-NqdA4pfW.d.ts} +9 -1
- package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json +7 -0
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json.d.ts +9 -0
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +1 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +1 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json +15 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json.d.ts +17 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +1 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +1 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +1 -0
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json +7 -0
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json.d.ts +9 -0
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +1 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json +25 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json.d.ts +27 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +1 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json +25 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json.d.ts +27 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.json +1 -0
- package/out/Balances.sol/Balances.json +1 -1
- package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
- package/out/BatchCall.t.sol/TestSystem.abi.json +1 -1
- package/out/BatchCall.t.sol/TestSystem.abi.json.d.ts +1 -1
- package/out/BatchCall.t.sol/TestSystem.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json +7 -0
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json.d.ts +9 -0
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.json +1 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json +32 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json.d.ts +34 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +1 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json +27 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json.d.ts +29 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +1 -0
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Create2Factory.sol/Create2Factory.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.abi.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/Factories.t.sol/FactoriesTest.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json +81 -0
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json.d.ts +83 -0
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +1 -0
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InitModule.sol/InitModule.abi.json +1 -1
- package/out/InitModule.sol/InitModule.abi.json.d.ts +1 -1
- package/out/InitModule.sol/InitModule.json +1 -1
- package/out/InitModule.t.sol/InitModuleTest.json +1 -1
- package/out/InitModule.t.sol/WorldMock.json +1 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
- package/out/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
- package/out/Module.sol/Module.abi.json +1 -1
- package/out/Module.sol/Module.abi.json.d.ts +1 -1
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json +7 -0
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json.d.ts +9 -0
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +1 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json +20 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json.d.ts +22 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +1 -0
- package/out/MudTest.t.sol/MudTest.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json +7 -0
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +1 -0
- package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/RevertWithBytes.t.sol/RevertWithBytesTest.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StoreMock.sol/StoreMock.json +1 -1
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json +7 -0
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json +25 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json.d.ts +27 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json +40 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json.d.ts +42 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json +20 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json.d.ts +22 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.json +1 -0
- package/out/System.sol/System.abi.json +1 -1
- package/out/System.sol/System.abi.json.d.ts +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/System.t.sol/SystemTest.json +1 -1
- package/out/System.t.sol/TestSystem.abi.json +1 -1
- package/out/System.t.sol/TestSystem.abi.json.d.ts +1 -1
- package/out/System.t.sol/TestSystem.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.t.sol/SystemHookTest.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/Systems.sol/Systems.json +1 -1
- package/out/TwoFields.sol/TwoFields.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/Utils.t.sol/UtilsTest.json +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.abi.json +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.abi.json.d.ts +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.json +1 -1
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.abi.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.abi.json +1 -1
- package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json.d.ts +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.abi.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.abi.json +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.abi.json.d.ts +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.json +1 -1
- package/out/WorldContext.t.sol/WorldContextTest.json +1 -1
- package/out/WorldDynamicUpdate.t.sol/UpdateInDynamicFieldTest.json +1 -1
- package/out/WorldFactory.sol/WorldFactory.json +1 -1
- package/out/WorldProxy.sol/WorldProxy.json +1 -1
- package/out/WorldProxy.t.sol/WorldProxyTest.json +1 -1
- package/out/WorldProxyFactory.sol/WorldProxyFactory.json +1 -1
- package/out/WorldProxyFactory.t.sol/WorldProxyFactoryTest.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json +7 -0
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json +20 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json.d.ts +22 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json +20 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json.d.ts +22 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +1 -0
- package/out/WorldResourceId.t.sol/WorldResourceIdTest.json +1 -1
- package/out/build-info/{43a8dd5c87606a54984bccbb9ca78a38.json → 6366a746548e984842b93ef762b76b99.json} +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/package.json +9 -9
- package/src/WorldContext.sol +1 -1
- package/src/codegen/experimental/systems/AccessManagementSystemLib.sol +182 -0
- package/src/codegen/experimental/systems/BalanceTransferSystemLib.sol +169 -0
- package/src/codegen/experimental/systems/BatchCallSystemLib.sol +153 -0
- package/src/codegen/experimental/systems/ModuleInstallationSystemLib.sol +107 -0
- package/src/codegen/experimental/systems/RegistrationSystemLib.sol +71 -0
- package/src/codegen/experimental/systems/StoreRegistrationSystemLib.sol +228 -0
- package/src/codegen/experimental/systems/WorldRegistrationSystemLib.sol +471 -0
- package/src/codegen/interfaces/IStoreRegistrationSystem.sol +29 -0
- package/src/modules/init/implementations/ModuleInstallationSystem.sol +1 -1
- package/src/modules/init/implementations/StoreRegistrationSystem.sol +2 -1
- package/src/modules/init/implementations/WorldRegistrationSystem.sol +1 -1
- package/dist/chunk-SGZK356L.js.map +0 -1
- package/dist/chunk-XSBK355I.js.map +0 -1
- /package/dist/{chunk-2W4TKC47.js.map → chunk-NVV4GS3R.js.map} +0 -0
package/out/World.sol/World.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b506100467f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b60405164191718171960d91b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c005905f90a23360805260405164191718171960d91b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb82905f90a26080516150ca620000ce5f395f8181610362015261126c01526150ca5ff3fe6080604052600436106101d0575f3560e01c80638c364d59116100f6578063c4d66de811610094578063d9c03a0411610063578063d9c03a04146106ae578063dbbf0e21146106cd578063e228a4a3146106ec578063ef6ea8621461070b57610263565b8063c4d66de814610632578063cc49db7e14610651578063d03edb8c14610670578063d4285dc21461068f57610263565b8063af068c9e116100d0578063af068c9e146105d5578063b047c1eb146105f4578063c0a2895a14610613578063c11222291461053357610263565b80638c364d59146105785780639f1fcf0a14610597578063a53417ed146105b657610263565b8063390baae01161016e5780634dc77d971161013d5780634dc77d97146104f5578063505a181d146105145780636951955d14610533578063894ecc581461056557610263565b8063390baae0146104685780633a77c2c2146104875780633ae7af08146104b4578063419b58fd146104c757610263565b8063150f3262116101aa578063150f3262146103ec5780631e7889771461040b578063298314fb1461042a5780633708196e1461044957610263565b806302d05d3f1461035157806305242d2f146103a1578063114a7266146103cd57610263565b366102635760408051616e7360f01b60208201525f602282018190526030820181905291610216910160405160208183030381529060405261021190614256565b61072a565b60408051616e7360f01b60208201525f602282018190526030820152919250610261910160405160208183030381529060405261025290614256565b61025c3484614290565b6107a8565b005b303303610295576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f806102ab5f356001600160e01b031916610845565b91509150815f801b036102f7576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f3516600482015260240161028c565b5f6103385f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508691506109129050565b90505f61034733858434610945565b9050805160208201f35b34801561035c575f80fd5b506103847f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ac575f80fd5b506103c06103bb3660046142fb565b610971565b60405161039891906143a9565b3480156103d8575f80fd5b506102616103e73660046143f9565b6109b3565b3480156103f7575f80fd5b506102616104063660046143f9565b610a63565b348015610416575f80fd5b506103c0610425366004614480565b610b0b565b348015610435575f80fd5b506102616104443660046144da565b610b54565b348015610454575f80fd5b5061026161046336600461457f565b610c39565b348015610473575f80fd5b5061026161048236600461457f565b610cec565b348015610492575f80fd5b506104a66104a136600461460e565b610d96565b604051908152602001610398565b6103c06104c23660046146d6565b610da6565b3480156104d2575f80fd5b506104e66104e136600461471a565b610de1565b60405161039893929190614769565b348015610500575f80fd5b506103c061050f366004614805565b610e34565b34801561051f575f80fd5b5061026161052e366004614869565b610e43565b34801561053e575f80fd5b507f322e302e320000000000000000000000000000000000000000000000000000006104a6565b6103c06105733660046148c5565b610eb6565b348015610583575f80fd5b506104a66105923660046142fb565b61100d565b3480156105a2575f80fd5b506104a66105b136600461491a565b61104e565b3480156105c1575f80fd5b506104a66105d0366004614975565b61105b565b3480156105e0575f80fd5b506102616105ef3660046149c8565b611067565b3480156105ff575f80fd5b5061026161060e3660046149ff565b6110e1565b34801561061e575f80fd5b5061026161062d366004614a86565b611189565b34801561063d575f80fd5b5061026161064c366004614b0c565b611234565b34801561065c575f80fd5b506104e661066b366004614869565b611372565b34801561067b575f80fd5b506103c061068a366004614480565b6113c2565b34801561069a575f80fd5b506104a66106a936600461460e565b611402565b3480156106b9575f80fd5b506102616106c83660046142fb565b61140c565b3480156106d8575f80fd5b506104a66106e7366004614975565b61148a565b3480156106f7575f80fd5b506104a661070636600461460e565b611496565b348015610716575f80fd5b506102616107253660046143f9565b6114a0565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061076157610761614b27565b60209081029190910101525f6107a07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611548565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106107dc576107dc614b27565b6020026020010181815250506108407f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161082391815260200190565b60408051601f19818403018152919052630100080160dd1b611574565b505050565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061089c5761089c614b27565b60209081029190910101525f80806108f47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611589565b92509250925061090583838361168a565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610955878787876116a1565b91509150816109675761096781611861565b9695505050505050565b6060610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506118699050565b3033036109e0576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6109ea86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506118fa92505050565b505050505050565b303303610a90576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610a9a86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061191592505050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061194d915050565b95945050505050565b303303610b81576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610b8b88336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061198692505050565b5050505050505050565b303303610c66576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610c7087336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061199c915050565b50505050505050565b303303610d19576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610d2387336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611574915050565b5f610da0826119df565b92915050565b6060303303610dd5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61093e33848434610945565b60605f6060610e24878787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611589915050565b9250925092509450945094915050565b60606109678686868686611a62565b303303610e70576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610e7a83336118ae565b610840838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611b6292505050565b6060303303610ee5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b03851603610f0857610f0133848434610945565b905061093e565b5f610f138533611b75565b9050610f228186338787611c21565b15610f3b57610f3385858534610945565b91505061093e565b5f610f46865f611b75565b9050610f558187338888611c21565b15610f6f57610f6686868634610945565b9250505061093e565b5f610fa0616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611cf1565b9050610faf8188338989611c21565b15610fca57610fc087878734610945565b935050505061093e565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015233602482015260440161028c565b5f610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506115489050565b5f610b4b85858585611d67565b5f6107a0848484611dae565b303303611094576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b60408051616e7360f01b60208201525f6022820181905260308201526110d391016040516020818303038152906040526110cd90614256565b33611dc3565b6110dd8282611e14565b5050565b30330361110e576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61111886336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ec692505050565b3033036111b6576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6111c088336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f9201919091525061215192505050565b303303611261576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113045760408051616e7360f01b60208201525f6022820181905260308201526112cf91016040516020818303038152906040526112ca90614256565b612169565b336040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b5f61130d6122a5565b6001600160a01b03161461134d576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113568161230a565b604080515f81526020810190915261136f908290611e14565b50565b60605f60606113b3868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123a492505050565b92509250925093509350939050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792506123c9915050565b5f610da0826123df565b303303611439576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61144385336118ae565b611483858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506124529050565b5050505050565b5f6107a08484846124a8565b5f610da0826124b7565b3033036114cd576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6114d786336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506124dc92505050565b5f610b4b6115568686612514565b60ff858116601b0360080285901c1661156f8587612569565b6125a1565b61148385856115838487612569565b85611ec6565b60605f60605f611598856125f1565b90506115a5878783612613565b93505f6115b186612648565b9050801561167f576115c38888612684565b935066ffffffffffffff841667ffffffffffffffff8111156115e7576115e7614625565b6040519080825280601f01601f191660200182016040528015611611576020820181803683370190505b509250602083015f5b828160ff16101561167c575f6116318b8b84612696565b90505f61164d888460ff166028026038011c64ffffffffff1690565b905061165b825f8387612714565b6116658185614290565b93505050808061167490614b65565b91505061161a565b50505b505093509350939050565b5f80611695856127db565b90969095509350505050565b5f60605f6116ae866127ef565b90505f5b815181101561177a575f8282815181106116ce576116ce614b27565b602002602001015190506116fa6001826affffffffffffffffffffff191661287490919063ffffffff16565b15611771576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611743908c908c908c90600401614b83565b5f604051808303815f87803b15801561175a575f80fd5b505af115801561176c573d5f803e3d5ffd5b505050505b506001016116b2565b5061178787858888612891565b90935091505f5b8151811015611856575f8282815181106117aa576117aa614b27565b602002602001015190506117d66002826affffffffffffffffffffff191661287490919063ffffffff16565b1561184d576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061181f908c908c908c90600401614b83565b5f604051808303815f87803b158015611836575f80fd5b505af1158015611848573d5f803e3d5ffd5b505050505b5060010161178e565b505094509492505050565b805160208201fd5b6060611874826129a8565b8360ff1610156118915761188a858585856129b9565b90506107a0565b61188a858561189f856129a8565b6118a99087614baa565b61194d565b6118b882826129e6565b6110dd576118c582612169565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b61190f8484848461190a896119df565b61199c565b50505050565b5f6119208585612684565b90505f61193c828560ff166028026038011c64ffffffffff1690565b9050610a5b868686845f8888612a28565b60606107a061195d858585612696565b5f6119818561196c8989612684565b9060ff166028026038011c64ffffffffff1690565b612e4d565b61148385858585856119978b6119df565b612e70565b6119a5816129a8565b8360ff1610156119c1576119bc8585858585611574565b611483565b61148385856119cf846129a8565b6119d99087614baa565b856124dc565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b610da0611a5a7f746273746f72650000000000000000005461626c6573000000000000000000008461319e565b60205f6125a1565b606081831115611aa8576040517fa8c54782000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260440161028c565b5f611ab38787612684565b90505f611acf828760ff166028026038011c64ffffffffff1690565b90508085101580611adf57508084115b15611b3a578081861015611afd57611af8600186614bc3565b611aff565b855b6040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161028c565b5f611b46898989612696565b9050611b558187888803612e4d565b9998505050505050505050565b6110dd8282611b70856119df565b6131b9565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611bb757611bb7614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110611be257611be2614b27565b60209081029190910101525f610b4b7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611548565b5f611c2b866134a5565b15611c3857506001610b4b565b85611c4457505f610b4b565b5f80611cbe865f8a8a8989604051602401611c6193929190614b83565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612891565b9150915081611cd1575f92505050610b4b565b80806020019051810190611ce59190614bd6565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611d2857611d28614b27565b60209081029190910101525f6107a07f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611548565b5f80611d72836129a8565b90508060ff168460ff161015611d9a5760ff848116601b0360080284901c165b9150506107a0565b611d928686611da98488614baa565b6124a8565b5f6107a0848484611dbe886119df565b611d67565b6001600160a01b038116611dfd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161761351f565b6001600160a01b0316146110dd576118c582612169565b611e3e827f6fdd1c80000000000000000000000000000000000000000000000000000000006135b8565b611eb2335f8484604051602401611e5591906143a9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613613565b506110dd8282805190602001206001613623565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f5057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f4393929190614c2f565b60405180910390a261190f565b5f611f5b8585612514565b90505f611f6786613702565b90505f5b8151811015612035575f828281518110611f8757611f87614b27565b60200260200101519050611fb36004826affffffffffffffffffffff191661287490919063ffffffff16565b1561202c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611ffe908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612015575f80fd5b505af1158015612027573d5f803e3d5ffd5b505050505b50600101611f6b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161206a93929190614c2f565b60405180910390a2612085828565ffffffffffff1685613771565b5f5b8151811015610ce3575f8282815181106120a3576120a3614b27565b602002602001015190506120cf6008826affffffffffffffffffffff191661287490919063ffffffff16565b15612148576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061211a908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612131575f80fd5b505af1158015612143573d5f803e3d5ffd5b505050505b50600101612087565b610a5b8686868686866121648d8d612684565b612a28565b606081601081901b5f61217b83613787565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156121d6576121d17fffffffffffffffffffffffffffff000000000000000000000000000000000000841661379d565b61220d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122435761223e8361379d565b61227a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161228c93929190614c99565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f6123007f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613840565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916110dd917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006138f2565b60605f60606123bc85856123b7886119df565b611589565b9250925092509250925092565b60606107a08484846123da886119df565b611869565b5f6123e982613995565b90506123f482613a24565b61244d57818260405160200161240c91815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261028c9291600401614d26565b919050565b5f61245d8585612684565b90505f612479828560ff166028026038011c64ffffffffff1690565b9050610a5b8686866124928764ffffffffff8716614bc3565b604080515f815260208101909152889088612a28565b5f6107a08261196c8686612684565b5f6124c182613abe565b90508061244d57818260405160200161240c91815260200190565b5f6124e78585612684565b90505f612503828560ff166028026038011c64ffffffffff1690565b9050610a5b8686865f858888612a28565b5f8282604051602001612528929190614d3e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156125995761258f60ff601b83900360080287901c1683614290565b915060010161256d565b509392505050565b5f602082106125c6576020820484019350602082816125c2576125c2614d78565b0691505b508254600882021b602082900380841115612599576001850154600882021c82179150509392505050565b5f600861260060026020614bc3565b61260a9190614d8c565b9190911c919050565b6060815f03612630575060408051602081019091525f815261093e565b5f61263b8585612514565b9050610b4b815f85612e4d565b5f600860018061265a60026020614bc3565b6126649190614bc3565b61266e9190614bc3565b6126789190614d8c565b8260ff911c1692915050565b5f61093e6126928484613b4d565b5490565b5f83836040516020016126aa929190614d3e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612798576020831061273e5760208304840193506020838161273a5761273a614d78565b0692505b82156127985760208390035f8184101561275f57505f19600884021c612768565b505f19600882021c5b8554600886021b81845116821982161784525081841161278957505061190f565b50600194909401939182900391015b5b602082106127ba5783548152600190930192601f1990910190602001612799565b811561190f575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061282757612827614b27565b60209081029190910101525f61285e7f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361194d565b90506107a061286f825f8451613ba2565b613c2e565b5f8160ff16826128848560581c90565b1660ff1614905092915050565b5f60605f8061289f86613c3d565b90925090506001600160a01b0382166128f057856128bc87612169565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161028c929190614d26565b806128ff576128ff86896118ae565b861561294a577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f6129378261072a565b90506129478261025c8b84614290565b50505b5f6129558760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461298d5761298888888488613cde565b612999565b61299988888488613d51565b90999098509650505050505050565b5f6008600161266460026020614bc3565b6060610b4b6129c88686612514565b6129d28486612569565b60ff868116601b0360080286901c16612e4d565b5f612a18616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613dae565b8061093e575061093e8383613dae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612ae8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612aa691815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261028c939291600401614da3565b5f612b02828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612b1a9190614bc3565b612b249190614290565b9050808214158015612b46575081612b3c8688614de3565b64ffffffffff1614155b15612b96576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161028c565b818664ffffffffff161115612be7576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161028c565b5f612bf3848984613e73565b90505f612bff8b613702565b90505f5b8151811015612cc3575f828281518110612c1f57612c1f614b27565b60200260200101519050612c4b6010826affffffffffffffffffffff191661287490919063ffffffff16565b15612cba57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c8c9796959493929190614e08565b5f604051808303815f87803b158015612ca3575f80fd5b505af1158015612cb5573d5f803e3d5ffd5b505050505b50600101612c03565b5064ffffffffff88165f5b8a60ff168160ff161015612d0157612cf5878260ff166028026038011c64ffffffffff1690565b90910190600101612cce565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d3c96959493929190614e65565b60405180910390a250828414612d5c575f612d578c8c613b4d565b839055505b5f612d688c8c8c612696565b9050612d7c818a64ffffffffff1689613771565b505f5b8151811015612e3f575f828281518110612d9b57612d9b614b27565b60200260200101519050612dc76020826affffffffffffffffffffff191661287490919063ffffffff16565b15612e3657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e089796959493929190614e08565b5f604051808303815f87803b158015612e1f575f80fd5b505af1158015612e31573d5f803e3d5ffd5b505050505b50600101612d7f565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261259985858584612714565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612efc57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612eef9493929190614eb3565b60405180910390a2610a5b565b5f612f0687613702565b90505f5b8151811015612fd8575f828281518110612f2657612f26614b27565b60200260200101519050612f526001826affffffffffffffffffffff191661287490919063ffffffff16565b15612fcf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612fa1908c908c908c908c908c908c90600401614ef1565b5f604051808303815f87803b158015612fb8575f80fd5b505af1158015612fca573d5f803e3d5ffd5b505050505b50600101612f0a565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161300f9493929190614eb3565b60405180910390a25f6130228888612514565b90505f602087019050613038825f895184613f40565b5f61304285612648565b11156130c2575f6130538a8a613b4d565b87815590506020860191505f805f5b61306b88612648565b8160ff1610156130bd576130808d8d83612696565b925061309b8a8260ff166028026038011c64ffffffffff1690565b91506130a9835f8488613f40565b6130b38286614290565b9450600101613062565b505050505b5f5b8351811015613192575f8482815181106130e0576130e0614b27565b6020026020010151905061310c6002826affffffffffffffffffffff191661287490919063ffffffff16565b15613189576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061315b908e908e908e908e908e908e90600401614ef1565b5f604051808303815f87803b158015613172575f80fd5b505af1158015613184573d5f803e3d5ffd5b505050505b506001016130c4565b50505050505050505050565b60408051602081018490529081018290525f90606001612528565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361323f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132329190614f49565b60405180910390a2505050565b5f61324984613702565b90505f5b8151811015613315575f82828151811061326957613269614b27565b602002602001015190506132956040826affffffffffffffffffffff191661287490919063ffffffff16565b1561330c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906132de90899089908990600401614f5b565b5f604051808303815f87803b1580156132f5575f80fd5b505af1158015613307573d5f803e3d5ffd5b505050505b5060010161324d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516133469190614f49565b60405180910390a25f6133598585612514565b90506133b1815f613369866125f1565b67ffffffffffffffff81111561338157613381614625565b6040519080825280601f01601f1916602001820160405280156133ab576020820181803683370190505b50613771565b5f6133bb84612648565b11156133db575f6133cc8686613b4d565b90506133d9816020613ffb565b505b5f5b8251811015610a5b575f8382815181106133f9576133f9614b27565b602002602001015190506134256080826affffffffffffffffffffff191661287490919063ffffffff16565b1561349c576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061346e908a908a908a90600401614f5b565b5f604051808303815f87803b158015613485575f80fd5b505af1158015613497573d5f803e3d5ffd5b505050505b506001016133dd565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261351790614256565b909114919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061355657613556614b27565b60209081029190910101525f6135ad7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611548565b60601c949350505050565b6135c28282614036565b6110dd576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161028c565b60605f8061095587878787613d51565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061366157613661614b27565b602002602001018181525050828160018151811061368157613681614b27565b60200260200101818152505061190f7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f856040516020016136cd91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611574565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061373a5761373a614b27565b60209081029190910101525f61285e7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361194d565b610840838383516137828560200190565b613f40565b5f61379460706010614290565b9190911b919050565b60605f5b6010811015613801577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613801576001016137a1565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107a0565b5f8061384a614051565b9050306001600160a01b0382160361386857611d9286868686611548565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906138b3908990899089908990600401614f83565b602060405180830381865afa1580156138ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d929190614fb1565b5f6138fb614051565b9050306001600160a01b0382160361391f5761391a8686868686611574565b610a5b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061396c9089908990899089908990600401614fc8565b5f604051808303815f87803b158015613983575f80fd5b505af1158015613192573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106139cc576139cc614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611548565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613a5b57613a5b614b27565b60209081029190910101525f613ab27f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611548565b90506107a08160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613af557613af5614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611548565b5f8282604051602001613b61929190614d3e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613bb15750835182115b15613bee578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161028c9392919061500e565b60208401613bfc8482614290565b90505f613c098585614bc3565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61093e8360155f61408a565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613c7557613c75614b27565b60209081029190910101525f8080613ccd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611589565b925092509250610905838383614102565b5f6060836001600160a01b03165f613cf785898961410d565b604051613d049190615032565b5f6040518083038185875af1925050503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613d6984888861410d565b604051613d769190615032565b5f60405180830381855af49150503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613de557613de5614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110613e1057613e10614b27565b60209081029190910101525f613e677f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611548565b9050610b4b8160f81c90565b5f64ffffffffff821115613eb6576040517f7149a3c10000000000000000000000000000000000000000000000000000000081526004810183905260240161028c565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613ee85780850382019150613ef0565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215613fb85760208310613f6a57602083048401935060208381613f6657613f66614d78565b0692505b8215613fb85760208390035f5f19600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613fa957505061190f565b50600194909401939182900391015b5b60208210613fda5780518455600190930192601f1990910190602001613fb9565b811561190f575f5f19600884021c8554835182191691161785555050505050565b5f602061400983601f614290565b614013919061504d565b61401d9084614290565b90505b80831015610840575f8355600183019250614020565b5f6140408361413c565b801561093e575061093e8383614187565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b03168061244d573391505090565b60605f6140978560801c90565b90506fffffffffffffffffffffffffffffffff85165f8582816140bc576140bc614d78565b0490506040519350602084016020820281016040528185525f5b828110156140f6578451871c8252938701936020909101906001016140d6565b50505050509392505050565b5f806116958561423b565b60608383836040516020016141249392919061506c565b60405160208183030381529060405290509392505050565b5f614167827f01ffc9a700000000000000000000000000000000000000000000000000000000614187565b8015610da05750614180826001600160e01b0319614187565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f519050828015614225575060208210155b801561423057505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c6127e8565b80516020808301519190811015614276575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610da057610da061427c565b5f8083601f8401126142b3575f80fd5b50813567ffffffffffffffff8111156142ca575f80fd5b6020830191508360208260051b85010111156142e4575f80fd5b9250929050565b803560ff8116811461244d575f80fd5b5f805f805f6080868803121561430f575f80fd5b85359450602086013567ffffffffffffffff81111561432c575f80fd5b614338888289016142a3565b909550935061434b9050604087016142eb565b949793965091946060013592915050565b5f5b8381101561437657818101518382015260200161435e565b50505f910152565b5f815180845261439581602086016020860161435c565b601f01601f19169290920160200192915050565b602081525f61093e602083018461437e565b5f8083601f8401126143cb575f80fd5b50813567ffffffffffffffff8111156143e2575f80fd5b6020830191508360208285010111156142e4575f80fd5b5f805f805f806080878903121561440e575f80fd5b86359550602087013567ffffffffffffffff8082111561442c575f80fd5b6144388a838b016142a3565b909750955085915061444c60408a016142eb565b94506060890135915080821115614461575f80fd5b5061446e89828a016143bb565b979a9699509497509295939492505050565b5f805f8060608587031215614493575f80fd5b84359350602085013567ffffffffffffffff8111156144b0575f80fd5b6144bc878288016142a3565b90945092506144cf9050604086016142eb565b905092959194509250565b5f805f805f805f8060a0898b0312156144f1575f80fd5b88359750602089013567ffffffffffffffff8082111561450f575f80fd5b61451b8c838d016142a3565b909950975060408b0135915080821115614533575f80fd5b61453f8c838d016143bb565b909750955060608b0135945060808b013591508082111561455e575f80fd5b5061456b8b828c016143bb565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a031215614595575f80fd5b87359650602088013567ffffffffffffffff808211156145b3575f80fd5b6145bf8b838c016142a3565b90985096508691506145d360408b016142eb565b955060608a01359150808211156145e8575f80fd5b506145f58a828b016143bb565b989b979a50959894979596608090950135949350505050565b5f6020828403121561461e575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561466257614662614625565b604052919050565b5f82601f830112614679575f80fd5b813567ffffffffffffffff81111561469357614693614625565b6146a66020601f19601f84011601614639565b8181528460208386010111156146ba575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156146e7575f80fd5b82359150602083013567ffffffffffffffff811115614704575f80fd5b6147108582860161466a565b9150509250929050565b5f805f806060858703121561472d575f80fd5b84359350602085013567ffffffffffffffff81111561474a575f80fd5b614756878288016142a3565b9598909750949560400135949350505050565b606081525f61477b606083018661437e565b8460208401528281036040840152610967818561437e565b5f82601f8301126147a2575f80fd5b8135602067ffffffffffffffff8211156147be576147be614625565b8160051b6147cd828201614639565b92835284810182019282810190878511156147e6575f80fd5b83870192505b84831015614230578235825291830191908301906147ec565b5f805f805f60a08688031215614819575f80fd5b85359450602086013567ffffffffffffffff811115614836575f80fd5b61484288828901614793565b945050614851604087016142eb565b94979396509394606081013594506080013592915050565b5f805f6040848603121561487b575f80fd5b83359250602084013567ffffffffffffffff811115614898575f80fd5b6148a4868287016142a3565b9497909650939450505050565b6001600160a01b038116811461136f575f80fd5b5f805f606084860312156148d7575f80fd5b83356148e2816148b1565b925060208401359150604084013567ffffffffffffffff811115614904575f80fd5b6149108682870161466a565b9150509250925092565b5f805f806080858703121561492d575f80fd5b84359350602085013567ffffffffffffffff81111561494a575f80fd5b61495687828801614793565b935050614965604086016142eb565b9396929550929360600135925050565b5f805f60608486031215614987575f80fd5b83359250602084013567ffffffffffffffff8111156149a4575f80fd5b6149b086828701614793565b9250506149bf604085016142eb565b90509250925092565b5f80604083850312156149d9575f80fd5b82356149e4816148b1565b9150602083013567ffffffffffffffff811115614704575f80fd5b5f805f805f8060808789031215614a14575f80fd5b86359550602087013567ffffffffffffffff80821115614a32575f80fd5b614a3e8a838b016142a3565b90975095506040890135915065ffffffffffff82168214614a5d575f80fd5b90935060608801359080821115614461575f80fd5b803564ffffffffff8116811461244d575f80fd5b5f805f805f805f8060c0898b031215614a9d575f80fd5b88359750602089013567ffffffffffffffff80821115614abb575f80fd5b614ac78c838d016142a3565b9099509750879150614adb60408c016142eb565b9650614ae960608c01614a72565b9550614af760808c01614a72565b945060a08b013591508082111561455e575f80fd5b5f60208284031215614b1c575f80fd5b813561093e816148b1565b634e487b7160e01b5f52603260045260245ffd5b604081525f614b4d604083018561437e565b90506001600160a01b03831660208301529392505050565b5f60ff821660ff8103614b7a57614b7a61427c565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610b4b606083018461437e565b60ff8281168282160390811115610da057610da061427c565b81810381811115610da057610da061427c565b5f60208284031215614be6575f80fd5b8151801515811461093e575f80fd5b5f815180845260208085019450602084015f5b83811015614c2457815187529582019590820190600101614c08565b509495945050505050565b606081525f614c416060830186614bf5565b65ffffffffffff851660208401528281036040840152610967818561437e565b848152608060208201525f614c796080830186614bf5565b65ffffffffffff851660408401528281036060840152614230818561437e565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614cf981600386016020890161435c565b808401905081600382015284519150614d1982600483016020880161435c565b0160040195945050505050565b828152604060208201525f6107a0604083018461437e565b8281525f60208083018451602086015f5b82811015614d6b57815184529284019290840190600101614d4f565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610da057610da061427c565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610b4b606083018461437e565b64ffffffffff818116838216019080821115614e0157614e0161427c565b5092915050565b87815260e060208201525f614e2060e0830189614bf5565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152614e57818561437e565b9a9950505050505050505050565b60c081525f614e7760c0830189614bf5565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152611b55818561437e565b608081525f614ec56080830187614bf5565b8281036020840152614ed7818761437e565b90508460408401528281036060840152614230818561437e565b86815260c060208201525f614f0960c0830188614bf5565b8281036040840152614f1b818861437e565b90508560608401528281036080840152614f35818661437e565b9150508260a0830152979650505050505050565b602081525f61093e6020830184614bf5565b838152606060208201525f614f736060830185614bf5565b9050826040830152949350505050565b848152608060208201525f614f9b6080830186614bf5565b60ff949094166040830152506060015292915050565b5f60208284031215614fc1575f80fd5b5051919050565b85815260a060208201525f614fe060a0830187614bf5565b60ff861660408401528281036060840152614ffb818661437e565b9150508260808301529695505050505050565b606081525f615020606083018661437e565b60208301949094525060400152919050565b5f825161504381846020870161435c565b9190910192915050565b5f8261506757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161507d81846020890161435c565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1829:15502:90:-:0;;;2219:94;;;;;;;;;-1:-1:-1;895:22:27;1066:42:29;2374:38;;-1:-1:-1;;;;;;2374:38:29;1824:4:25;2374:38:29;;;1751:84:25;895:22:27;928:38;;-1:-1:-1;;;952:13:27;928:38;;;;;2249:10:90;2239:20;;2270:38;;-1:-1:-1;;;2294:13:90;2270:38;;;;;1829:15502;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101d0575f3560e01c80638c364d59116100f6578063c4d66de811610094578063d9c03a0411610063578063d9c03a04146106ae578063dbbf0e21146106cd578063e228a4a3146106ec578063ef6ea8621461070b57610263565b8063c4d66de814610632578063cc49db7e14610651578063d03edb8c14610670578063d4285dc21461068f57610263565b8063af068c9e116100d0578063af068c9e146105d5578063b047c1eb146105f4578063c0a2895a14610613578063c11222291461053357610263565b80638c364d59146105785780639f1fcf0a14610597578063a53417ed146105b657610263565b8063390baae01161016e5780634dc77d971161013d5780634dc77d97146104f5578063505a181d146105145780636951955d14610533578063894ecc581461056557610263565b8063390baae0146104685780633a77c2c2146104875780633ae7af08146104b4578063419b58fd146104c757610263565b8063150f3262116101aa578063150f3262146103ec5780631e7889771461040b578063298314fb1461042a5780633708196e1461044957610263565b806302d05d3f1461035157806305242d2f146103a1578063114a7266146103cd57610263565b366102635760408051616e7360f01b60208201525f602282018190526030820181905291610216910160405160208183030381529060405261021190614256565b61072a565b60408051616e7360f01b60208201525f602282018190526030820152919250610261910160405160208183030381529060405261025290614256565b61025c3484614290565b6107a8565b005b303303610295576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f806102ab5f356001600160e01b031916610845565b91509150815f801b036102f7576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f3516600482015260240161028c565b5f6103385f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508691506109129050565b90505f61034733858434610945565b9050805160208201f35b34801561035c575f80fd5b506103847f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ac575f80fd5b506103c06103bb3660046142fb565b610971565b60405161039891906143a9565b3480156103d8575f80fd5b506102616103e73660046143f9565b6109b3565b3480156103f7575f80fd5b506102616104063660046143f9565b610a63565b348015610416575f80fd5b506103c0610425366004614480565b610b0b565b348015610435575f80fd5b506102616104443660046144da565b610b54565b348015610454575f80fd5b5061026161046336600461457f565b610c39565b348015610473575f80fd5b5061026161048236600461457f565b610cec565b348015610492575f80fd5b506104a66104a136600461460e565b610d96565b604051908152602001610398565b6103c06104c23660046146d6565b610da6565b3480156104d2575f80fd5b506104e66104e136600461471a565b610de1565b60405161039893929190614769565b348015610500575f80fd5b506103c061050f366004614805565b610e34565b34801561051f575f80fd5b5061026161052e366004614869565b610e43565b34801561053e575f80fd5b507f322e302e320000000000000000000000000000000000000000000000000000006104a6565b6103c06105733660046148c5565b610eb6565b348015610583575f80fd5b506104a66105923660046142fb565b61100d565b3480156105a2575f80fd5b506104a66105b136600461491a565b61104e565b3480156105c1575f80fd5b506104a66105d0366004614975565b61105b565b3480156105e0575f80fd5b506102616105ef3660046149c8565b611067565b3480156105ff575f80fd5b5061026161060e3660046149ff565b6110e1565b34801561061e575f80fd5b5061026161062d366004614a86565b611189565b34801561063d575f80fd5b5061026161064c366004614b0c565b611234565b34801561065c575f80fd5b506104e661066b366004614869565b611372565b34801561067b575f80fd5b506103c061068a366004614480565b6113c2565b34801561069a575f80fd5b506104a66106a936600461460e565b611402565b3480156106b9575f80fd5b506102616106c83660046142fb565b61140c565b3480156106d8575f80fd5b506104a66106e7366004614975565b61148a565b3480156106f7575f80fd5b506104a661070636600461460e565b611496565b348015610716575f80fd5b506102616107253660046143f9565b6114a0565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061076157610761614b27565b60209081029190910101525f6107a07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611548565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106107dc576107dc614b27565b6020026020010181815250506108407f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161082391815260200190565b60408051601f19818403018152919052630100080160dd1b611574565b505050565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061089c5761089c614b27565b60209081029190910101525f80806108f47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611589565b92509250925061090583838361168a565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610955878787876116a1565b91509150816109675761096781611861565b9695505050505050565b6060610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506118699050565b3033036109e0576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6109ea86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506118fa92505050565b505050505050565b303303610a90576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610a9a86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061191592505050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061194d915050565b95945050505050565b303303610b81576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610b8b88336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061198692505050565b5050505050505050565b303303610c66576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610c7087336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061199c915050565b50505050505050565b303303610d19576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610d2387336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611574915050565b5f610da0826119df565b92915050565b6060303303610dd5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61093e33848434610945565b60605f6060610e24878787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611589915050565b9250925092509450945094915050565b60606109678686868686611a62565b303303610e70576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610e7a83336118ae565b610840838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611b6292505050565b6060303303610ee5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b03851603610f0857610f0133848434610945565b905061093e565b5f610f138533611b75565b9050610f228186338787611c21565b15610f3b57610f3385858534610945565b91505061093e565b5f610f46865f611b75565b9050610f558187338888611c21565b15610f6f57610f6686868634610945565b9250505061093e565b5f610fa0616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611cf1565b9050610faf8188338989611c21565b15610fca57610fc087878734610945565b935050505061093e565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015233602482015260440161028c565b5f610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506115489050565b5f610b4b85858585611d67565b5f6107a0848484611dae565b303303611094576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b60408051616e7360f01b60208201525f6022820181905260308201526110d391016040516020818303038152906040526110cd90614256565b33611dc3565b6110dd8282611e14565b5050565b30330361110e576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61111886336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ec692505050565b3033036111b6576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6111c088336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f9201919091525061215192505050565b303303611261576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113045760408051616e7360f01b60208201525f6022820181905260308201526112cf91016040516020818303038152906040526112ca90614256565b612169565b336040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b5f61130d6122a5565b6001600160a01b03161461134d576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113568161230a565b604080515f81526020810190915261136f908290611e14565b50565b60605f60606113b3868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123a492505050565b92509250925093509350939050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792506123c9915050565b5f610da0826123df565b303303611439576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61144385336118ae565b611483858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506124529050565b5050505050565b5f6107a08484846124a8565b5f610da0826124b7565b3033036114cd576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6114d786336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506124dc92505050565b5f610b4b6115568686612514565b60ff858116601b0360080285901c1661156f8587612569565b6125a1565b61148385856115838487612569565b85611ec6565b60605f60605f611598856125f1565b90506115a5878783612613565b93505f6115b186612648565b9050801561167f576115c38888612684565b935066ffffffffffffff841667ffffffffffffffff8111156115e7576115e7614625565b6040519080825280601f01601f191660200182016040528015611611576020820181803683370190505b509250602083015f5b828160ff16101561167c575f6116318b8b84612696565b90505f61164d888460ff166028026038011c64ffffffffff1690565b905061165b825f8387612714565b6116658185614290565b93505050808061167490614b65565b91505061161a565b50505b505093509350939050565b5f80611695856127db565b90969095509350505050565b5f60605f6116ae866127ef565b90505f5b815181101561177a575f8282815181106116ce576116ce614b27565b602002602001015190506116fa6001826affffffffffffffffffffff191661287490919063ffffffff16565b15611771576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611743908c908c908c90600401614b83565b5f604051808303815f87803b15801561175a575f80fd5b505af115801561176c573d5f803e3d5ffd5b505050505b506001016116b2565b5061178787858888612891565b90935091505f5b8151811015611856575f8282815181106117aa576117aa614b27565b602002602001015190506117d66002826affffffffffffffffffffff191661287490919063ffffffff16565b1561184d576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061181f908c908c908c90600401614b83565b5f604051808303815f87803b158015611836575f80fd5b505af1158015611848573d5f803e3d5ffd5b505050505b5060010161178e565b505094509492505050565b805160208201fd5b6060611874826129a8565b8360ff1610156118915761188a858585856129b9565b90506107a0565b61188a858561189f856129a8565b6118a99087614baa565b61194d565b6118b882826129e6565b6110dd576118c582612169565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b61190f8484848461190a896119df565b61199c565b50505050565b5f6119208585612684565b90505f61193c828560ff166028026038011c64ffffffffff1690565b9050610a5b868686845f8888612a28565b60606107a061195d858585612696565b5f6119818561196c8989612684565b9060ff166028026038011c64ffffffffff1690565b612e4d565b61148385858585856119978b6119df565b612e70565b6119a5816129a8565b8360ff1610156119c1576119bc8585858585611574565b611483565b61148385856119cf846129a8565b6119d99087614baa565b856124dc565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b610da0611a5a7f746273746f72650000000000000000005461626c6573000000000000000000008461319e565b60205f6125a1565b606081831115611aa8576040517fa8c54782000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260440161028c565b5f611ab38787612684565b90505f611acf828760ff166028026038011c64ffffffffff1690565b90508085101580611adf57508084115b15611b3a578081861015611afd57611af8600186614bc3565b611aff565b855b6040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161028c565b5f611b46898989612696565b9050611b558187888803612e4d565b9998505050505050505050565b6110dd8282611b70856119df565b6131b9565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611bb757611bb7614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110611be257611be2614b27565b60209081029190910101525f610b4b7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611548565b5f611c2b866134a5565b15611c3857506001610b4b565b85611c4457505f610b4b565b5f80611cbe865f8a8a8989604051602401611c6193929190614b83565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612891565b9150915081611cd1575f92505050610b4b565b80806020019051810190611ce59190614bd6565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611d2857611d28614b27565b60209081029190910101525f6107a07f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611548565b5f80611d72836129a8565b90508060ff168460ff161015611d9a5760ff848116601b0360080284901c165b9150506107a0565b611d928686611da98488614baa565b6124a8565b5f6107a0848484611dbe886119df565b611d67565b6001600160a01b038116611dfd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161761351f565b6001600160a01b0316146110dd576118c582612169565b611e3e827f6fdd1c80000000000000000000000000000000000000000000000000000000006135b8565b611eb2335f8484604051602401611e5591906143a9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613613565b506110dd8282805190602001206001613623565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f5057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f4393929190614c2f565b60405180910390a261190f565b5f611f5b8585612514565b90505f611f6786613702565b90505f5b8151811015612035575f828281518110611f8757611f87614b27565b60200260200101519050611fb36004826affffffffffffffffffffff191661287490919063ffffffff16565b1561202c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611ffe908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612015575f80fd5b505af1158015612027573d5f803e3d5ffd5b505050505b50600101611f6b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161206a93929190614c2f565b60405180910390a2612085828565ffffffffffff1685613771565b5f5b8151811015610ce3575f8282815181106120a3576120a3614b27565b602002602001015190506120cf6008826affffffffffffffffffffff191661287490919063ffffffff16565b15612148576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061211a908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612131575f80fd5b505af1158015612143573d5f803e3d5ffd5b505050505b50600101612087565b610a5b8686868686866121648d8d612684565b612a28565b606081601081901b5f61217b83613787565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156121d6576121d17fffffffffffffffffffffffffffff000000000000000000000000000000000000841661379d565b61220d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122435761223e8361379d565b61227a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161228c93929190614c99565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f6123007f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613840565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916110dd917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006138f2565b60605f60606123bc85856123b7886119df565b611589565b9250925092509250925092565b60606107a08484846123da886119df565b611869565b5f6123e982613995565b90506123f482613a24565b61244d57818260405160200161240c91815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261028c9291600401614d26565b919050565b5f61245d8585612684565b90505f612479828560ff166028026038011c64ffffffffff1690565b9050610a5b8686866124928764ffffffffff8716614bc3565b604080515f815260208101909152889088612a28565b5f6107a08261196c8686612684565b5f6124c182613abe565b90508061244d57818260405160200161240c91815260200190565b5f6124e78585612684565b90505f612503828560ff166028026038011c64ffffffffff1690565b9050610a5b8686865f858888612a28565b5f8282604051602001612528929190614d3e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156125995761258f60ff601b83900360080287901c1683614290565b915060010161256d565b509392505050565b5f602082106125c6576020820484019350602082816125c2576125c2614d78565b0691505b508254600882021b602082900380841115612599576001850154600882021c82179150509392505050565b5f600861260060026020614bc3565b61260a9190614d8c565b9190911c919050565b6060815f03612630575060408051602081019091525f815261093e565b5f61263b8585612514565b9050610b4b815f85612e4d565b5f600860018061265a60026020614bc3565b6126649190614bc3565b61266e9190614bc3565b6126789190614d8c565b8260ff911c1692915050565b5f61093e6126928484613b4d565b5490565b5f83836040516020016126aa929190614d3e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612798576020831061273e5760208304840193506020838161273a5761273a614d78565b0692505b82156127985760208390035f8184101561275f57505f19600884021c612768565b505f19600882021c5b8554600886021b81845116821982161784525081841161278957505061190f565b50600194909401939182900391015b5b602082106127ba5783548152600190930192601f1990910190602001612799565b811561190f575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061282757612827614b27565b60209081029190910101525f61285e7f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361194d565b90506107a061286f825f8451613ba2565b613c2e565b5f8160ff16826128848560581c90565b1660ff1614905092915050565b5f60605f8061289f86613c3d565b90925090506001600160a01b0382166128f057856128bc87612169565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161028c929190614d26565b806128ff576128ff86896118ae565b861561294a577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f6129378261072a565b90506129478261025c8b84614290565b50505b5f6129558760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461298d5761298888888488613cde565b612999565b61299988888488613d51565b90999098509650505050505050565b5f6008600161266460026020614bc3565b6060610b4b6129c88686612514565b6129d28486612569565b60ff868116601b0360080286901c16612e4d565b5f612a18616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613dae565b8061093e575061093e8383613dae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612ae8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612aa691815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261028c939291600401614da3565b5f612b02828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612b1a9190614bc3565b612b249190614290565b9050808214158015612b46575081612b3c8688614de3565b64ffffffffff1614155b15612b96576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161028c565b818664ffffffffff161115612be7576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161028c565b5f612bf3848984613e73565b90505f612bff8b613702565b90505f5b8151811015612cc3575f828281518110612c1f57612c1f614b27565b60200260200101519050612c4b6010826affffffffffffffffffffff191661287490919063ffffffff16565b15612cba57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c8c9796959493929190614e08565b5f604051808303815f87803b158015612ca3575f80fd5b505af1158015612cb5573d5f803e3d5ffd5b505050505b50600101612c03565b5064ffffffffff88165f5b8a60ff168160ff161015612d0157612cf5878260ff166028026038011c64ffffffffff1690565b90910190600101612cce565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d3c96959493929190614e65565b60405180910390a250828414612d5c575f612d578c8c613b4d565b839055505b5f612d688c8c8c612696565b9050612d7c818a64ffffffffff1689613771565b505f5b8151811015612e3f575f828281518110612d9b57612d9b614b27565b60200260200101519050612dc76020826affffffffffffffffffffff191661287490919063ffffffff16565b15612e3657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e089796959493929190614e08565b5f604051808303815f87803b158015612e1f575f80fd5b505af1158015612e31573d5f803e3d5ffd5b505050505b50600101612d7f565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261259985858584612714565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612efc57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612eef9493929190614eb3565b60405180910390a2610a5b565b5f612f0687613702565b90505f5b8151811015612fd8575f828281518110612f2657612f26614b27565b60200260200101519050612f526001826affffffffffffffffffffff191661287490919063ffffffff16565b15612fcf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612fa1908c908c908c908c908c908c90600401614ef1565b5f604051808303815f87803b158015612fb8575f80fd5b505af1158015612fca573d5f803e3d5ffd5b505050505b50600101612f0a565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161300f9493929190614eb3565b60405180910390a25f6130228888612514565b90505f602087019050613038825f895184613f40565b5f61304285612648565b11156130c2575f6130538a8a613b4d565b87815590506020860191505f805f5b61306b88612648565b8160ff1610156130bd576130808d8d83612696565b925061309b8a8260ff166028026038011c64ffffffffff1690565b91506130a9835f8488613f40565b6130b38286614290565b9450600101613062565b505050505b5f5b8351811015613192575f8482815181106130e0576130e0614b27565b6020026020010151905061310c6002826affffffffffffffffffffff191661287490919063ffffffff16565b15613189576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061315b908e908e908e908e908e908e90600401614ef1565b5f604051808303815f87803b158015613172575f80fd5b505af1158015613184573d5f803e3d5ffd5b505050505b506001016130c4565b50505050505050505050565b60408051602081018490529081018290525f90606001612528565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361323f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132329190614f49565b60405180910390a2505050565b5f61324984613702565b90505f5b8151811015613315575f82828151811061326957613269614b27565b602002602001015190506132956040826affffffffffffffffffffff191661287490919063ffffffff16565b1561330c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906132de90899089908990600401614f5b565b5f604051808303815f87803b1580156132f5575f80fd5b505af1158015613307573d5f803e3d5ffd5b505050505b5060010161324d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516133469190614f49565b60405180910390a25f6133598585612514565b90506133b1815f613369866125f1565b67ffffffffffffffff81111561338157613381614625565b6040519080825280601f01601f1916602001820160405280156133ab576020820181803683370190505b50613771565b5f6133bb84612648565b11156133db575f6133cc8686613b4d565b90506133d9816020613ffb565b505b5f5b8251811015610a5b575f8382815181106133f9576133f9614b27565b602002602001015190506134256080826affffffffffffffffffffff191661287490919063ffffffff16565b1561349c576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061346e908a908a908a90600401614f5b565b5f604051808303815f87803b158015613485575f80fd5b505af1158015613497573d5f803e3d5ffd5b505050505b506001016133dd565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261351790614256565b909114919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061355657613556614b27565b60209081029190910101525f6135ad7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611548565b60601c949350505050565b6135c28282614036565b6110dd576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161028c565b60605f8061095587878787613d51565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061366157613661614b27565b602002602001018181525050828160018151811061368157613681614b27565b60200260200101818152505061190f7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f856040516020016136cd91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611574565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061373a5761373a614b27565b60209081029190910101525f61285e7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361194d565b610840838383516137828560200190565b613f40565b5f61379460706010614290565b9190911b919050565b60605f5b6010811015613801577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613801576001016137a1565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107a0565b5f8061384a614051565b9050306001600160a01b0382160361386857611d9286868686611548565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906138b3908990899089908990600401614f83565b602060405180830381865afa1580156138ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d929190614fb1565b5f6138fb614051565b9050306001600160a01b0382160361391f5761391a8686868686611574565b610a5b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061396c9089908990899089908990600401614fc8565b5f604051808303815f87803b158015613983575f80fd5b505af1158015613192573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106139cc576139cc614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611548565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613a5b57613a5b614b27565b60209081029190910101525f613ab27f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611548565b90506107a08160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613af557613af5614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611548565b5f8282604051602001613b61929190614d3e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613bb15750835182115b15613bee578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161028c9392919061500e565b60208401613bfc8482614290565b90505f613c098585614bc3565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61093e8360155f61408a565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613c7557613c75614b27565b60209081029190910101525f8080613ccd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611589565b925092509250610905838383614102565b5f6060836001600160a01b03165f613cf785898961410d565b604051613d049190615032565b5f6040518083038185875af1925050503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613d6984888861410d565b604051613d769190615032565b5f60405180830381855af49150503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613de557613de5614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110613e1057613e10614b27565b60209081029190910101525f613e677f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611548565b9050610b4b8160f81c90565b5f64ffffffffff821115613eb6576040517f7149a3c10000000000000000000000000000000000000000000000000000000081526004810183905260240161028c565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613ee85780850382019150613ef0565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215613fb85760208310613f6a57602083048401935060208381613f6657613f66614d78565b0692505b8215613fb85760208390035f5f19600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613fa957505061190f565b50600194909401939182900391015b5b60208210613fda5780518455600190930192601f1990910190602001613fb9565b811561190f575f5f19600884021c8554835182191691161785555050505050565b5f602061400983601f614290565b614013919061504d565b61401d9084614290565b90505b80831015610840575f8355600183019250614020565b5f6140408361413c565b801561093e575061093e8383614187565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b03168061244d573391505090565b60605f6140978560801c90565b90506fffffffffffffffffffffffffffffffff85165f8582816140bc576140bc614d78565b0490506040519350602084016020820281016040528185525f5b828110156140f6578451871c8252938701936020909101906001016140d6565b50505050509392505050565b5f806116958561423b565b60608383836040516020016141249392919061506c565b60405160208183030381529060405290509392505050565b5f614167827f01ffc9a700000000000000000000000000000000000000000000000000000000614187565b8015610da05750614180826001600160e01b0319614187565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f519050828015614225575060208210155b801561423057505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c6127e8565b80516020808301519190811015614276575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610da057610da061427c565b5f8083601f8401126142b3575f80fd5b50813567ffffffffffffffff8111156142ca575f80fd5b6020830191508360208260051b85010111156142e4575f80fd5b9250929050565b803560ff8116811461244d575f80fd5b5f805f805f6080868803121561430f575f80fd5b85359450602086013567ffffffffffffffff81111561432c575f80fd5b614338888289016142a3565b909550935061434b9050604087016142eb565b949793965091946060013592915050565b5f5b8381101561437657818101518382015260200161435e565b50505f910152565b5f815180845261439581602086016020860161435c565b601f01601f19169290920160200192915050565b602081525f61093e602083018461437e565b5f8083601f8401126143cb575f80fd5b50813567ffffffffffffffff8111156143e2575f80fd5b6020830191508360208285010111156142e4575f80fd5b5f805f805f806080878903121561440e575f80fd5b86359550602087013567ffffffffffffffff8082111561442c575f80fd5b6144388a838b016142a3565b909750955085915061444c60408a016142eb565b94506060890135915080821115614461575f80fd5b5061446e89828a016143bb565b979a9699509497509295939492505050565b5f805f8060608587031215614493575f80fd5b84359350602085013567ffffffffffffffff8111156144b0575f80fd5b6144bc878288016142a3565b90945092506144cf9050604086016142eb565b905092959194509250565b5f805f805f805f8060a0898b0312156144f1575f80fd5b88359750602089013567ffffffffffffffff8082111561450f575f80fd5b61451b8c838d016142a3565b909950975060408b0135915080821115614533575f80fd5b61453f8c838d016143bb565b909750955060608b0135945060808b013591508082111561455e575f80fd5b5061456b8b828c016143bb565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a031215614595575f80fd5b87359650602088013567ffffffffffffffff808211156145b3575f80fd5b6145bf8b838c016142a3565b90985096508691506145d360408b016142eb565b955060608a01359150808211156145e8575f80fd5b506145f58a828b016143bb565b989b979a50959894979596608090950135949350505050565b5f6020828403121561461e575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561466257614662614625565b604052919050565b5f82601f830112614679575f80fd5b813567ffffffffffffffff81111561469357614693614625565b6146a66020601f19601f84011601614639565b8181528460208386010111156146ba575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156146e7575f80fd5b82359150602083013567ffffffffffffffff811115614704575f80fd5b6147108582860161466a565b9150509250929050565b5f805f806060858703121561472d575f80fd5b84359350602085013567ffffffffffffffff81111561474a575f80fd5b614756878288016142a3565b9598909750949560400135949350505050565b606081525f61477b606083018661437e565b8460208401528281036040840152610967818561437e565b5f82601f8301126147a2575f80fd5b8135602067ffffffffffffffff8211156147be576147be614625565b8160051b6147cd828201614639565b92835284810182019282810190878511156147e6575f80fd5b83870192505b84831015614230578235825291830191908301906147ec565b5f805f805f60a08688031215614819575f80fd5b85359450602086013567ffffffffffffffff811115614836575f80fd5b61484288828901614793565b945050614851604087016142eb565b94979396509394606081013594506080013592915050565b5f805f6040848603121561487b575f80fd5b83359250602084013567ffffffffffffffff811115614898575f80fd5b6148a4868287016142a3565b9497909650939450505050565b6001600160a01b038116811461136f575f80fd5b5f805f606084860312156148d7575f80fd5b83356148e2816148b1565b925060208401359150604084013567ffffffffffffffff811115614904575f80fd5b6149108682870161466a565b9150509250925092565b5f805f806080858703121561492d575f80fd5b84359350602085013567ffffffffffffffff81111561494a575f80fd5b61495687828801614793565b935050614965604086016142eb565b9396929550929360600135925050565b5f805f60608486031215614987575f80fd5b83359250602084013567ffffffffffffffff8111156149a4575f80fd5b6149b086828701614793565b9250506149bf604085016142eb565b90509250925092565b5f80604083850312156149d9575f80fd5b82356149e4816148b1565b9150602083013567ffffffffffffffff811115614704575f80fd5b5f805f805f8060808789031215614a14575f80fd5b86359550602087013567ffffffffffffffff80821115614a32575f80fd5b614a3e8a838b016142a3565b90975095506040890135915065ffffffffffff82168214614a5d575f80fd5b90935060608801359080821115614461575f80fd5b803564ffffffffff8116811461244d575f80fd5b5f805f805f805f8060c0898b031215614a9d575f80fd5b88359750602089013567ffffffffffffffff80821115614abb575f80fd5b614ac78c838d016142a3565b9099509750879150614adb60408c016142eb565b9650614ae960608c01614a72565b9550614af760808c01614a72565b945060a08b013591508082111561455e575f80fd5b5f60208284031215614b1c575f80fd5b813561093e816148b1565b634e487b7160e01b5f52603260045260245ffd5b604081525f614b4d604083018561437e565b90506001600160a01b03831660208301529392505050565b5f60ff821660ff8103614b7a57614b7a61427c565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610b4b606083018461437e565b60ff8281168282160390811115610da057610da061427c565b81810381811115610da057610da061427c565b5f60208284031215614be6575f80fd5b8151801515811461093e575f80fd5b5f815180845260208085019450602084015f5b83811015614c2457815187529582019590820190600101614c08565b509495945050505050565b606081525f614c416060830186614bf5565b65ffffffffffff851660208401528281036040840152610967818561437e565b848152608060208201525f614c796080830186614bf5565b65ffffffffffff851660408401528281036060840152614230818561437e565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614cf981600386016020890161435c565b808401905081600382015284519150614d1982600483016020880161435c565b0160040195945050505050565b828152604060208201525f6107a0604083018461437e565b8281525f60208083018451602086015f5b82811015614d6b57815184529284019290840190600101614d4f565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610da057610da061427c565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610b4b606083018461437e565b64ffffffffff818116838216019080821115614e0157614e0161427c565b5092915050565b87815260e060208201525f614e2060e0830189614bf5565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152614e57818561437e565b9a9950505050505050505050565b60c081525f614e7760c0830189614bf5565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152611b55818561437e565b608081525f614ec56080830187614bf5565b8281036020840152614ed7818761437e565b90508460408401528281036060840152614230818561437e565b86815260c060208201525f614f0960c0830188614bf5565b8281036040840152614f1b818861437e565b90508560608401528281036080840152614f35818661437e565b9150508260a0830152979650505050505050565b602081525f61093e6020830184614bf5565b838152606060208201525f614f736060830185614bf5565b9050826040830152949350505050565b848152608060208201525f614f9b6080830186614bf5565b60ff949094166040830152506060015292915050565b5f60208284031215614fc1575f80fd5b5051919050565b85815260a060208201525f614fe060a0830187614bf5565b60ff861660408401528281036060840152614ffb818661437e565b9150508260808301529695505050505050565b606081525f615020606083018661437e565b60208301949094525060400152919050565b5f825161504381846020870161435c565b9190910192915050565b5f8261506757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161507d81846020890161435c565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1829:15502:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:116;;;-1:-1:-1;;;625:63:116;;;197:92:162;16425:19:90;305:11:162;;;298:100;;;414:12;;;407:101;;;16425:19:90;16447:32;;524:12:162;625:63:116;;;;;;;;;;;;617:72;;;:::i;:::-;16447:13:90;:32::i;:::-;625:63:116;;;-1:-1:-1;;;625:63:116;;;197:92:162;662:14:116;305:11:162;;;298:100;;;414:12;;;407:101;16425:54:90;;-1:-1:-1;16485:57:90;;524:12:162;625:63:116;;;;;;;;;;;;617:72;;;:::i;:::-;16518:23:90;16532:9;16518:11;:23;:::i;:::-;16485:13;:57::i;:::-;16419:128;1829:15502;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;;;;;;;;2933:88;16688:19:::1;16709:29:::0;16742:31:::1;16765:7;;-1:-1:-1::0;;;;;;16765:7:90::1;16742:22;:31::i;:::-;16687:86;;;;16802:8;16815:1;16784:32:::0;::::1;::::0;16780:84:::1;;16825:39;::::0;::::1;::::0;;-1:-1:-1;;;;;;16856:7:90::1;;;16825:39;::::0;::::1;1372:98:162::0;1345:18;;16825:39:90::1;1228:248:162::0;16780:84:90::1;16954:21;16978:52;16994:8;;16978:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;16978:52:90;-1:-1:-1;17007:22:90;;-1:-1:-1;16978:15:90::1;::::0;-1:-1:-1;16978:52:90:i:1;:::-;16954:76;;17088:23;17114:75;17147:10;17159:8;17169;17179:9;17114:32;:75::i;:::-;17088:101;;17307:10;17301:17;17294:4;17282:10;17278:21;17271:48;1975:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:162;;;1627:74;;1615:2;1600:18;1975:32:90;;;;;;;;4012:258:28;;;;;;;;;;-1:-1:-1;4012:258:28;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8232:350:90:-;;;;;;;;;;-1:-1:-1;8232:350:90;;;;;:::i;:::-;;:::i;11448:400::-;;;;;;;;;;-1:-1:-1;11448:400:90;;;;;:::i;:::-;;:::i;5279:244:28:-;;;;;;;;;;-1:-1:-1;5279:244:28;;;;;:::i;:::-;;:::i;5730:431:90:-;;;;;;;;;;-1:-1:-1;5730:431:90;;;;;:::i;:::-;;:::i;8991:392::-;;;;;;;;;;-1:-1:-1;8991:392:90;;;;;:::i;:::-;;:::i;9915:404::-;;;;;;;;;;-1:-1:-1;9915:404:90;;;;;:::i;:::-;;:::i;779:156:28:-;;;;;;;;;;-1:-1:-1;779:156:28;;;;;:::i;:::-;;:::i;:::-;;;8307:25:162;;;8295:2;8280:18;779:156:28;8129:209:162;13744:234:90;;;;;;:::i;:::-;;:::i;2673:289:28:-;;;;;;;;;;-1:-1:-1;2673:289:28;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7802:295::-;;;;;;;;;;-1:-1:-1;7802:295:28;;;;;:::i;:::-;;:::i;12983:285:90:-;;;;;;;;;;-1:-1:-1;12983:285:90;;;;;:::i;:::-;;:::i;2069:85::-;;;;;;;;;;-1:-1:-1;2136:13:90;2069:85;;14378:1732;;;;;;:::i;:::-;;:::i;4667:265:28:-;;;;;;;;;;-1:-1:-1;4667:265:28;;;;;:::i;:::-;;:::i;6537:258::-;;;;;;;;;;-1:-1:-1;6537:258:28;;;;;:::i;:::-;;:::i;5985:216::-;;;;;;;;;;-1:-1:-1;5985:216:28;;;;;:::i;:::-;;:::i;4059:213:90:-;;;;;;;;;;-1:-1:-1;4059:213:90;;;;;:::i;:::-;;:::i;6530:370::-;;;;;;;;;;-1:-1:-1;6530:370:90;;;;;:::i;:::-;;:::i;7424:480::-;;;;;;;;;;-1:-1:-1;7424:480:90;;;;;:::i;:::-;;:::i;3262:553::-;;;;;;;;;;-1:-1:-1;3262:553:90;;;;;:::i;:::-;;:::i;1974:247:28:-;;;;;;;;;;-1:-1:-1;1974:247:28;;;;;:::i;:::-;;:::i;3441:216::-;;;;;;;;;;-1:-1:-1;3441:216:28;;;;;:::i;:::-;;:::i;1454:143::-;;;;;;;;;;-1:-1:-1;1454:143:28;;;;;:::i;:::-;;:::i;12287:405:90:-;;;;;;;;;;-1:-1:-1;12287:405:90;;;;;:::i;:::-;;:::i;7118:244:28:-;;;;;;;;;;-1:-1:-1;7118:244:28;;;;;:::i;:::-;;:::i;1122:151::-;;;;;;;;;;-1:-1:-1;1122:151:28;;;;;:::i;:::-;;:::i;10685:378:90:-;;;;;;;;;;-1:-1:-1;10685:378:90;;;;;:::i;:::-;;:::i;3758:308:104:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:104;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:104;:62::i;:::-;3945:78;3758:308;-1:-1:-1;;;;3758:308:104:o;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:104;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;19370:19:162;;19414:2;19405:12;;19241:182;5279:27:104;;;;-1:-1:-1;;5279:27:104;;;;;;;;;-1:-1:-1;;;5230:24:104;:91::i;:::-;5121:205;5057:269;;:::o;6324:470:105:-;6486:16;;;6500:1;6486:16;;;;;;;;;6399:19;;;;;;6486:16;;;;;;;;;;;-1:-1:-1;6486:16:105;6457:45;;6531:21;6523:30;;;6508:9;6518:1;6508:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6561:24;;;6648:78;1174:66;6691:9;1303:66;6648:19;:78::i;:::-;6560:166;;;;;;6739:50;6746:11;6759:15;6776:12;6739:6;:50::i;:::-;6732:57;;;;;;;;6324:470;;;:::o;1563:492:2:-;1744:28;;;1759:4;1744:28;1738:35;;1847:9;1836:21;1903:20;;1961:43;;1752:5;1563:492;;;;;;:::o;7661:401:87:-;7805:17;7831:12;7845:23;7872:115;7902:6;7946:8;7972;7923:5;7872:13;:115::i;:::-;7830:157;;;;7998:7;7993:41;;8007:27;8023:10;8007:15;:27::i;:::-;8047:10;7661:401;-1:-1:-1;;;;;;7661:401:87:o;4012:258:28:-;4171:17;4203:62;4222:7;4231:8;;4203:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4241:10:28;;-1:-1:-1;4253:11:28;;-1:-1:-1;4203:18:28;;-1:-1:-1;4203:62:28:i;8232:350:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;8445:49:::1;8474:7;8483:10;8445:28;:49::i;:::-;8522:55;8541:7;8550:8;;8522:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8522:55:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8560:10;;-1:-1:-1;8522:55:90;-1:-1:-1;8572:4:90;;;;;;8522:55;::::1;8572:4:::0;;;;8522:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8522:18:90::1;::::0;-1:-1:-1;;;8522:55:90:i:1;:::-;8232:350:::0;;;;;;:::o;11448:400::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;11684:49:::1;11713:7;11722:10;11684:28;:49::i;:::-;11765:78;11794:7;11803:8;;11765:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11765:78:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11813:17;;-1:-1:-1;11765:78:90;-1:-1:-1;11832:10:90;;;;;;11765:78;::::1;11832:10:::0;;;;11765:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11765:28:90::1;::::0;-1:-1:-1;;;11765:78:90:i:1;5279:244:28:-:0;5423:17;5455:63;5481:7;5490:8;;5455:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5500:17:28;;-1:-1:-1;5455:25:28;;-1:-1:-1;;5455:63:28:i;:::-;5448:70;5279:244;-1:-1:-1;;;;;5279:244:28:o;5730:431:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;5999:49:::1;6028:7;6037:10;5999:28;:49::i;:::-;6077:79;6097:7;6106:8;;6077:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6077:79:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;6116:10:90;;-1:-1:-1;6116:10:90;;;;6077:79;::::1;6116:10:::0;;;;6077:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;6077:79:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6128:14;;-1:-1:-1;6077:79:90;-1:-1:-1;6144:11:90;;;;;;6077:79;::::1;6144:11:::0;;;;6077:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6077:19:90::1;::::0;-1:-1:-1;;;6077:79:90:i:1;:::-;5730:431:::0;;;;;;;;:::o;8991:392::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;9233:49:::1;9262:7;9271:10;9233:28;:49::i;:::-;9310:68;9329:7;9338:8;;9310:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9310:68:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9348:10;;-1:-1:-1;9310:68:90;-1:-1:-1;9360:4:90;;;;;;9310:68;::::1;9360:4:::0;;;;9310:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9366:11:90;;-1:-1:-1;9310:18:90::1;::::0;-1:-1:-1;;9310:68:90:i:1;:::-;8991:392:::0;;;;;;;:::o;9915:404::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;10163:49:::1;10192:7;10201:10;10163:28;:49::i;:::-;10240:74;10265:7;10274:8;;10240:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10240:74:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10284:10;;-1:-1:-1;10240:74:90;-1:-1:-1;10296:4:90;;;;;;10240:74;::::1;10296:4:::0;;;;10240:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10302:11:90;;-1:-1:-1;10240:24:90::1;::::0;-1:-1:-1;;10240:74:90:i:1;779:156:28:-:0;852:23;897:33;922:7;897:24;:33::i;:::-;883:47;779:156;-1:-1:-1;;779:156:28:o;13744:234:90:-;13871:12;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;13898:75:::1;13931:10;13943:8;13953;13963:9;13898:32;:75::i;2673:289:28:-:0;2811:23;2836:29;2867:24;2906:51;2926:7;2935:8;;2906:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2945:11:28;;-1:-1:-1;2906:19:28;;-1:-1:-1;;2906:51:28:i;:::-;2899:58;;;;;;2673:289;;;;;;;;:::o;7802:295::-;7985:12;8012:80;8043:7;8052:8;8062:17;8081:5;8088:3;8012:30;:80::i;12983:285:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;13141:49:::1;13170:7;13179:10;13141:28;:49::i;:::-;13222:41;13245:7;13254:8;;13222:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13222:22:90::1;::::0;-1:-1:-1;;;13222:41:90:i:1;14378:1732::-:0;14532:12;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;14633:10:::1;-1:-1:-1::0;;;;;14620:23:90;::::1;::::0;14616:126:::1;;14660:75;14693:10;14705:8;14715;14725:9;14660:32;:75::i;:::-;14653:82;;;;14616:126;14863:33;14899:75;14939:9;14961:10;14899:26;:75::i;:::-;14863:111;;14985:84;15003:22;15027:9;15038:10;15050:8;15060;14985:17;:84::i;:::-;14981:227;;;15127:74;15160:9;15171:8;15181;15191:9;15127:32;:74::i;:::-;15120:81;;;;;14981:227;15282:35;15320:75;15360:9;15390:1;15320:26;:75::i;:::-;15282:113;;15405:86;15423:24;15449:9;15460:10;15472:8;15482;15405:17;:86::i;:::-;15401:229;;;15549:74;15582:9;15593:8;15603;15613:9;15549:32;:74::i;:::-;15542:81;;;;;;15401:229;15704:40;15747:58;-1:-1:-1::0;;;578:36:95;2955:46;;2954:74;15747:31:90::1;:58::i;:::-;15704:101;;15815:91;15833:29;15864:9;15875:10;15887:8;15897;15815:17;:91::i;:::-;15811:234;;;15964:74;15997:9;16008:8;16018;16028:9;15964:32;:74::i;:::-;15957:81;;;;;;;15811:234;16058:47;::::0;::::1;::::0;;-1:-1:-1;;;;;19681:15:162;;16058:47:90::1;::::0;::::1;19663:34:162::0;16094:10:90::1;19713:18:162::0;;;19706:43;19575:18;;16058:47:90::1;19428:327:162::0;4667:265:28;4832:12;4859:68;4884:7;4893:8;;4859:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4903:10:28;;-1:-1:-1;4915:11:28;;-1:-1:-1;4859:24:28;;-1:-1:-1;4859:68:28:i;6537:258::-;6700:7;6722:68;6747:7;6756:8;6766:10;6778:11;6722:24;:68::i;5985:216::-;6119:7;6141:55;6166:7;6175:8;6185:10;6141:24;:55::i;4059:213:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;625:63:116::1;::::0;;-1:-1:-1;;;625:63:116::1;::::0;::::1;197:92:162::0;662:14:116::1;305:11:162::0;;;298:100;;;414:12;;;407:101;4164:58:90::1;::::0;524:12:162;625:63:116::1;;;;;;;;;;;;617:72;;;:::i;:::-;4211:10:90;4164:27;:58::i;:::-;4228:39;4247:6;4255:11;4228:18;:39::i;:::-;4059:213:::0;;:::o;6530:370::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;6751:49:::1;6780:7;6789:10;6751:28;:49::i;:::-;6837:58;6864:7;6873:8;;6837:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6837:58:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6883:5;;-1:-1:-1;6837:58:90;-1:-1:-1;6890:4:90;;;;;;6837:58;::::1;6890:4:::0;;;;6837:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6837:26:90::1;::::0;-1:-1:-1;;;6837:58:90:i:1;7424:480::-:0;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;7710:49:::1;7739:7;7748:10;7710:28;:49::i;:::-;7797:102;7825:7;7834:8;;7797:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7797:102:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7844:17;;-1:-1:-1;7863:16:90;;-1:-1:-1;7881:11:90;;7894:4;;;;;;7797:102;::::1;7894:4:::0;;;;7797:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7797:27:90::1;::::0;-1:-1:-1;;;7797:102:90:i:1;3262:553::-:0;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;3405:10:::1;-1:-1:-1::0;;;;;3419:7:90::1;3405:21;;3401:109;;625:63:116;::::0;;-1:-1:-1;;;625:63:116::1;::::0;::::1;197:92:162::0;662:14:116::1;305:11:162::0;;;298:100;;;414:12;;;407:101;3462:28:90::1;::::0;524:12:162;625:63:116::1;;;;;;;;;;;;617:72;;;:::i;:::-;3462:26:90;:28::i;:::-;3492:10;3443:60;;;;;;;;;;;;:::i;3401:109::-;3601:1;3566:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;3566:37:90::1;;3562:91;;3620:26;;;;;;;;;;;;;;3562:91;3659:42;3689:10;3659:21;:42::i;:::-;3797:12;::::0;;3807:1:::1;3797:12:::0;;::::1;::::0;::::1;::::0;;;3766:44:::1;::::0;3785:10;;3766:18:::1;:44::i;:::-;3262:553:::0;:::o;1974:247:28:-;2083:23;2108:29;2139:24;2178:38;2198:7;2207:8;;2178:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2178:19:28;;-1:-1:-1;;;2178:38:28:i;:::-;2171:45;;;;;;1974:247;;;;;;;:::o;3441:216::-;3571:17;3603:49;3622:7;3631:8;;3603:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3641:10:28;;-1:-1:-1;3603:18:28;;-1:-1:-1;;3603:49:28:i;1454:143::-;1525:16;1561:31;1584:7;1561:22;:31::i;12287:405:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;12522:49:::1;12551:7;12560:10;12522:28;:49::i;:::-;12603:84;12633:7;12642:8;;12603:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12652:17:90;;-1:-1:-1;12671:15:90;;-1:-1:-1;12603:29:90::1;::::0;-1:-1:-1;12603:84:90:i:1;:::-;12287:405:::0;;;;;:::o;7118:244:28:-;7266:7;7288:69;7320:7;7329:8;7339:17;7288:31;:69::i;1122:151::-;1195:18;1235:33;1260:7;1235:24;:33::i;10685:378:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:162;1345:18;;2981:33:90;1228:248:162;2933:88:90;10912:49:::1;10941:7;10950:10;10912:28;:49::i;:::-;10989:69;11015:7;11024:8;;10989:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10989:69:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11034:17;;-1:-1:-1;10989:69:90;-1:-1:-1;11053:4:90;;;;;;10989:69;::::1;11053:4:::0;;;;10989:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10989:25:90::1;::::0;-1:-1:-1;;;10989:69:90:i:1;36171:541:25:-:0;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;36635:63:25;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;32759:1315::-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:25;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:3;;;33532:33:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:25;-1:-1:-1;33518:47:25;-1:-1:-1;894:4:19;884:15;;33573:21:25;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:25;33808:25;:14;33831:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:25;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;8363:236:105:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:105;-1:-1:-1;;;;8363:236:105:o;6185:1003:87:-;6321:12;6335:17;6384:22;6409:26;6426:8;6409:16;:26::i;:::-;6384:51;;6512:9;6507:228;6527:5;:12;6523:1;:16;6507:228;;;6554:9;6576:5;6582:1;6576:8;;;;;;;;:::i;:::-;;;;;;;6554:31;;6597:34;458:6:134;6597:4:87;:14;;;;;:34;;;;:::i;:::-;6593:136;;;6643:77;;;;;3536:35:5;;;;;6643:49:87;;:77;;6693:6;;6701:8;;6711;;6643:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6593:136;-1:-1:-1;6541:3:87;;6507:228;;;;6810:78;6825:6;6840:5;6857:8;6877;6810:4;:78::i;:::-;6792:96;;-1:-1:-1;6792:96:87;-1:-1:-1;6963:9:87;6958:226;6978:5;:12;6974:1;:16;6958:226;;;7005:9;7027:5;7033:1;7027:8;;;;;;;;:::i;:::-;;;;;;;7005:31;;7048:33;586:6:134;7048:4:87;:14;;;;;:33;;;;:::i;:::-;7044:134;;;7093:76;;;;;3536:35:5;;;;;7093:48:87;;:76;;7142:6;;7150:8;;7160;;7093:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7044:134;-1:-1:-1;6992:3:87;;6958:226;;;;6354:834;6185:1003;;;;;;;:::o;348:217:133:-;551:6;545:13;538:4;530:6;526:17;519:40;35124:440:25;35275:12;35312:29;:11;:27;:29::i;:::-;35299:10;:42;;;35295:265;;;35358:82;35397:7;35406:8;35416:10;35428:11;35358:38;:82::i;:::-;35351:89;;;;35295:265;35468:85;35484:7;35493:8;35522:29;:11;:27;:29::i;:::-;35503:49;;:10;:49;:::i;:::-;35468:15;:85::i;2926:283:66:-;3089:30;3100:10;3112:6;3089:10;:30::i;:::-;3084:121;;3168:21;:10;:19;:21::i;:::-;3191:6;3136:62;;;;;;;;;;;;:::i;20949:192:25:-;21066:70;21075:7;21084:8;21094:10;21106:4;21112:23;21127:7;21112:14;:23::i;:::-;21066:8;:70::i;:::-;20949:192;;;;:::o;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:25;29171:49;29023:106;29202:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:25;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:25;37440:12;:257::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;22040:409::-;22223:29;:11;:27;:29::i;:::-;22210:10;:42;;;22206:239;;;22262:64;22277:7;22286:8;22296:10;22308:4;22314:11;22262:14;:64::i;:::-;22206:239;;;22347:91;22363:7;22372:8;22401:29;:11;:27;:29::i;:::-;22382:49;;:10;:49;:::i;:::-;22433:4;22347:15;:91::i;4015:652::-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1336:66:34;;4015:652:25;-1:-1:-1;4015:652:25:o;4314:111::-;4469:185;4515:85;1207:66:34;4591:7:25;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;40903:1149::-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;;;;;;;21058:25:162;;;21099:18;;;21092:34;;;21031:18;;41173:44:25;20884:248:162;41141:83:25;41433:29;41465:66;41513:7;41522:8;41465:47;:66::i;:::-;41433:98;-1:-1:-1;41537:19:25;41559:41;41433:98;41582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;41559:41:25;41537:63;;41619:11;41610:5;:20;;:41;;;;41640:11;41634:3;:17;41610:41;41606:157;;;41704:11;41726;41717:5;:20;;:38;;41748:7;41754:1;41748:3;:7;:::i;:::-;41717:38;;;41740:5;41717:38;41668:88;;;;;;;;21058:25:162;;;;21099:18;;;21092:34;21031:18;;41668:88:25;20884:248:162;41606:157:25;41833:16;41852:79;41894:7;41903:8;41913:17;41852:41;:79::i;:::-;41833:98;;41963:78;41994:8;42012:5;42033;42027:3;:11;41963:12;:78::i;:::-;41956:85;40903:1149;-1:-1:-1;;;;;;;;;40903:1149:25:o;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;4219:406:115:-;4361:16;;;4375:1;4361:16;;;;;;;;4294:30;;;;4361:16;4375:1;4361:16;;;;;;;;;;-1:-1:-1;4361:16:115;4332:45;;4422:9;-1:-1:-1;;;;;4406:27:115;4398:36;;4383:9;4393:1;4383:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;4479:9;-1:-1:-1;;;;;4463:27:115;4455:36;;4440:9;4450:1;4440:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;4498:13;4514:62;1178:66;4549:9;4498:13;-1:-1:-1;;;4514:24:115;:62::i;2194:811:69:-;2366:4;2438:32;2450:19;2438:11;:32::i;:::-;2434:49;;;-1:-1:-1;2479:4:69;2472:11;;2434:49;810:53;2542:46;;-1:-1:-1;2583:5:69;2576:12;;2542:46;2702:12;2716:17;2737:193;2769:9;2922:1;2796:19;2876:9;2887:8;2897;2833:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2833:74:69;;;;;;;;;;;;;;;;;;;;2737:15;:193::i;:::-;2701:229;;;;2942:7;2937:26;;2958:5;2951:12;;;;;;2937:26;2987:4;2976:24;;;;;;;;;;;;:::i;:::-;2969:31;2194:811;-1:-1:-1;;;;;;;;2194:811:69:o;3931:329:109:-;4059:16;;;4073:1;4059:16;;;;;;;;;3992:30;;;;4059:16;;;;;;;;;;;;-1:-1:-1;4059:16:109;4030:45;;4114:11;4081:9;4091:1;4081:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4133:13;4149:62;1183:66;4184:9;4133:13;-1:-1:-1;;;4149:24:109;:62::i;38966:427:25:-;39123:7;39138:21;39168:29;:11;:27;:29::i;:::-;39138:60;;39221:15;39208:28;;:10;:28;;;39204:185;;;39253:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;39253:31:25;39246:38;;;;;39204:185;39312:70;39334:7;39343:8;39353:28;39366:15;39353:10;:28;:::i;:::-;39312:21;:70::i;38319:225::-;38447:7;38469:70;38484:7;38493:8;38503:10;38515:23;38530:7;38515:14;:23::i;:::-;38469:14;:70::i;4186:234:66:-;-1:-1:-1;;;;;4272:58:66;;:48;-1:-1:-1;;;578:36:95;2955:46;;2954:74;4272:19:66;:48::i;:::-;-1:-1:-1;;;;;4272:58:66;;4268:148;;4379:21;:10;:19;:21::i;4464:570:90:-;4620:60;4645:6;4654:25;4620:16;:60::i;:::-;4687:210;4762:10;4790:1;4815:6;4877:11;4840:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4840:50:90;;;;;;;;;;;;;;;;;;;;4687:55;:210::i;:::-;;4961:68;4991:6;5010:11;5000:22;;;;;;5024:4;4961:21;:68::i;17013:1682:25:-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:37;17798:4:25;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:5;;;;;17851:54:25;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:25;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:37;18455:4:25;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:5;;;;;18507:53:25;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:25;;18365:326;;19594:539;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;3486:592:95:-;3550:13;3620:10;451:5:20;2637:44:95;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:95;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;3133:234:107:-;3221:16;;;3171:13;3221:16;;;;;;;;;3244:13;3260:64;1085:66;3192:45;3244:13;1214:66;3260:26;:64::i;:::-;3338:23;;;3133:234;-1:-1:-1;;;3133:234:107:o;4151:191::-;4223:16;;;4194:26;4223:16;;;;;;;;24211:2:162;24207:15;;;24224:66;24203:88;4297:25:107;;;24191:101:162;4297:25:107;;;;;24308:12:162;4297:25:107;;;24308:12:162;;;4297:25:107;;;4223:16;;4246:91;;1085:66;;4223:16;;4194:26;1214:66;4246:26;:91::i;31958:254:25:-;32059:23;32084:29;32115:24;32154:53;32164:7;32173:8;32183:23;32198:7;32183:14;:23::i;:::-;32154:9;:53::i;:::-;32147:60;;;;;;31958:254;;;;;:::o;34503:218::-;34625:12;34652:64;34661:7;34670:8;34680:10;34692:23;34707:7;34692:14;:23::i;:::-;34652:8;:64::i;4927:379::-;4992:16;5028:29;5049:7;5028:20;:29::i;:::-;5016:41;;5171:31;5194:7;5171:22;:31::i;:::-;5166:136;;5252:7;5285;5268:25;;;;;;19370:19:162;;19414:2;19405:12;;19241:182;5268:25:25;;;;-1:-1:-1;;5268:25:25;;;;;;;;;;5219:76;;;;;;;;;:::i;5166:136::-;4927:379;;;:::o;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:25;30643:49;30495:106;30674:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:25;30607:86;-1:-1:-1;30731:333:25;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;5574:273::-;5641:18;5681:31;5704:7;5681:22;:31::i;:::-;5667:45;-1:-1:-1;5550:35:21;5718:125:25;;5793:7;5826;5809:25;;;;;;19370:19:162;;19414:2;19405:12;;19241:182;24152:738:25;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:25;24551:49;24403:106;24582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:25;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:25;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:25:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:4;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;52003:32:25;;:::i;:::-;;-1:-1:-1;51990:3:25;;51958:84;;;-1:-1:-1;52054:6:25;51823:242;-1:-1:-1;;;51823:242:25:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4598:171:4:-;4672:7;579:1:35;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;48823:360:25:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:25;;;;;;;;;-1:-1:-1;48986:9:25;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:4:-;5451:7;579:1:35;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:4;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:4:o;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;52742:274:25;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:35;804:25:36;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:35;804:25:36;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:35;804:25:36;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;7963:242:105:-;35423:4:2;35409:27;;35403:34;35409:27;;;35403:34;8028:19:105;;8173:26;8147:53;;7963:242;;;:::o;3857:344:112:-;3974:16;;;3988:1;3974:16;;;;;;;;;3915:22;;3945:26;;3974:16;;;;;;;;;;;;-1:-1:-1;3974:16:112;3945:45;;4029:8;3996:9;4006:1;3996:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4045:18;4066:49;1163:66;4102:9;4045:18;4066:25;:49::i;:::-;4045:70;;4129:66;:44;4150:5;4157:1;4160:5;:12;4129:20;:44::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1387:87:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:87;-1:-1:-1;;;;;;2067:27:87;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:65;;2289:46;2318:8;2328:6;2289:28;:46::i;:::-;2414:9;;2410:197;;578:36:95;2955:46;;-1:-1:-1;;;2954:74:95;2433:22:87;2516:26;2954:74:95;2516:13:87;:26::i;:::-;2491:51;-1:-1:-1;2550:50:87;2564:11;2577:22;2594:5;2491:51;2577:22;:::i;2550:50::-;2425:182;;2410:197;2709:14;2682:23;:8;451:5:20;2637:44:95;;2539:148;2682:23:87;:41;;;:461;;2983:160;3044:6;3070:5;3093:13;3126:8;2983:39;:160::i;:::-;2682:461;;;2806:168;2875:6;2901:5;2924:13;2957:8;2806:47;:168::i;:::-;2664:479;;;;-1:-1:-1;1761:1387:87;-1:-1:-1;;;;;;;1761:1387:87:o;4979:171:4:-;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;49648:511:25:-;49811:12;49953:201;49992:41;50015:7;50024:8;49992:22;:41::i;:::-;50051:45;50072:11;50085:10;50051:20;:45::i;:::-;50114:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;37440:12:25;:257::i;1670:328:66:-;1752:4;1894:56;-1:-1:-1;;;578:36:95;2955:46;;2954:74;1943:6:66;1894:19;:56::i;:::-;:99;;;;1954:39;1974:10;1986:6;1954:19;:39::i;44254:4001:25:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;19370:19:162;;19414:2;19405:12;;19241:182;44775:25:25;;;;-1:-1:-1;;44775:25:25;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:25;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:25;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26734:12:162;26773:15;;;45340:92:25;;;26755:34:162;26825:15;;;26805:18;;;26798:43;26877:15;;26857:18;;;26850:43;26697:18;;45340:92:25;26528:371:162;45221:218:25;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;27077:25:162;;;27150:12;27138:25;;27118:18;;;27111:53;27050:18;;45581:74:25;26904:266:162;45522:140:25;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:37;46104:4:25;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:5;;;;-1:-1:-1;;;;;46158:55:25;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:25;;46014:486;;;-1:-1:-1;46558:32:25;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:25;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:23;;;-1:-1:-1;47216:248:25;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:37;47858:4:25;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:5;;;;-1:-1:-1;;;;;47911:54:25;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:25;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;5042:669:23:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;13212:3165:25:-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:37;13976:4:25;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:5;;;;;14021:47:25;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:25;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:25;894:4:19;884:15;;14520:54:25;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:23;;;14915:102:25;-1:-1:-1;894:4:19;884:15;;15191:47:25;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:25;:14;15615:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:25;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:25;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:37;16125:4:25;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:5;;;;;16169:46:25;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:25;;16035:338;;;;13422:2955;;;13212:3165;;;;;;:::o;51249:282::-;51494:30;;;;;;30654:19:162;;;30689:12;;;30682:28;;;51337:7:25;;30726:12:162;;51494:30:25;30466:278:162;26296:1804:25;26484:23;26463:7;:44;;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:37;26918:4:25;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:5;;;;;26966:50:25;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:25;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:25;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:37;27953:4:25;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:5;;;;;28000:49:25;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:25;;27863:233;;1129:181:69;764:71:116;;;781:15;764:71;;;197:92:162;1205:4:69;305:11:162;;;298:100;;;814:20:116;414:12:162;;;407:101;1205:4:69;524:12:162;764:71:116;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:69;;;;1129:181;-1:-1:-1;1129:181:69:o;3750:306:110:-;3861:16;;;3875:1;3861:16;;;;;;;;;3811:13;;;;3861:16;;;;;;;;;;;;-1:-1:-1;3861:16:110;3832:45;;3916:11;3883:9;3893:1;3883:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3935:13;3951:62;1169:66;3986:9;3935:13;1298:66;3951:24;:62::i;:::-;4027:23;;;3750:306;-1:-1:-1;;;;3750:306:110:o;692:238:130:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;31676:55:162;;853:70:130;;;31658:74:162;-1:-1:-1;;;;;;31768:79:162;;31748:18;;;31741:107;31631:18;;853:70:130;31486:368:162;8785:415:91;8940:17;8966:12;8980:18;9002:133;9045:9;9072:8;9096:6;9120:8;9002:23;:133::i;5584:340:108:-;5706:16;;;5720:1;5706:16;;;;;;;;5677:26;;5706:16;;;;;;;;;;-1:-1:-1;5706:16:108;5677:45;;5767:13;-1:-1:-1;;;;;5751:31:108;5743:40;;5728:9;5738:1;5728:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5804:13;5789:9;5799:1;5789:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5824:95;1084:66;1068:83;;5859:9;5870:1;5891:11;5873:31;;;;;;32010:14:162;32003:22;31998:3;31994:32;31982:45;;32052:1;32043:11;;31859:201;5873:31:108;;;;-1:-1:-1;;5873:31:108;;;;;;;;;1213:66;5824:24;:95::i;3656:342:33:-;3772:16;;;3786:1;3772:16;;;;;;;;;3713:22;;3743:26;;3772:16;;;;;;;;;;;;-1:-1:-1;3772:16:33;3743:45;;3827:7;3794:9;3804:1;3794:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3842:18;3863:49;969:66;3899:9;3842:18;3863:25;:49::i;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;3165:160:95:-;3228:7;3292:26;438:6;451:5:20;3292:26:95;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:95:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:2;3257:13;;3253:24;2007:42:95;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;32218:66:162;32206:79;;2092:30:95;;;32194:92:162;2092:30:95;;32302:12:162;;;;2092:30:95;;;875:21:2;;;2092:30:95;2142:39;760:164:2;17775:457:29;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:29;-1:-1:-1;;;;;17998:30:29;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;17994:234::-;18141:80;;;;;-1:-1:-1;;;;;18141:36:29;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:29;-1:-1:-1;;;;;10984:30:29;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:29;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4729:312:34;4848:16;;;4862:1;4848:16;;;;;;;;;4795;;;;4848;;;;;;;;;;;;-1:-1:-1;4848:16:34;4819:45;;4903:7;4870:9;4880:1;4870:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4918:13;4934:62;1207:66;4969:9;4980:1;1336:66;4934:24;:62::i;2856:314:32:-;2970:16;;;2984:1;2970:16;;;;;;;;;2922:11;;;;2970:16;;;;;;;;;;;;-1:-1:-1;2970:16:32;2941:45;;3025:10;2992:9;3002:1;2992:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3043:13;3059:62;971:66;3094:9;3043:13;1100:66;3059:24;:62::i;:::-;3043:78;;3135:29;3156:5;3143:20;;1650:10:20;1541:126;6111:316:34;6234:16;;;6248:1;6234:16;;;;;;;;;6179:18;;;;6234:16;;;;;;;;;;;;-1:-1:-1;6234:16:34;6205:45;;6289:7;6256:9;6266:1;6256:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;6304:13;6320:62;1207:66;6355:9;6366:1;1336:66;6320:24;:62::i;53371:230:25:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:25;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:25:o;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:39:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;5928:433:114:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:114;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;5602:317:91:-;5741:12;5755:17;5798:6;-1:-1:-1;;;;;5798:11:91;5818:1;5829:79;5855:8;5876:9;5897:8;5829:13;:79::i;:::-;5798:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5780:134:91;;;;-1:-1:-1;5602:317:91;-1:-1:-1;;;;;5602:317:91:o;7147:321::-;7294:12;7308:17;7351:6;-1:-1:-1;;;;;7351:19:91;7378:79;7404:8;7425:9;7446:8;7378:13;:79::i;:::-;7351:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4006:378:111;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:111;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:111;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;1650:10:20;1541:126;7468:1525:3;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;8307:25:162;;;8280:18;;7664:67:3;8129:209:162;7618:120:3;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:3;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:3;;;;;:::o;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:35;804:25:36;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:35;804:25:36;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;1312:272:71;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;1836:227:29:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:29;;1953:106;;2001:10;1994:17;;;1836:227;:::o;2681:1129:41:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:41;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:41;3044:11;3238:38:22;3044:11:41;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;7829:207:114:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;4905:201:91:-;5027:12;5071:8;5081:9;5092:8;5054:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5047:54;;4905:201;;;;;:::o;708:400:71:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:71;1073:7;-1:-1:-1;;;;;;1040:32:71;:63::i;:::-;1039:64;948:155;708:400;-1:-1:-1;;708:400:71:o;4132:576::-;4295:56;;-1:-1:-1;;;;;;1390:79:162;;4295:56:71;;;1372:98:162;4234:4:71;;;;1345:18:162;;4295:56:71;;;-1:-1:-1;;4295:56:71;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:71;;-1:-1:-1;;4498:7:71;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:71:o;7448:223:114:-;35423:4:2;35409:27;;35403:34;35409:27;;;35403:34;7564:35:114;;;;;;7513:14;;7631:33;;7623:42;1541:126:20;547:357:162;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:162;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:162;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:162;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:707;2419:6;2427;2435;2443;2451;2504:3;2492:9;2483:7;2479:23;2475:33;2472:53;;;2521:1;2518;2511:12;2472:53;2557:9;2544:23;2534:33;;2618:2;2607:9;2603:18;2590:32;2645:18;2637:6;2634:30;2631:50;;;2677:1;2674;2667:12;2631:50;2716:70;2778:7;2769:6;2758:9;2754:22;2716:70;:::i;:::-;2805:8;;-1:-1:-1;2690:96:162;-1:-1:-1;2859:36:162;;-1:-1:-1;2891:2:162;2876:18;;2859:36;:::i;:::-;2245:707;;;;-1:-1:-1;2245:707:162;;2942:2;2927:18;2914:32;;2245:707;-1:-1:-1;;2245:707:162:o;2957:250::-;3042:1;3052:113;3066:6;3063:1;3060:13;3052:113;;;3142:11;;;3136:18;3123:11;;;3116:39;3088:2;3081:10;3052:113;;;-1:-1:-1;;3199:1:162;3181:16;;3174:27;2957:250::o;3212:329::-;3253:3;3291:5;3285:12;3318:6;3313:3;3306:19;3334:76;3403:6;3396:4;3391:3;3387:14;3380:4;3373:5;3369:16;3334:76;:::i;:::-;3455:2;3443:15;-1:-1:-1;;3439:88:162;3430:98;;;;3530:4;3426:109;;3212:329;-1:-1:-1;;3212:329:162:o;3546:217::-;3693:2;3682:9;3675:21;3656:4;3713:44;3753:2;3742:9;3738:18;3730:6;3713:44;:::i;3768:347::-;3819:8;3829:6;3883:3;3876:4;3868:6;3864:17;3860:27;3850:55;;3901:1;3898;3891:12;3850:55;-1:-1:-1;3924:20:162;;3967:18;3956:30;;3953:50;;;3999:1;3996;3989:12;3953:50;4036:4;4028:6;4024:17;4012:29;;4088:3;4081:4;4072:6;4064;4060:19;4056:30;4053:39;4050:59;;;4105:1;4102;4095:12;4120:915;4273:6;4281;4289;4297;4305;4313;4366:3;4354:9;4345:7;4341:23;4337:33;4334:53;;;4383:1;4380;4373:12;4334:53;4419:9;4406:23;4396:33;;4480:2;4469:9;4465:18;4452:32;4503:18;4544:2;4536:6;4533:14;4530:34;;;4560:1;4557;4550:12;4530:34;4599:70;4661:7;4652:6;4641:9;4637:22;4599:70;:::i;:::-;4688:8;;-1:-1:-1;4573:96:162;-1:-1:-1;4573:96:162;;-1:-1:-1;4742:36:162;4774:2;4759:18;;4742:36;:::i;:::-;4732:46;;4831:2;4820:9;4816:18;4803:32;4787:48;;4860:2;4850:8;4847:16;4844:36;;;4876:1;4873;4866:12;4844:36;;4915:60;4967:7;4956:8;4945:9;4941:24;4915:60;:::i;:::-;4120:915;;;;-1:-1:-1;4120:915:162;;-1:-1:-1;4120:915:162;;4994:8;;4120:915;-1:-1:-1;;;4120:915:162:o;5040:606::-;5173:6;5181;5189;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5302:9;5289:23;5279:33;;5363:2;5352:9;5348:18;5335:32;5390:18;5382:6;5379:30;5376:50;;;5422:1;5419;5412:12;5376:50;5461:70;5523:7;5514:6;5503:9;5499:22;5461:70;:::i;:::-;5550:8;;-1:-1:-1;5435:96:162;-1:-1:-1;5604:36:162;;-1:-1:-1;5636:2:162;5621:18;;5604:36;:::i;:::-;5594:46;;5040:606;;;;;;;:::o;5651:1236::-;5861:6;5869;5877;5885;5893;5901;5909;5917;5970:3;5958:9;5949:7;5945:23;5941:33;5938:53;;;5987:1;5984;5977:12;5938:53;6023:9;6010:23;6000:33;;6084:2;6073:9;6069:18;6056:32;6107:18;6148:2;6140:6;6137:14;6134:34;;;6164:1;6161;6154:12;6134:34;6203:70;6265:7;6256:6;6245:9;6241:22;6203:70;:::i;:::-;6292:8;;-1:-1:-1;6177:96:162;-1:-1:-1;6380:2:162;6365:18;;6352:32;;-1:-1:-1;6396:16:162;;;6393:36;;;6425:1;6422;6415:12;6393:36;6464:60;6516:7;6505:8;6494:9;6490:24;6464:60;:::i;:::-;6543:8;;-1:-1:-1;6438:86:162;-1:-1:-1;6625:2:162;6610:18;;6597:32;;-1:-1:-1;6682:3:162;6667:19;;6654:33;;-1:-1:-1;6699:16:162;;;6696:36;;;6728:1;6725;6718:12;6696:36;;6767:60;6819:7;6808:8;6797:9;6793:24;6767:60;:::i;:::-;5651:1236;;;;-1:-1:-1;5651:1236:162;;-1:-1:-1;5651:1236:162;;;;;;6846:8;-1:-1:-1;;;5651:1236:162:o;6892:1016::-;7086:6;7094;7102;7110;7118;7126;7134;7187:3;7175:9;7166:7;7162:23;7158:33;7155:53;;;7204:1;7201;7194:12;7155:53;7240:9;7227:23;7217:33;;7301:2;7290:9;7286:18;7273:32;7324:18;7365:2;7357:6;7354:14;7351:34;;;7381:1;7378;7371:12;7351:34;7420:70;7482:7;7473:6;7462:9;7458:22;7420:70;:::i;:::-;7509:8;;-1:-1:-1;7394:96:162;-1:-1:-1;7394:96:162;;-1:-1:-1;7563:36:162;7595:2;7580:18;;7563:36;:::i;:::-;7553:46;;7652:2;7641:9;7637:18;7624:32;7608:48;;7681:2;7671:8;7668:16;7665:36;;;7697:1;7694;7687:12;7665:36;;7736:60;7788:7;7777:8;7766:9;7762:24;7736:60;:::i;:::-;6892:1016;;;;-1:-1:-1;6892:1016:162;;;;;;7897:3;7882:19;;;7869:33;;6892:1016;-1:-1:-1;;;;6892:1016:162:o;7913:211::-;8003:6;8056:2;8044:9;8035:7;8031:23;8027:32;8024:52;;;8072:1;8069;8062:12;8024:52;-1:-1:-1;8095:23:162;;7913:211;-1:-1:-1;7913:211:162:o;8343:184::-;-1:-1:-1;;;8392:1:162;8385:88;8492:4;8489:1;8482:15;8516:4;8513:1;8506:15;8532:334;8603:2;8597:9;8659:2;8649:13;;-1:-1:-1;;8645:86:162;8633:99;;8762:18;8747:34;;8783:22;;;8744:62;8741:88;;;8809:18;;:::i;:::-;8845:2;8838:22;8532:334;;-1:-1:-1;8532:334:162:o;8871:589::-;8913:5;8966:3;8959:4;8951:6;8947:17;8943:27;8933:55;;8984:1;8981;8974:12;8933:55;9020:6;9007:20;9046:18;9042:2;9039:26;9036:52;;;9068:18;;:::i;:::-;9112:114;9220:4;-1:-1:-1;;9144:4:162;9140:2;9136:13;9132:86;9128:97;9112:114;:::i;:::-;9251:2;9242:7;9235:19;9297:3;9290:4;9285:2;9277:6;9273:15;9269:26;9266:35;9263:55;;;9314:1;9311;9304:12;9263:55;9379:2;9372:4;9364:6;9360:17;9353:4;9344:7;9340:18;9327:55;9427:1;9402:16;;;9420:4;9398:27;9391:38;;;;9406:7;8871:589;-1:-1:-1;;;8871:589:162:o;9465:419::-;9573:6;9581;9634:2;9622:9;9613:7;9609:23;9605:32;9602:52;;;9650:1;9647;9640:12;9602:52;9686:9;9673:23;9663:33;;9747:2;9736:9;9732:18;9719:32;9774:18;9766:6;9763:30;9760:50;;;9806:1;9803;9796:12;9760:50;9829:49;9870:7;9861:6;9850:9;9846:22;9829:49;:::i;:::-;9819:59;;;9465:419;;;;;:::o;9889:636::-;10056:6;10064;10072;10080;10133:2;10121:9;10112:7;10108:23;10104:32;10101:52;;;10149:1;10146;10139:12;10101:52;10185:9;10172:23;10162:33;;10246:2;10235:9;10231:18;10218:32;10273:18;10265:6;10262:30;10259:50;;;10305:1;10302;10295:12;10259:50;10344:70;10406:7;10397:6;10386:9;10382:22;10344:70;:::i;:::-;9889:636;;10433:8;;-1:-1:-1;10318:96:162;;10515:2;10500:18;10487:32;;9889:636;-1:-1:-1;;;;9889:636:162:o;10530:483::-;10786:2;10775:9;10768:21;10749:4;10812:44;10852:2;10841:9;10837:18;10829:6;10812:44;:::i;:::-;10892:6;10887:2;10876:9;10872:18;10865:34;10947:9;10939:6;10935:22;10930:2;10919:9;10915:18;10908:50;10975:32;11000:6;10992;10975:32;:::i;11018:712::-;11072:5;11125:3;11118:4;11110:6;11106:17;11102:27;11092:55;;11143:1;11140;11133:12;11092:55;11179:6;11166:20;11205:4;11228:18;11224:2;11221:26;11218:52;;;11250:18;;:::i;:::-;11296:2;11293:1;11289:10;11319:28;11343:2;11339;11335:11;11319:28;:::i;:::-;11381:15;;;11451;;;11447:24;;;11412:12;;;;11483:15;;;11480:35;;;11511:1;11508;11501:12;11480:35;11547:2;11539:6;11535:15;11524:26;;11559:142;11575:6;11570:3;11567:15;11559:142;;;11641:17;;11629:30;;11592:12;;;;11679;;;;11559:142;;11735:655;11884:6;11892;11900;11908;11916;11969:3;11957:9;11948:7;11944:23;11940:33;11937:53;;;11986:1;11983;11976:12;11937:53;12022:9;12009:23;11999:33;;12083:2;12072:9;12068:18;12055:32;12110:18;12102:6;12099:30;12096:50;;;12142:1;12139;12132:12;12096:50;12165:61;12218:7;12209:6;12198:9;12194:22;12165:61;:::i;:::-;12155:71;;;12245:36;12277:2;12266:9;12262:18;12245:36;:::i;:::-;11735:655;;;;-1:-1:-1;12235:46:162;;12328:2;12313:18;;12300:32;;-1:-1:-1;12379:3:162;12364:19;12351:33;;11735:655;-1:-1:-1;;11735:655:162:o;12395:536::-;12521:6;12529;12537;12590:2;12578:9;12569:7;12565:23;12561:32;12558:52;;;12606:1;12603;12596:12;12558:52;12642:9;12629:23;12619:33;;12703:2;12692:9;12688:18;12675:32;12730:18;12722:6;12719:30;12716:50;;;12762:1;12759;12752:12;12716:50;12801:70;12863:7;12854:6;12843:9;12839:22;12801:70;:::i;:::-;12395:536;;12890:8;;-1:-1:-1;12775:96:162;;-1:-1:-1;;;;12395:536:162:o;13118:154::-;-1:-1:-1;;;;;13197:5:162;13193:54;13186:5;13183:65;13173:93;;13262:1;13259;13252:12;13277:554;13394:6;13402;13410;13463:2;13451:9;13442:7;13438:23;13434:32;13431:52;;;13479:1;13476;13469:12;13431:52;13518:9;13505:23;13537:31;13562:5;13537:31;:::i;:::-;13587:5;-1:-1:-1;13639:2:162;13624:18;;13611:32;;-1:-1:-1;13694:2:162;13679:18;;13666:32;13721:18;13710:30;;13707:50;;;13753:1;13750;13743:12;13707:50;13776:49;13817:7;13808:6;13797:9;13793:22;13776:49;:::i;:::-;13766:59;;;13277:554;;;;;:::o;13836:618::-;14008:6;14016;14024;14032;14085:3;14073:9;14064:7;14060:23;14056:33;14053:53;;;14102:1;14099;14092:12;14053:53;14138:9;14125:23;14115:33;;14199:2;14188:9;14184:18;14171:32;14226:18;14218:6;14215:30;14212:50;;;14258:1;14255;14248:12;14212:50;14281:61;14334:7;14325:6;14314:9;14310:22;14281:61;:::i;:::-;14271:71;;;14361:36;14393:2;14382:9;14378:18;14361:36;:::i;:::-;13836:618;;;;-1:-1:-1;14351:46:162;;14444:2;14429:18;14416:32;;-1:-1:-1;;13836:618:162:o;14641:517::-;14772:6;14780;14788;14841:2;14829:9;14820:7;14816:23;14812:32;14809:52;;;14857:1;14854;14847:12;14809:52;14893:9;14880:23;14870:33;;14954:2;14943:9;14939:18;14926:32;14981:18;14973:6;14970:30;14967:50;;;15013:1;15010;15003:12;14967:50;15036:61;15089:7;15080:6;15069:9;15065:22;15036:61;:::i;:::-;15026:71;;;15116:36;15148:2;15137:9;15133:18;15116:36;:::i;:::-;15106:46;;14641:517;;;;;:::o;15163:472::-;15257:6;15265;15318:2;15306:9;15297:7;15293:23;15289:32;15286:52;;;15334:1;15331;15324:12;15286:52;15373:9;15360:23;15392:31;15417:5;15392:31;:::i;:::-;15442:5;-1:-1:-1;15498:2:162;15483:18;;15470:32;15525:18;15514:30;;15511:50;;;15557:1;15554;15547:12;15640:1013;15794:6;15802;15810;15818;15826;15834;15887:3;15875:9;15866:7;15862:23;15858:33;15855:53;;;15904:1;15901;15894:12;15855:53;15940:9;15927:23;15917:33;;16001:2;15990:9;15986:18;15973:32;16024:18;16065:2;16057:6;16054:14;16051:34;;;16081:1;16078;16071:12;16051:34;16120:70;16182:7;16173:6;16162:9;16158:22;16120:70;:::i;:::-;16209:8;;-1:-1:-1;16094:96:162;-1:-1:-1;16294:2:162;16279:18;;16266:32;;-1:-1:-1;16338:14:162;16327:26;;16317:37;;16307:65;;16368:1;16365;16358:12;16307:65;16391:5;;-1:-1:-1;16449:2:162;16434:18;;16421:32;;16465:16;;;16462:36;;;16494:1;16491;16484:12;16658:165;16725:20;;16785:12;16774:24;;16764:35;;16754:63;;16813:1;16810;16803:12;16828:1061;16997:6;17005;17013;17021;17029;17037;17045;17053;17106:3;17094:9;17085:7;17081:23;17077:33;17074:53;;;17123:1;17120;17113:12;17074:53;17159:9;17146:23;17136:33;;17220:2;17209:9;17205:18;17192:32;17243:18;17284:2;17276:6;17273:14;17270:34;;;17300:1;17297;17290:12;17270:34;17339:70;17401:7;17392:6;17381:9;17377:22;17339:70;:::i;:::-;17428:8;;-1:-1:-1;17313:96:162;-1:-1:-1;17313:96:162;;-1:-1:-1;17482:36:162;17514:2;17499:18;;17482:36;:::i;:::-;17472:46;;17537:37;17570:2;17559:9;17555:18;17537:37;:::i;:::-;17527:47;;17593:38;17626:3;17615:9;17611:19;17593:38;:::i;:::-;17583:48;;17684:3;17673:9;17669:19;17656:33;17640:49;;17714:2;17704:8;17701:16;17698:36;;;17730:1;17727;17720:12;17894:264;17970:6;18023:2;18011:9;18002:7;17998:23;17994:32;17991:52;;;18039:1;18036;18029:12;17991:52;18078:9;18065:23;18097:31;18122:5;18097:31;:::i;19052:184::-;-1:-1:-1;;;19101:1:162;19094:88;19201:4;19198:1;19191:15;19225:4;19222:1;19215:15;19760:339;19937:2;19926:9;19919:21;19900:4;19957:44;19997:2;19986:9;19982:18;19974:6;19957:44;:::i;:::-;19949:52;;-1:-1:-1;;;;;20041:6:162;20037:55;20032:2;20021:9;20017:18;20010:83;19760:339;;;;;:::o;20104:175::-;20141:3;20185:4;20178:5;20174:16;20214:4;20205:7;20202:17;20199:43;;20222:18;;:::i;:::-;20271:1;20258:15;;20104:175;-1:-1:-1;;20104:175:162:o;20284:439::-;-1:-1:-1;;;;;20522:6:162;20518:55;20507:9;20500:74;20610:6;20605:2;20594:9;20590:18;20583:34;20653:2;20648;20637:9;20633:18;20626:30;20481:4;20673:44;20713:2;20702:9;20698:18;20690:6;20673:44;:::i;20728:151::-;20818:4;20811:12;;;20797;;;20793:31;;20836:14;;20833:40;;;20853:18;;:::i;21137:128::-;21204:9;;;21225:11;;;21222:37;;;21239:18;;:::i;21270:277::-;21337:6;21390:2;21378:9;21369:7;21365:23;21361:32;21358:52;;;21406:1;21403;21396:12;21358:52;21438:9;21432:16;21491:5;21484:13;21477:21;21470:5;21467:32;21457:60;;21513:1;21510;21503:12;21552:439;21605:3;21643:5;21637:12;21670:6;21665:3;21658:19;21696:4;21725;21720:3;21716:14;21709:21;;21764:4;21757:5;21753:16;21787:1;21797:169;21811:6;21808:1;21805:13;21797:169;;;21872:13;;21860:26;;21906:12;;;;21941:15;;;;21833:1;21826:9;21797:169;;;-1:-1:-1;21982:3:162;;21552:439;-1:-1:-1;;;;;21552:439:162:o;21996:511::-;22247:2;22236:9;22229:21;22210:4;22273:56;22325:2;22314:9;22310:18;22302:6;22273:56;:::i;:::-;22377:14;22369:6;22365:27;22360:2;22349:9;22345:18;22338:55;22441:9;22433:6;22429:22;22424:2;22413:9;22409:18;22402:50;22469:32;22494:6;22486;22469:32;:::i;22512:615::-;22822:6;22811:9;22804:25;22865:3;22860:2;22849:9;22845:18;22838:31;22785:4;22892:57;22944:3;22933:9;22929:19;22921:6;22892:57;:::i;:::-;22997:14;22989:6;22985:27;22980:2;22969:9;22965:18;22958:55;23061:9;23053:6;23049:22;23044:2;23033:9;23029:18;23022:50;23089:32;23114:6;23106;23089:32;:::i;23132:925::-;23581:66;23573:6;23569:79;23564:3;23557:92;23539:3;23668;23700:2;23696:1;23691:3;23687:11;23680:23;23732:6;23726:13;23748:74;23815:6;23811:1;23806:3;23802:11;23795:4;23787:6;23783:17;23748:74;:::i;:::-;23850:6;23845:3;23841:16;23831:26;;23885:2;23881:1;23877:2;23873:10;23866:22;23919:6;23913:13;23897:29;;23935:75;24001:8;23997:1;23993:2;23989:10;23982:4;23974:6;23970:17;23935:75;:::i;:::-;24030:17;24049:1;24026:25;;23132:925;-1:-1:-1;;;;;23132:925:162:o;24549:321::-;24757:6;24746:9;24739:25;24800:2;24795;24784:9;24780:18;24773:30;24720:4;24820:44;24860:2;24849:9;24845:18;24837:6;24820:44;:::i;24875:639::-;25125:6;25120:3;25113:19;25095:3;25151:2;25184;25179:3;25175:12;25216:6;25210:13;25281:2;25273:6;25269:15;25302:1;25312:175;25326:6;25323:1;25320:13;25312:175;;;25389:13;;25375:28;;25425:14;;;;25462:15;;;;25348:1;25341:9;25312:175;;;-1:-1:-1;25503:5:162;;24875:639;-1:-1:-1;;;;;;;24875:639:162:o;25519:184::-;-1:-1:-1;;;25568:1:162;25561:88;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25708:168;25781:9;;;25812;;25829:15;;;25823:22;;25809:37;25799:71;;25850:18;;:::i;25881:463::-;26127:66;26119:6;26115:79;26104:9;26097:98;26231:6;26226:2;26215:9;26211:18;26204:34;26274:2;26269;26258:9;26254:18;26247:30;26078:4;26294:44;26334:2;26323:9;26319:18;26311:6;26294:44;:::i;26349:174::-;26416:12;26448:10;;;26460;;;26444:27;;26483:11;;;26480:37;;;26497:18;;:::i;:::-;26480:37;26349:174;;;;:::o;27175:899::-;27598:6;27587:9;27580:25;27641:3;27636:2;27625:9;27621:18;27614:31;27561:4;27668:57;27720:3;27709:9;27705:19;27697:6;27668:57;:::i;:::-;27773:4;27761:17;;27756:2;27741:18;;27734:45;27798:12;27846:15;;;27841:2;27826:18;;27819:43;27899:15;;27893:3;27878:19;;27871:44;27946:3;27931:19;;27924:35;;;27996:22;;;27990:3;27975:19;;27968:51;28036:32;28000:6;28053;28036:32;:::i;:::-;28028:40;27175:899;-1:-1:-1;;;;;;;;;;27175:899:162:o;28079:787::-;28443:3;28432:9;28425:22;28406:4;28470:57;28522:3;28511:9;28507:19;28499:6;28470:57;:::i;:::-;28575:4;28567:6;28563:17;28558:2;28547:9;28543:18;28536:45;28629:14;28621:6;28617:27;28612:2;28601:9;28597:18;28590:55;28693:12;28685:6;28681:25;28676:2;28665:9;28661:18;28654:53;28744:6;28738:3;28727:9;28723:19;28716:35;28800:9;28792:6;28788:22;28782:3;28771:9;28767:19;28760:51;28828:32;28853:6;28845;28828:32;:::i;28871:689::-;29205:3;29194:9;29187:22;29168:4;29232:57;29284:3;29273:9;29269:19;29261:6;29232:57;:::i;:::-;29337:9;29329:6;29325:22;29320:2;29309:9;29305:18;29298:50;29371:32;29396:6;29388;29371:32;:::i;:::-;29357:46;;29439:6;29434:2;29423:9;29419:18;29412:34;29494:9;29486:6;29482:22;29477:2;29466:9;29462:18;29455:50;29522:32;29547:6;29539;29522:32;:::i;29565:896::-;30018:6;30007:9;30000:25;30061:3;30056:2;30045:9;30041:18;30034:31;29981:4;30088:57;30140:3;30129:9;30125:19;30117:6;30088:57;:::i;:::-;30193:9;30185:6;30181:22;30176:2;30165:9;30161:18;30154:50;30227:32;30252:6;30244;30227:32;:::i;:::-;30213:46;;30295:6;30290:2;30279:9;30275:18;30268:34;30351:9;30343:6;30339:22;30333:3;30322:9;30318:19;30311:51;30379:32;30404:6;30396;30379:32;:::i;:::-;30371:40;;;30448:6;30442:3;30431:9;30427:19;30420:35;29565:896;;;;;;;;;:::o;30749:261::-;30928:2;30917:9;30910:21;30891:4;30948:56;31000:2;30989:9;30985:18;30977:6;30948:56;:::i;31015:466::-;31313:6;31302:9;31295:25;31356:2;31351;31340:9;31336:18;31329:30;31276:4;31376:56;31428:2;31417:9;31413:18;31405:6;31376:56;:::i;:::-;31368:64;;31468:6;31463:2;31452:9;31448:18;31441:34;31015:466;;;;;;:::o;32325:546::-;32647:6;32636:9;32629:25;32690:3;32685:2;32674:9;32670:18;32663:31;32610:4;32711:57;32763:3;32752:9;32748:19;32740:6;32711:57;:::i;:::-;32816:4;32804:17;;;;32799:2;32784:18;;32777:45;-1:-1:-1;32853:2:162;32838:18;32831:34;32703:65;32325:546;-1:-1:-1;;32325:546:162:o;32876:184::-;32946:6;32999:2;32987:9;32978:7;32974:23;32970:32;32967:52;;;33015:1;33012;33005:12;32967:52;-1:-1:-1;33038:16:162;;32876:184;-1:-1:-1;32876:184:162:o;33065:707::-;33433:6;33422:9;33415:25;33476:3;33471:2;33460:9;33456:18;33449:31;33396:4;33503:57;33555:3;33544:9;33540:19;33532:6;33503:57;:::i;:::-;33608:4;33600:6;33596:17;33591:2;33580:9;33576:18;33569:45;33662:9;33654:6;33650:22;33645:2;33634:9;33630:18;33623:50;33690:32;33715:6;33707;33690:32;:::i;:::-;33682:40;;;33759:6;33753:3;33742:9;33738:19;33731:35;33065:707;;;;;;;;:::o;33777:359::-;33980:2;33969:9;33962:21;33943:4;34000:44;34040:2;34029:9;34025:18;34017:6;34000:44;:::i;:::-;34075:2;34060:18;;34053:34;;;;-1:-1:-1;34118:2:162;34103:18;34096:34;33992:52;33777:359;-1:-1:-1;33777:359:162:o;34141:287::-;34270:3;34308:6;34302:13;34324:66;34383:6;34378:3;34371:4;34363:6;34359:17;34324:66;:::i;:::-;34406:16;;;;;34141:287;-1:-1:-1;;34141:287:162:o;34433:274::-;34473:1;34499;34489:189;;-1:-1:-1;;;34531:1:162;34524:88;34635:4;34632:1;34625:15;34663:4;34660:1;34653:15;34489:189;-1:-1:-1;34692:9:162;;34433:274::o;34712:530::-;34897:3;34935:6;34929:13;34951:66;35010:6;35005:3;34998:4;34990:6;34986:17;34951:66;:::i;:::-;35086:2;35082:15;;;;35099:66;35078:88;35039:16;;;;35064:103;;;35194:2;35183:14;;35176:30;;;;35233:2;35222:14;;34712:530;-1:-1:-1;;34712:530:162:o","linkReferences":{},"immutableReferences":{"67343":[{"start":866,"length":32},{"start":4716,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.World doesn't inherit `Store` because the `IStoreRegistration` methods are added via the `InitModule`.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"initModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The protocol version of the Store.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the protocol version of the Store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/World.sol\":\"World\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b\",\"dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreKernel.sol\":{\"keccak256\":\"0xeeb12eb8f8254eea33f4d3b80504962733c191f7cd4f4b1bc3033237e648ff0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01b41567453f8f4f8c55b30d88d891b1ea87f2b5354ee8ce67ca58aedfb296ec\",\"dweb:/ipfs/QmZkGP7yKZUUnVxwAV4AVhHfc8Dnz1TtbyooeGBm33EUE7\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0xb27eeadfa0075d2ac085b155e42e195b9bc6511640097af6646936f5ceb3afc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdca315a580d561a7ec3d488ad6ea6996a4611031218547d6b942c7654750a18\",\"dweb:/ipfs/QmUrW9strzNK1guqRZ7jRC4GZ9SvAraxah3rfsw4eBGjZM\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a\",\"dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36\",\"dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160\",\"dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080\",\"dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0xad63bcf6f989720278b4b941cb3baca953d7da8064454323b99fb444c32e821e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37d43a10ec0972a2e9a939f22542dda802aa0124e6ee46a60ec59749de88d54b\",\"dweb:/ipfs/QmVe6ALUGg7xzVUjgsYW25ANPeCaLZwL3tJW6t8pGZejA1\"]},\"src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"src/ERC165Checker.sol\":{\"keccak256\":\"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d\",\"dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt\"]},\"src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"src/SystemCall.sol\":{\"keccak256\":\"0x39d02f33a0a96cd07cf553c6439a26be43bea3ce926266242cf7f84c762c16e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de503a0d5e4e55dba2b04fb38660a7f890deac3673f63f8d9e2b23ab5f09574\",\"dweb:/ipfs/QmbhCvRHjkETnsA59rFuGs3p5iu2t4NwYySoCj2GDNwY2V\"]},\"src/World.sol\":{\"keccak256\":\"0x4f7eddc16b90adf81bd734c486d3fe4e5ccd530607a517ce4a4a6aceb75de517\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fbe73b7b0f920ea227a0eabbcefab1a2b3ae3cc16769450187feeb42a8ed96b\",\"dweb:/ipfs/Qmdq1Ae7ch1UWjStq35e1D13Lhth7iXLn1uTfrqFKsgzgx\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0x82d853e8bb41328181ee04b5d2e2e9bb26ec4b167d698c46ca51832448c8aa66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f805f13f57058c4f611c63a1b8176c59f333ee133677335bc323b22be4ab3a7a\",\"dweb:/ipfs/QmVEdRtdxBZuJo4K3WW9tSHiTLw1TS3r6Kfhn4YRu69KAx\"]},\"src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x28ecea550f7cef98318f2db2e203e758475306a6454f776e6dbc5094811d577e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01ae40d53747c2fec400c3bddec5789da6995a38e918bf3badad9c403e70d069\",\"dweb:/ipfs/QmaQhjyGzXjTR16gJUnpaBhG5zJvPdaxJ6c9yJY9FD5kBb\"]},\"src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729\",\"dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk\"]},\"src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5\",\"dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc\"]},\"src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"src/version.sol\":{\"keccak256\":\"0x9c222a00d7aef686e6f6319d544959ee8a7010c7c0692738f7fe9d19694b0715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0296e6e111eeb4f6249fea39ee3b024a02f46eb692925d9b41e3b39fa15a940b\",\"dweb:/ipfs/QmbSYepReq4NepkvLEkeTtGXRwFpQRUfyENnjkd4kaM4BU\"]},\"src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"initModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The protocol version of the Store."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the protocol version of the Store."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/World.sol":"World"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5","urls":["bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b","dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreKernel.sol":{"keccak256":"0xeeb12eb8f8254eea33f4d3b80504962733c191f7cd4f4b1bc3033237e648ff0b","urls":["bzz-raw://01b41567453f8f4f8c55b30d88d891b1ea87f2b5354ee8ce67ca58aedfb296ec","dweb:/ipfs/QmZkGP7yKZUUnVxwAV4AVhHfc8Dnz1TtbyooeGBm33EUE7"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0xb27eeadfa0075d2ac085b155e42e195b9bc6511640097af6646936f5ceb3afc6","urls":["bzz-raw://cdca315a580d561a7ec3d488ad6ea6996a4611031218547d6b942c7654750a18","dweb:/ipfs/QmUrW9strzNK1guqRZ7jRC4GZ9SvAraxah3rfsw4eBGjZM"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d","urls":["bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a","dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab","urls":["bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36","dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b","urls":["bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160","dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc","urls":["bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080","dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"src/AccessControl.sol":{"keccak256":"0xad63bcf6f989720278b4b941cb3baca953d7da8064454323b99fb444c32e821e","urls":["bzz-raw://37d43a10ec0972a2e9a939f22542dda802aa0124e6ee46a60ec59749de88d54b","dweb:/ipfs/QmVe6ALUGg7xzVUjgsYW25ANPeCaLZwL3tJW6t8pGZejA1"],"license":"MIT"},"src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"src/ERC165Checker.sol":{"keccak256":"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8","urls":["bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d","dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt"],"license":"MIT"},"src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"src/SystemCall.sol":{"keccak256":"0x39d02f33a0a96cd07cf553c6439a26be43bea3ce926266242cf7f84c762c16e4","urls":["bzz-raw://0de503a0d5e4e55dba2b04fb38660a7f890deac3673f63f8d9e2b23ab5f09574","dweb:/ipfs/QmbhCvRHjkETnsA59rFuGs3p5iu2t4NwYySoCj2GDNwY2V"],"license":"MIT"},"src/World.sol":{"keccak256":"0x4f7eddc16b90adf81bd734c486d3fe4e5ccd530607a517ce4a4a6aceb75de517","urls":["bzz-raw://8fbe73b7b0f920ea227a0eabbcefab1a2b3ae3cc16769450187feeb42a8ed96b","dweb:/ipfs/Qmdq1Ae7ch1UWjStq35e1D13Lhth7iXLn1uTfrqFKsgzgx"],"license":"MIT"},"src/WorldContext.sol":{"keccak256":"0x82d853e8bb41328181ee04b5d2e2e9bb26ec4b167d698c46ca51832448c8aa66","urls":["bzz-raw://f805f13f57058c4f611c63a1b8176c59f333ee133677335bc323b22be4ab3a7a","dweb:/ipfs/QmVEdRtdxBZuJo4K3WW9tSHiTLw1TS3r6Kfhn4YRu69KAx"],"license":"MIT"},"src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x28ecea550f7cef98318f2db2e203e758475306a6454f776e6dbc5094811d577e","urls":["bzz-raw://01ae40d53747c2fec400c3bddec5789da6995a38e918bf3badad9c403e70d069","dweb:/ipfs/QmaQhjyGzXjTR16gJUnpaBhG5zJvPdaxJ6c9yJY9FD5kBb"],"license":"MIT"},"src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d","urls":["bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729","dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk"],"license":"MIT"},"src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1","urls":["bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5","dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc"],"license":"MIT"},"src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"src/version.sol":{"keccak256":"0x9c222a00d7aef686e6f6319d544959ee8a7010c7c0692738f7fe9d19694b0715","urls":["bzz-raw://0296e6e111eeb4f6249fea39ee3b024a02f46eb692925d9b41e3b39fa15a940b","dweb:/ipfs/QmbSYepReq4NepkvLEkeTtGXRwFpQRUfyENnjkd4kaM4BU"],"license":"MIT"},"src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":90}
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b506100467f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b60405164191718171960d91b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c005905f90a23360805260405164191718171960d91b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb82905f90a26080516150ca620000ce5f395f8181610362015261126c01526150ca5ff3fe6080604052600436106101d0575f3560e01c80638c364d59116100f6578063c4d66de811610094578063d9c03a0411610063578063d9c03a04146106ae578063dbbf0e21146106cd578063e228a4a3146106ec578063ef6ea8621461070b57610263565b8063c4d66de814610632578063cc49db7e14610651578063d03edb8c14610670578063d4285dc21461068f57610263565b8063af068c9e116100d0578063af068c9e146105d5578063b047c1eb146105f4578063c0a2895a14610613578063c11222291461053357610263565b80638c364d59146105785780639f1fcf0a14610597578063a53417ed146105b657610263565b8063390baae01161016e5780634dc77d971161013d5780634dc77d97146104f5578063505a181d146105145780636951955d14610533578063894ecc581461056557610263565b8063390baae0146104685780633a77c2c2146104875780633ae7af08146104b4578063419b58fd146104c757610263565b8063150f3262116101aa578063150f3262146103ec5780631e7889771461040b578063298314fb1461042a5780633708196e1461044957610263565b806302d05d3f1461035157806305242d2f146103a1578063114a7266146103cd57610263565b366102635760408051616e7360f01b60208201525f602282018190526030820181905291610216910160405160208183030381529060405261021190614256565b61072a565b60408051616e7360f01b60208201525f602282018190526030820152919250610261910160405160208183030381529060405261025290614256565b61025c3484614290565b6107a8565b005b303303610295576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f806102ab5f356001600160e01b031916610845565b91509150815f801b036102f7576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f3516600482015260240161028c565b5f6103385f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508691506109129050565b90505f61034733858434610945565b9050805160208201f35b34801561035c575f80fd5b506103847f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ac575f80fd5b506103c06103bb3660046142fb565b610971565b60405161039891906143a9565b3480156103d8575f80fd5b506102616103e73660046143f9565b6109b3565b3480156103f7575f80fd5b506102616104063660046143f9565b610a63565b348015610416575f80fd5b506103c0610425366004614480565b610b0b565b348015610435575f80fd5b506102616104443660046144da565b610b54565b348015610454575f80fd5b5061026161046336600461457f565b610c39565b348015610473575f80fd5b5061026161048236600461457f565b610cec565b348015610492575f80fd5b506104a66104a136600461460e565b610d96565b604051908152602001610398565b6103c06104c23660046146d6565b610da6565b3480156104d2575f80fd5b506104e66104e136600461471a565b610de1565b60405161039893929190614769565b348015610500575f80fd5b506103c061050f366004614805565b610e34565b34801561051f575f80fd5b5061026161052e366004614869565b610e43565b34801561053e575f80fd5b507f322e302e320000000000000000000000000000000000000000000000000000006104a6565b6103c06105733660046148c5565b610eb6565b348015610583575f80fd5b506104a66105923660046142fb565b61100d565b3480156105a2575f80fd5b506104a66105b136600461491a565b61104e565b3480156105c1575f80fd5b506104a66105d0366004614975565b61105b565b3480156105e0575f80fd5b506102616105ef3660046149c8565b611067565b3480156105ff575f80fd5b5061026161060e3660046149ff565b6110e1565b34801561061e575f80fd5b5061026161062d366004614a86565b611189565b34801561063d575f80fd5b5061026161064c366004614b0c565b611234565b34801561065c575f80fd5b506104e661066b366004614869565b611372565b34801561067b575f80fd5b506103c061068a366004614480565b6113c2565b34801561069a575f80fd5b506104a66106a936600461460e565b611402565b3480156106b9575f80fd5b506102616106c83660046142fb565b61140c565b3480156106d8575f80fd5b506104a66106e7366004614975565b61148a565b3480156106f7575f80fd5b506104a661070636600461460e565b611496565b348015610716575f80fd5b506102616107253660046143f9565b6114a0565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061076157610761614b27565b60209081029190910101525f6107a07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611548565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106107dc576107dc614b27565b6020026020010181815250506108407f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161082391815260200190565b60408051601f19818403018152919052630100080160dd1b611574565b505050565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061089c5761089c614b27565b60209081029190910101525f80806108f47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611589565b92509250925061090583838361168a565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610955878787876116a1565b91509150816109675761096781611861565b9695505050505050565b6060610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506118699050565b3033036109e0576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6109ea86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506118fa92505050565b505050505050565b303303610a90576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610a9a86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061191592505050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061194d915050565b95945050505050565b303303610b81576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610b8b88336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061198692505050565b5050505050505050565b303303610c66576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610c7087336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061199c915050565b50505050505050565b303303610d19576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610d2387336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611574915050565b5f610da0826119df565b92915050565b6060303303610dd5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61093e33848434610945565b60605f6060610e24878787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611589915050565b9250925092509450945094915050565b60606109678686868686611a62565b303303610e70576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610e7a83336118ae565b610840838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611b6292505050565b6060303303610ee5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b03851603610f0857610f0133848434610945565b905061093e565b5f610f138533611b75565b9050610f228186338787611c21565b15610f3b57610f3385858534610945565b91505061093e565b5f610f46865f611b75565b9050610f558187338888611c21565b15610f6f57610f6686868634610945565b9250505061093e565b5f610fa0616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611cf1565b9050610faf8188338989611c21565b15610fca57610fc087878734610945565b935050505061093e565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015233602482015260440161028c565b5f610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506115489050565b5f610b4b85858585611d67565b5f6107a0848484611dae565b303303611094576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b60408051616e7360f01b60208201525f6022820181905260308201526110d391016040516020818303038152906040526110cd90614256565b33611dc3565b6110dd8282611e14565b5050565b30330361110e576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61111886336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ec692505050565b3033036111b6576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6111c088336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f9201919091525061215192505050565b303303611261576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113045760408051616e7360f01b60208201525f6022820181905260308201526112cf91016040516020818303038152906040526112ca90614256565b612169565b336040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b5f61130d6122a5565b6001600160a01b03161461134d576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113568161230a565b604080515f81526020810190915261136f908290611e14565b50565b60605f60606113b3868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123a492505050565b92509250925093509350939050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792506123c9915050565b5f610da0826123df565b303303611439576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61144385336118ae565b611483858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506124529050565b5050505050565b5f6107a08484846124a8565b5f610da0826124b7565b3033036114cd576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6114d786336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506124dc92505050565b5f610b4b6115568686612514565b60ff858116601b0360080285901c1661156f8587612569565b6125a1565b61148385856115838487612569565b85611ec6565b60605f60605f611598856125f1565b90506115a5878783612613565b93505f6115b186612648565b9050801561167f576115c38888612684565b935066ffffffffffffff841667ffffffffffffffff8111156115e7576115e7614625565b6040519080825280601f01601f191660200182016040528015611611576020820181803683370190505b509250602083015f5b828160ff16101561167c575f6116318b8b84612696565b90505f61164d888460ff166028026038011c64ffffffffff1690565b905061165b825f8387612714565b6116658185614290565b93505050808061167490614b65565b91505061161a565b50505b505093509350939050565b5f80611695856127db565b90969095509350505050565b5f60605f6116ae866127ef565b90505f5b815181101561177a575f8282815181106116ce576116ce614b27565b602002602001015190506116fa6001826affffffffffffffffffffff191661287490919063ffffffff16565b15611771576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611743908c908c908c90600401614b83565b5f604051808303815f87803b15801561175a575f80fd5b505af115801561176c573d5f803e3d5ffd5b505050505b506001016116b2565b5061178787858888612891565b90935091505f5b8151811015611856575f8282815181106117aa576117aa614b27565b602002602001015190506117d66002826affffffffffffffffffffff191661287490919063ffffffff16565b1561184d576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061181f908c908c908c90600401614b83565b5f604051808303815f87803b158015611836575f80fd5b505af1158015611848573d5f803e3d5ffd5b505050505b5060010161178e565b505094509492505050565b805160208201fd5b6060611874826129a8565b8360ff1610156118915761188a858585856129b9565b90506107a0565b61188a858561189f856129a8565b6118a99087614baa565b61194d565b6118b882826129e6565b6110dd576118c582612169565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b61190f8484848461190a896119df565b61199c565b50505050565b5f6119208585612684565b90505f61193c828560ff166028026038011c64ffffffffff1690565b9050610a5b868686845f8888612a28565b60606107a061195d858585612696565b5f6119818561196c8989612684565b9060ff166028026038011c64ffffffffff1690565b612e4d565b61148385858585856119978b6119df565b612e70565b6119a5816129a8565b8360ff1610156119c1576119bc8585858585611574565b611483565b61148385856119cf846129a8565b6119d99087614baa565b856124dc565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b610da0611a5a7f746273746f72650000000000000000005461626c6573000000000000000000008461319e565b60205f6125a1565b606081831115611aa8576040517fa8c54782000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260440161028c565b5f611ab38787612684565b90505f611acf828760ff166028026038011c64ffffffffff1690565b90508085101580611adf57508084115b15611b3a578081861015611afd57611af8600186614bc3565b611aff565b855b6040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161028c565b5f611b46898989612696565b9050611b558187888803612e4d565b9998505050505050505050565b6110dd8282611b70856119df565b6131b9565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611bb757611bb7614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110611be257611be2614b27565b60209081029190910101525f610b4b7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611548565b5f611c2b866134a5565b15611c3857506001610b4b565b85611c4457505f610b4b565b5f80611cbe865f8a8a8989604051602401611c6193929190614b83565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612891565b9150915081611cd1575f92505050610b4b565b80806020019051810190611ce59190614bd6565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611d2857611d28614b27565b60209081029190910101525f6107a07f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611548565b5f80611d72836129a8565b90508060ff168460ff161015611d9a5760ff848116601b0360080284901c165b9150506107a0565b611d928686611da98488614baa565b6124a8565b5f6107a0848484611dbe886119df565b611d67565b6001600160a01b038116611dfd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161761351f565b6001600160a01b0316146110dd576118c582612169565b611e3e827f6fdd1c80000000000000000000000000000000000000000000000000000000006135b8565b611eb2335f8484604051602401611e5591906143a9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613613565b506110dd8282805190602001206001613623565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f5057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f4393929190614c2f565b60405180910390a261190f565b5f611f5b8585612514565b90505f611f6786613702565b90505f5b8151811015612035575f828281518110611f8757611f87614b27565b60200260200101519050611fb36004826affffffffffffffffffffff191661287490919063ffffffff16565b1561202c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611ffe908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612015575f80fd5b505af1158015612027573d5f803e3d5ffd5b505050505b50600101611f6b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161206a93929190614c2f565b60405180910390a2612085828565ffffffffffff1685613771565b5f5b8151811015610ce3575f8282815181106120a3576120a3614b27565b602002602001015190506120cf6008826affffffffffffffffffffff191661287490919063ffffffff16565b15612148576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061211a908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612131575f80fd5b505af1158015612143573d5f803e3d5ffd5b505050505b50600101612087565b610a5b8686868686866121648d8d612684565b612a28565b606081601081901b5f61217b83613787565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156121d6576121d17fffffffffffffffffffffffffffff000000000000000000000000000000000000841661379d565b61220d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122435761223e8361379d565b61227a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161228c93929190614c99565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f6123007f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613840565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916110dd917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006138f2565b60605f60606123bc85856123b7886119df565b611589565b9250925092509250925092565b60606107a08484846123da886119df565b611869565b5f6123e982613995565b90506123f482613a24565b61244d57818260405160200161240c91815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261028c9291600401614d26565b919050565b5f61245d8585612684565b90505f612479828560ff166028026038011c64ffffffffff1690565b9050610a5b8686866124928764ffffffffff8716614bc3565b604080515f815260208101909152889088612a28565b5f6107a08261196c8686612684565b5f6124c182613abe565b90508061244d57818260405160200161240c91815260200190565b5f6124e78585612684565b90505f612503828560ff166028026038011c64ffffffffff1690565b9050610a5b8686865f858888612a28565b5f8282604051602001612528929190614d3e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156125995761258f60ff601b83900360080287901c1683614290565b915060010161256d565b509392505050565b5f602082106125c6576020820484019350602082816125c2576125c2614d78565b0691505b508254600882021b602082900380841115612599576001850154600882021c82179150509392505050565b5f600861260060026020614bc3565b61260a9190614d8c565b9190911c919050565b6060815f03612630575060408051602081019091525f815261093e565b5f61263b8585612514565b9050610b4b815f85612e4d565b5f600860018061265a60026020614bc3565b6126649190614bc3565b61266e9190614bc3565b6126789190614d8c565b8260ff911c1692915050565b5f61093e6126928484613b4d565b5490565b5f83836040516020016126aa929190614d3e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612798576020831061273e5760208304840193506020838161273a5761273a614d78565b0692505b82156127985760208390035f8184101561275f57505f19600884021c612768565b505f19600882021c5b8554600886021b81845116821982161784525081841161278957505061190f565b50600194909401939182900391015b5b602082106127ba5783548152600190930192601f1990910190602001612799565b811561190f575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061282757612827614b27565b60209081029190910101525f61285e7f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361194d565b90506107a061286f825f8451613ba2565b613c2e565b5f8160ff16826128848560581c90565b1660ff1614905092915050565b5f60605f8061289f86613c3d565b90925090506001600160a01b0382166128f057856128bc87612169565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161028c929190614d26565b806128ff576128ff86896118ae565b861561294a577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f6129378261072a565b90506129478261025c8b84614290565b50505b5f6129558760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461298d5761298888888488613cde565b612999565b61299988888488613d51565b90999098509650505050505050565b5f6008600161266460026020614bc3565b6060610b4b6129c88686612514565b6129d28486612569565b60ff868116601b0360080286901c16612e4d565b5f612a18616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613dae565b8061093e575061093e8383613dae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612ae8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612aa691815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261028c939291600401614da3565b5f612b02828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612b1a9190614bc3565b612b249190614290565b9050808214158015612b46575081612b3c8688614de3565b64ffffffffff1614155b15612b96576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161028c565b818664ffffffffff161115612be7576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161028c565b5f612bf3848984613e73565b90505f612bff8b613702565b90505f5b8151811015612cc3575f828281518110612c1f57612c1f614b27565b60200260200101519050612c4b6010826affffffffffffffffffffff191661287490919063ffffffff16565b15612cba57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c8c9796959493929190614e08565b5f604051808303815f87803b158015612ca3575f80fd5b505af1158015612cb5573d5f803e3d5ffd5b505050505b50600101612c03565b5064ffffffffff88165f5b8a60ff168160ff161015612d0157612cf5878260ff166028026038011c64ffffffffff1690565b90910190600101612cce565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d3c96959493929190614e65565b60405180910390a250828414612d5c575f612d578c8c613b4d565b839055505b5f612d688c8c8c612696565b9050612d7c818a64ffffffffff1689613771565b505f5b8151811015612e3f575f828281518110612d9b57612d9b614b27565b60200260200101519050612dc76020826affffffffffffffffffffff191661287490919063ffffffff16565b15612e3657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e089796959493929190614e08565b5f604051808303815f87803b158015612e1f575f80fd5b505af1158015612e31573d5f803e3d5ffd5b505050505b50600101612d7f565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261259985858584612714565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612efc57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612eef9493929190614eb3565b60405180910390a2610a5b565b5f612f0687613702565b90505f5b8151811015612fd8575f828281518110612f2657612f26614b27565b60200260200101519050612f526001826affffffffffffffffffffff191661287490919063ffffffff16565b15612fcf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612fa1908c908c908c908c908c908c90600401614ef1565b5f604051808303815f87803b158015612fb8575f80fd5b505af1158015612fca573d5f803e3d5ffd5b505050505b50600101612f0a565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161300f9493929190614eb3565b60405180910390a25f6130228888612514565b90505f602087019050613038825f895184613f40565b5f61304285612648565b11156130c2575f6130538a8a613b4d565b87815590506020860191505f805f5b61306b88612648565b8160ff1610156130bd576130808d8d83612696565b925061309b8a8260ff166028026038011c64ffffffffff1690565b91506130a9835f8488613f40565b6130b38286614290565b9450600101613062565b505050505b5f5b8351811015613192575f8482815181106130e0576130e0614b27565b6020026020010151905061310c6002826affffffffffffffffffffff191661287490919063ffffffff16565b15613189576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061315b908e908e908e908e908e908e90600401614ef1565b5f604051808303815f87803b158015613172575f80fd5b505af1158015613184573d5f803e3d5ffd5b505050505b506001016130c4565b50505050505050505050565b60408051602081018490529081018290525f90606001612528565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361323f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132329190614f49565b60405180910390a2505050565b5f61324984613702565b90505f5b8151811015613315575f82828151811061326957613269614b27565b602002602001015190506132956040826affffffffffffffffffffff191661287490919063ffffffff16565b1561330c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906132de90899089908990600401614f5b565b5f604051808303815f87803b1580156132f5575f80fd5b505af1158015613307573d5f803e3d5ffd5b505050505b5060010161324d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516133469190614f49565b60405180910390a25f6133598585612514565b90506133b1815f613369866125f1565b67ffffffffffffffff81111561338157613381614625565b6040519080825280601f01601f1916602001820160405280156133ab576020820181803683370190505b50613771565b5f6133bb84612648565b11156133db575f6133cc8686613b4d565b90506133d9816020613ffb565b505b5f5b8251811015610a5b575f8382815181106133f9576133f9614b27565b602002602001015190506134256080826affffffffffffffffffffff191661287490919063ffffffff16565b1561349c576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061346e908a908a908a90600401614f5b565b5f604051808303815f87803b158015613485575f80fd5b505af1158015613497573d5f803e3d5ffd5b505050505b506001016133dd565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261351790614256565b909114919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061355657613556614b27565b60209081029190910101525f6135ad7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611548565b60601c949350505050565b6135c28282614036565b6110dd576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161028c565b60605f8061095587878787613d51565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061366157613661614b27565b602002602001018181525050828160018151811061368157613681614b27565b60200260200101818152505061190f7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f856040516020016136cd91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611574565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061373a5761373a614b27565b60209081029190910101525f61285e7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361194d565b610840838383516137828560200190565b613f40565b5f61379460706010614290565b9190911b919050565b60605f5b6010811015613801577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613801576001016137a1565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107a0565b5f8061384a614051565b9050306001600160a01b0382160361386857611d9286868686611548565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906138b3908990899089908990600401614f83565b602060405180830381865afa1580156138ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d929190614fb1565b5f6138fb614051565b9050306001600160a01b0382160361391f5761391a8686868686611574565b610a5b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061396c9089908990899089908990600401614fc8565b5f604051808303815f87803b158015613983575f80fd5b505af1158015613192573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106139cc576139cc614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611548565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613a5b57613a5b614b27565b60209081029190910101525f613ab27f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611548565b90506107a08160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613af557613af5614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611548565b5f8282604051602001613b61929190614d3e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613bb15750835182115b15613bee578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161028c9392919061500e565b60208401613bfc8482614290565b90505f613c098585614bc3565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61093e8360155f61408a565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613c7557613c75614b27565b60209081029190910101525f8080613ccd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611589565b925092509250610905838383614102565b5f6060836001600160a01b03165f613cf785898961410d565b604051613d049190615032565b5f6040518083038185875af1925050503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613d6984888861410d565b604051613d769190615032565b5f60405180830381855af49150503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613de557613de5614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110613e1057613e10614b27565b60209081029190910101525f613e677f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611548565b9050610b4b8160f81c90565b5f64ffffffffff821115613eb6576040517f7149a3c10000000000000000000000000000000000000000000000000000000081526004810183905260240161028c565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613ee85780850382019150613ef0565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215613fb85760208310613f6a57602083048401935060208381613f6657613f66614d78565b0692505b8215613fb85760208390035f5f19600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613fa957505061190f565b50600194909401939182900391015b5b60208210613fda5780518455600190930192601f1990910190602001613fb9565b811561190f575f5f19600884021c8554835182191691161785555050505050565b5f602061400983601f614290565b614013919061504d565b61401d9084614290565b90505b80831015610840575f8355600183019250614020565b5f6140408361413c565b801561093e575061093e8383614187565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b03168061244d573391505090565b60605f6140978560801c90565b90506fffffffffffffffffffffffffffffffff85165f8582816140bc576140bc614d78565b0490506040519350602084016020820281016040528185525f5b828110156140f6578451871c8252938701936020909101906001016140d6565b50505050509392505050565b5f806116958561423b565b60608383836040516020016141249392919061506c565b60405160208183030381529060405290509392505050565b5f614167827f01ffc9a700000000000000000000000000000000000000000000000000000000614187565b8015610da05750614180826001600160e01b0319614187565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f519050828015614225575060208210155b801561423057505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c6127e8565b80516020808301519190811015614276575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610da057610da061427c565b5f8083601f8401126142b3575f80fd5b50813567ffffffffffffffff8111156142ca575f80fd5b6020830191508360208260051b85010111156142e4575f80fd5b9250929050565b803560ff8116811461244d575f80fd5b5f805f805f6080868803121561430f575f80fd5b85359450602086013567ffffffffffffffff81111561432c575f80fd5b614338888289016142a3565b909550935061434b9050604087016142eb565b949793965091946060013592915050565b5f5b8381101561437657818101518382015260200161435e565b50505f910152565b5f815180845261439581602086016020860161435c565b601f01601f19169290920160200192915050565b602081525f61093e602083018461437e565b5f8083601f8401126143cb575f80fd5b50813567ffffffffffffffff8111156143e2575f80fd5b6020830191508360208285010111156142e4575f80fd5b5f805f805f806080878903121561440e575f80fd5b86359550602087013567ffffffffffffffff8082111561442c575f80fd5b6144388a838b016142a3565b909750955085915061444c60408a016142eb565b94506060890135915080821115614461575f80fd5b5061446e89828a016143bb565b979a9699509497509295939492505050565b5f805f8060608587031215614493575f80fd5b84359350602085013567ffffffffffffffff8111156144b0575f80fd5b6144bc878288016142a3565b90945092506144cf9050604086016142eb565b905092959194509250565b5f805f805f805f8060a0898b0312156144f1575f80fd5b88359750602089013567ffffffffffffffff8082111561450f575f80fd5b61451b8c838d016142a3565b909950975060408b0135915080821115614533575f80fd5b61453f8c838d016143bb565b909750955060608b0135945060808b013591508082111561455e575f80fd5b5061456b8b828c016143bb565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a031215614595575f80fd5b87359650602088013567ffffffffffffffff808211156145b3575f80fd5b6145bf8b838c016142a3565b90985096508691506145d360408b016142eb565b955060608a01359150808211156145e8575f80fd5b506145f58a828b016143bb565b989b979a50959894979596608090950135949350505050565b5f6020828403121561461e575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561466257614662614625565b604052919050565b5f82601f830112614679575f80fd5b813567ffffffffffffffff81111561469357614693614625565b6146a66020601f19601f84011601614639565b8181528460208386010111156146ba575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156146e7575f80fd5b82359150602083013567ffffffffffffffff811115614704575f80fd5b6147108582860161466a565b9150509250929050565b5f805f806060858703121561472d575f80fd5b84359350602085013567ffffffffffffffff81111561474a575f80fd5b614756878288016142a3565b9598909750949560400135949350505050565b606081525f61477b606083018661437e565b8460208401528281036040840152610967818561437e565b5f82601f8301126147a2575f80fd5b8135602067ffffffffffffffff8211156147be576147be614625565b8160051b6147cd828201614639565b92835284810182019282810190878511156147e6575f80fd5b83870192505b84831015614230578235825291830191908301906147ec565b5f805f805f60a08688031215614819575f80fd5b85359450602086013567ffffffffffffffff811115614836575f80fd5b61484288828901614793565b945050614851604087016142eb565b94979396509394606081013594506080013592915050565b5f805f6040848603121561487b575f80fd5b83359250602084013567ffffffffffffffff811115614898575f80fd5b6148a4868287016142a3565b9497909650939450505050565b6001600160a01b038116811461136f575f80fd5b5f805f606084860312156148d7575f80fd5b83356148e2816148b1565b925060208401359150604084013567ffffffffffffffff811115614904575f80fd5b6149108682870161466a565b9150509250925092565b5f805f806080858703121561492d575f80fd5b84359350602085013567ffffffffffffffff81111561494a575f80fd5b61495687828801614793565b935050614965604086016142eb565b9396929550929360600135925050565b5f805f60608486031215614987575f80fd5b83359250602084013567ffffffffffffffff8111156149a4575f80fd5b6149b086828701614793565b9250506149bf604085016142eb565b90509250925092565b5f80604083850312156149d9575f80fd5b82356149e4816148b1565b9150602083013567ffffffffffffffff811115614704575f80fd5b5f805f805f8060808789031215614a14575f80fd5b86359550602087013567ffffffffffffffff80821115614a32575f80fd5b614a3e8a838b016142a3565b90975095506040890135915065ffffffffffff82168214614a5d575f80fd5b90935060608801359080821115614461575f80fd5b803564ffffffffff8116811461244d575f80fd5b5f805f805f805f8060c0898b031215614a9d575f80fd5b88359750602089013567ffffffffffffffff80821115614abb575f80fd5b614ac78c838d016142a3565b9099509750879150614adb60408c016142eb565b9650614ae960608c01614a72565b9550614af760808c01614a72565b945060a08b013591508082111561455e575f80fd5b5f60208284031215614b1c575f80fd5b813561093e816148b1565b634e487b7160e01b5f52603260045260245ffd5b604081525f614b4d604083018561437e565b90506001600160a01b03831660208301529392505050565b5f60ff821660ff8103614b7a57614b7a61427c565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610b4b606083018461437e565b60ff8281168282160390811115610da057610da061427c565b81810381811115610da057610da061427c565b5f60208284031215614be6575f80fd5b8151801515811461093e575f80fd5b5f815180845260208085019450602084015f5b83811015614c2457815187529582019590820190600101614c08565b509495945050505050565b606081525f614c416060830186614bf5565b65ffffffffffff851660208401528281036040840152610967818561437e565b848152608060208201525f614c796080830186614bf5565b65ffffffffffff851660408401528281036060840152614230818561437e565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614cf981600386016020890161435c565b808401905081600382015284519150614d1982600483016020880161435c565b0160040195945050505050565b828152604060208201525f6107a0604083018461437e565b8281525f60208083018451602086015f5b82811015614d6b57815184529284019290840190600101614d4f565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610da057610da061427c565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610b4b606083018461437e565b64ffffffffff818116838216019080821115614e0157614e0161427c565b5092915050565b87815260e060208201525f614e2060e0830189614bf5565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152614e57818561437e565b9a9950505050505050505050565b60c081525f614e7760c0830189614bf5565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152611b55818561437e565b608081525f614ec56080830187614bf5565b8281036020840152614ed7818761437e565b90508460408401528281036060840152614230818561437e565b86815260c060208201525f614f0960c0830188614bf5565b8281036040840152614f1b818861437e565b90508560608401528281036080840152614f35818661437e565b9150508260a0830152979650505050505050565b602081525f61093e6020830184614bf5565b838152606060208201525f614f736060830185614bf5565b9050826040830152949350505050565b848152608060208201525f614f9b6080830186614bf5565b60ff949094166040830152506060015292915050565b5f60208284031215614fc1575f80fd5b5051919050565b85815260a060208201525f614fe060a0830187614bf5565b60ff861660408401528281036060840152614ffb818661437e565b9150508260808301529695505050505050565b606081525f615020606083018661437e565b60208301949094525060400152919050565b5f825161504381846020870161435c565b9190910192915050565b5f8261506757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161507d81846020890161435c565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1829:15502:90:-:0;;;2219:94;;;;;;;;;-1:-1:-1;895:22:27;1066:42:29;2374:38;;-1:-1:-1;;;;;;2374:38:29;1824:4:25;2374:38:29;;;1751:84:25;895:22:27;928:38;;-1:-1:-1;;;952:13:27;928:38;;;;;2249:10:90;2239:20;;2270:38;;-1:-1:-1;;;2294:13:90;2270:38;;;;;1829:15502;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101d0575f3560e01c80638c364d59116100f6578063c4d66de811610094578063d9c03a0411610063578063d9c03a04146106ae578063dbbf0e21146106cd578063e228a4a3146106ec578063ef6ea8621461070b57610263565b8063c4d66de814610632578063cc49db7e14610651578063d03edb8c14610670578063d4285dc21461068f57610263565b8063af068c9e116100d0578063af068c9e146105d5578063b047c1eb146105f4578063c0a2895a14610613578063c11222291461053357610263565b80638c364d59146105785780639f1fcf0a14610597578063a53417ed146105b657610263565b8063390baae01161016e5780634dc77d971161013d5780634dc77d97146104f5578063505a181d146105145780636951955d14610533578063894ecc581461056557610263565b8063390baae0146104685780633a77c2c2146104875780633ae7af08146104b4578063419b58fd146104c757610263565b8063150f3262116101aa578063150f3262146103ec5780631e7889771461040b578063298314fb1461042a5780633708196e1461044957610263565b806302d05d3f1461035157806305242d2f146103a1578063114a7266146103cd57610263565b366102635760408051616e7360f01b60208201525f602282018190526030820181905291610216910160405160208183030381529060405261021190614256565b61072a565b60408051616e7360f01b60208201525f602282018190526030820152919250610261910160405160208183030381529060405261025290614256565b61025c3484614290565b6107a8565b005b303303610295576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f806102ab5f356001600160e01b031916610845565b91509150815f801b036102f7576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f3516600482015260240161028c565b5f6103385f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508691506109129050565b90505f61034733858434610945565b9050805160208201f35b34801561035c575f80fd5b506103847f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103ac575f80fd5b506103c06103bb3660046142fb565b610971565b60405161039891906143a9565b3480156103d8575f80fd5b506102616103e73660046143f9565b6109b3565b3480156103f7575f80fd5b506102616104063660046143f9565b610a63565b348015610416575f80fd5b506103c0610425366004614480565b610b0b565b348015610435575f80fd5b506102616104443660046144da565b610b54565b348015610454575f80fd5b5061026161046336600461457f565b610c39565b348015610473575f80fd5b5061026161048236600461457f565b610cec565b348015610492575f80fd5b506104a66104a136600461460e565b610d96565b604051908152602001610398565b6103c06104c23660046146d6565b610da6565b3480156104d2575f80fd5b506104e66104e136600461471a565b610de1565b60405161039893929190614769565b348015610500575f80fd5b506103c061050f366004614805565b610e34565b34801561051f575f80fd5b5061026161052e366004614869565b610e43565b34801561053e575f80fd5b507f322e302e320000000000000000000000000000000000000000000000000000006104a6565b6103c06105733660046148c5565b610eb6565b348015610583575f80fd5b506104a66105923660046142fb565b61100d565b3480156105a2575f80fd5b506104a66105b136600461491a565b61104e565b3480156105c1575f80fd5b506104a66105d0366004614975565b61105b565b3480156105e0575f80fd5b506102616105ef3660046149c8565b611067565b3480156105ff575f80fd5b5061026161060e3660046149ff565b6110e1565b34801561061e575f80fd5b5061026161062d366004614a86565b611189565b34801561063d575f80fd5b5061026161064c366004614b0c565b611234565b34801561065c575f80fd5b506104e661066b366004614869565b611372565b34801561067b575f80fd5b506103c061068a366004614480565b6113c2565b34801561069a575f80fd5b506104a66106a936600461460e565b611402565b3480156106b9575f80fd5b506102616106c83660046142fb565b61140c565b3480156106d8575f80fd5b506104a66106e7366004614975565b61148a565b3480156106f7575f80fd5b506104a661070636600461460e565b611496565b348015610716575f80fd5b506102616107253660046143f9565b6114a0565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061076157610761614b27565b60209081029190910101525f6107a07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611548565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f815181106107dc576107dc614b27565b6020026020010181815250506108407f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161082391815260200190565b60408051601f19818403018152919052630100080160dd1b611574565b505050565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061089c5761089c614b27565b60209081029190910101525f80806108f47f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611589565b92509250925061090583838361168a565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610955878787876116a1565b91509150816109675761096781611861565b9695505050505050565b6060610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506118699050565b3033036109e0576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6109ea86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506118fa92505050565b505050505050565b303303610a90576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610a9a86336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061191592505050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061194d915050565b95945050505050565b303303610b81576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610b8b88336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061198692505050565b5050505050505050565b303303610c66576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610c7087336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061199c915050565b50505050505050565b303303610d19576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610d2387336118ae565b610ce3878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611574915050565b5f610da0826119df565b92915050565b6060303303610dd5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61093e33848434610945565b60605f6060610e24878787808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611589915050565b9250925092509450945094915050565b60606109678686868686611a62565b303303610e70576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b610e7a83336118ae565b610840838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611b6292505050565b6060303303610ee5576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b03851603610f0857610f0133848434610945565b905061093e565b5f610f138533611b75565b9050610f228186338787611c21565b15610f3b57610f3385858534610945565b91505061093e565b5f610f46865f611b75565b9050610f558187338888611c21565b15610f6f57610f6686868634610945565b9250505061093e565b5f610fa0616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000881617611cf1565b9050610faf8188338989611c21565b15610fca57610fc087878734610945565b935050505061093e565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015233602482015260440161028c565b5f610967868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506115489050565b5f610b4b85858585611d67565b5f6107a0848484611dae565b303303611094576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b60408051616e7360f01b60208201525f6022820181905260308201526110d391016040516020818303038152906040526110cd90614256565b33611dc3565b6110dd8282611e14565b5050565b30330361110e576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61111886336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ec692505050565b3033036111b6576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6111c088336118ae565b610c2f888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f9201919091525061215192505050565b303303611261576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113045760408051616e7360f01b60208201525f6022820181905260308201526112cf91016040516020818303038152906040526112ca90614256565b612169565b336040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b5f61130d6122a5565b6001600160a01b03161461134d576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113568161230a565b604080515f81526020810190915261136f908290611e14565b50565b60605f60606113b3868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123a492505050565b92509250925093509350939050565b6060610b4b858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792506123c9915050565b5f610da0826123df565b303303611439576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b61144385336118ae565b611483858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506124529050565b5050505050565b5f6107a08484846124a8565b5f610da0826124b7565b3033036114cd576040516327a1460b60e21b81526001600160e01b03195f3516600482015260240161028c565b6114d786336118ae565b610a5b868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f920191909152506124dc92505050565b5f610b4b6115568686612514565b60ff858116601b0360080285901c1661156f8587612569565b6125a1565b61148385856115838487612569565b85611ec6565b60605f60605f611598856125f1565b90506115a5878783612613565b93505f6115b186612648565b9050801561167f576115c38888612684565b935066ffffffffffffff841667ffffffffffffffff8111156115e7576115e7614625565b6040519080825280601f01601f191660200182016040528015611611576020820181803683370190505b509250602083015f5b828160ff16101561167c575f6116318b8b84612696565b90505f61164d888460ff166028026038011c64ffffffffff1690565b905061165b825f8387612714565b6116658185614290565b93505050808061167490614b65565b91505061161a565b50505b505093509350939050565b5f80611695856127db565b90969095509350505050565b5f60605f6116ae866127ef565b90505f5b815181101561177a575f8282815181106116ce576116ce614b27565b602002602001015190506116fa6001826affffffffffffffffffffff191661287490919063ffffffff16565b15611771576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611743908c908c908c90600401614b83565b5f604051808303815f87803b15801561175a575f80fd5b505af115801561176c573d5f803e3d5ffd5b505050505b506001016116b2565b5061178787858888612891565b90935091505f5b8151811015611856575f8282815181106117aa576117aa614b27565b602002602001015190506117d66002826affffffffffffffffffffff191661287490919063ffffffff16565b1561184d576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f999061181f908c908c908c90600401614b83565b5f604051808303815f87803b158015611836575f80fd5b505af1158015611848573d5f803e3d5ffd5b505050505b5060010161178e565b505094509492505050565b805160208201fd5b6060611874826129a8565b8360ff1610156118915761188a858585856129b9565b90506107a0565b61188a858561189f856129a8565b6118a99087614baa565b61194d565b6118b882826129e6565b6110dd576118c582612169565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161028c929190614b3b565b61190f8484848461190a896119df565b61199c565b50505050565b5f6119208585612684565b90505f61193c828560ff166028026038011c64ffffffffff1690565b9050610a5b868686845f8888612a28565b60606107a061195d858585612696565b5f6119818561196c8989612684565b9060ff166028026038011c64ffffffffff1690565b612e4d565b61148385858585856119978b6119df565b612e70565b6119a5816129a8565b8360ff1610156119c1576119bc8585858585611574565b611483565b61148385856119cf846129a8565b6119d99087614baa565b856124dc565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b610da0611a5a7f746273746f72650000000000000000005461626c6573000000000000000000008461319e565b60205f6125a1565b606081831115611aa8576040517fa8c54782000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260440161028c565b5f611ab38787612684565b90505f611acf828760ff166028026038011c64ffffffffff1690565b90508085101580611adf57508084115b15611b3a578081861015611afd57611af8600186614bc3565b611aff565b855b6040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161028c565b5f611b46898989612696565b9050611b558187888803612e4d565b9998505050505050505050565b6110dd8282611b70856119df565b6131b9565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611bb757611bb7614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110611be257611be2614b27565b60209081029190910101525f610b4b7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611548565b5f611c2b866134a5565b15611c3857506001610b4b565b85611c4457505f610b4b565b5f80611cbe865f8a8a8989604051602401611c6193929190614b83565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612891565b9150915081611cd1575f92505050610b4b565b80806020019051810190611ce59190614bd6565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611d2857611d28614b27565b60209081029190910101525f6107a07f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611548565b5f80611d72836129a8565b90508060ff168460ff161015611d9a5760ff848116601b0360080284901c165b9150506107a0565b611d928686611da98488614baa565b6124a8565b5f6107a0848484611dbe886119df565b611d67565b6001600160a01b038116611dfd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161761351f565b6001600160a01b0316146110dd576118c582612169565b611e3e827f6fdd1c80000000000000000000000000000000000000000000000000000000006135b8565b611eb2335f8484604051602401611e5591906143a9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613613565b506110dd8282805190602001206001613623565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f5057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f4393929190614c2f565b60405180910390a261190f565b5f611f5b8585612514565b90505f611f6786613702565b90505f5b8151811015612035575f828281518110611f8757611f87614b27565b60200260200101519050611fb36004826affffffffffffffffffffff191661287490919063ffffffff16565b1561202c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611ffe908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612015575f80fd5b505af1158015612027573d5f803e3d5ffd5b505050505b50600101611f6b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161206a93929190614c2f565b60405180910390a2612085828565ffffffffffff1685613771565b5f5b8151811015610ce3575f8282815181106120a3576120a3614b27565b602002602001015190506120cf6008826affffffffffffffffffffff191661287490919063ffffffff16565b15612148576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061211a908b908b908b908b90600401614c61565b5f604051808303815f87803b158015612131575f80fd5b505af1158015612143573d5f803e3d5ffd5b505050505b50600101612087565b610a5b8686868686866121648d8d612684565b612a28565b606081601081901b5f61217b83613787565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156121d6576121d17fffffffffffffffffffffffffffff000000000000000000000000000000000000841661379d565b61220d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156122435761223e8361379d565b61227a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161228c93929190614c99565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f6123007f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000613840565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916110dd917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e140100140000000000000000000000000000000000000000000000000000006138f2565b60605f60606123bc85856123b7886119df565b611589565b9250925092509250925092565b60606107a08484846123da886119df565b611869565b5f6123e982613995565b90506123f482613a24565b61244d57818260405160200161240c91815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261028c9291600401614d26565b919050565b5f61245d8585612684565b90505f612479828560ff166028026038011c64ffffffffff1690565b9050610a5b8686866124928764ffffffffff8716614bc3565b604080515f815260208101909152889088612a28565b5f6107a08261196c8686612684565b5f6124c182613abe565b90508061244d57818260405160200161240c91815260200190565b5f6124e78585612684565b90505f612503828560ff166028026038011c64ffffffffff1690565b9050610a5b8686865f858888612a28565b5f8282604051602001612528929190614d3e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156125995761258f60ff601b83900360080287901c1683614290565b915060010161256d565b509392505050565b5f602082106125c6576020820484019350602082816125c2576125c2614d78565b0691505b508254600882021b602082900380841115612599576001850154600882021c82179150509392505050565b5f600861260060026020614bc3565b61260a9190614d8c565b9190911c919050565b6060815f03612630575060408051602081019091525f815261093e565b5f61263b8585612514565b9050610b4b815f85612e4d565b5f600860018061265a60026020614bc3565b6126649190614bc3565b61266e9190614bc3565b6126789190614d8c565b8260ff911c1692915050565b5f61093e6126928484613b4d565b5490565b5f83836040516020016126aa929190614d3e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612798576020831061273e5760208304840193506020838161273a5761273a614d78565b0692505b82156127985760208390035f8184101561275f57505f19600884021c612768565b505f19600882021c5b8554600886021b81845116821982161784525081841161278957505061190f565b50600194909401939182900391015b5b602082106127ba5783548152600190930192601f1990910190602001612799565b811561190f575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061282757612827614b27565b60209081029190910101525f61285e7f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361194d565b90506107a061286f825f8451613ba2565b613c2e565b5f8160ff16826128848560581c90565b1660ff1614905092915050565b5f60605f8061289f86613c3d565b90925090506001600160a01b0382166128f057856128bc87612169565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161028c929190614d26565b806128ff576128ff86896118ae565b861561294a577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f6129378261072a565b90506129478261025c8b84614290565b50505b5f6129558760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461298d5761298888888488613cde565b612999565b61299988888488613d51565b90999098509650505050505050565b5f6008600161266460026020614bc3565b6060610b4b6129c88686612514565b6129d28486612569565b60ff868116601b0360080286901c16612e4d565b5f612a18616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613dae565b8061093e575061093e8383613dae565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612ae8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612aa691815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261028c939291600401614da3565b5f612b02828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612b1a9190614bc3565b612b249190614290565b9050808214158015612b46575081612b3c8688614de3565b64ffffffffff1614155b15612b96576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161028c565b818664ffffffffff161115612be7576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161028c565b5f612bf3848984613e73565b90505f612bff8b613702565b90505f5b8151811015612cc3575f828281518110612c1f57612c1f614b27565b60200260200101519050612c4b6010826affffffffffffffffffffff191661287490919063ffffffff16565b15612cba57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c8c9796959493929190614e08565b5f604051808303815f87803b158015612ca3575f80fd5b505af1158015612cb5573d5f803e3d5ffd5b505050505b50600101612c03565b5064ffffffffff88165f5b8a60ff168160ff161015612d0157612cf5878260ff166028026038011c64ffffffffff1690565b90910190600101612cce565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d3c96959493929190614e65565b60405180910390a250828414612d5c575f612d578c8c613b4d565b839055505b5f612d688c8c8c612696565b9050612d7c818a64ffffffffff1689613771565b505f5b8151811015612e3f575f828281518110612d9b57612d9b614b27565b60200260200101519050612dc76020826affffffffffffffffffffff191661287490919063ffffffff16565b15612e3657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e089796959493929190614e08565b5f604051808303815f87803b158015612e1f575f80fd5b505af1158015612e31573d5f803e3d5ffd5b505050505b50600101612d7f565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261259985858584612714565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612efc57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612eef9493929190614eb3565b60405180910390a2610a5b565b5f612f0687613702565b90505f5b8151811015612fd8575f828281518110612f2657612f26614b27565b60200260200101519050612f526001826affffffffffffffffffffff191661287490919063ffffffff16565b15612fcf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612fa1908c908c908c908c908c908c90600401614ef1565b5f604051808303815f87803b158015612fb8575f80fd5b505af1158015612fca573d5f803e3d5ffd5b505050505b50600101612f0a565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161300f9493929190614eb3565b60405180910390a25f6130228888612514565b90505f602087019050613038825f895184613f40565b5f61304285612648565b11156130c2575f6130538a8a613b4d565b87815590506020860191505f805f5b61306b88612648565b8160ff1610156130bd576130808d8d83612696565b925061309b8a8260ff166028026038011c64ffffffffff1690565b91506130a9835f8488613f40565b6130b38286614290565b9450600101613062565b505050505b5f5b8351811015613192575f8482815181106130e0576130e0614b27565b6020026020010151905061310c6002826affffffffffffffffffffff191661287490919063ffffffff16565b15613189576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061315b908e908e908e908e908e908e90600401614ef1565b5f604051808303815f87803b158015613172575f80fd5b505af1158015613184573d5f803e3d5ffd5b505050505b506001016130c4565b50505050505050505050565b60408051602081018490529081018290525f90606001612528565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361323f57827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516132329190614f49565b60405180910390a2505050565b5f61324984613702565b90505f5b8151811015613315575f82828151811061326957613269614b27565b602002602001015190506132956040826affffffffffffffffffffff191661287490919063ffffffff16565b1561330c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906132de90899089908990600401614f5b565b5f604051808303815f87803b1580156132f5575f80fd5b505af1158015613307573d5f803e3d5ffd5b505050505b5060010161324d565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516133469190614f49565b60405180910390a25f6133598585612514565b90506133b1815f613369866125f1565b67ffffffffffffffff81111561338157613381614625565b6040519080825280601f01601f1916602001820160405280156133ab576020820181803683370190505b50613771565b5f6133bb84612648565b11156133db575f6133cc8686613b4d565b90506133d9816020613ffb565b505b5f5b8251811015610a5b575f8382815181106133f9576133f9614b27565b602002602001015190506134256080826affffffffffffffffffffff191661287490919063ffffffff16565b1561349c576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061346e908a908a908a90600401614f5b565b5f604051808303815f87803b158015613485575f80fd5b505af1158015613497573d5f803e3d5ffd5b505050505b506001016133dd565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d6974656400000000000000000000000000000000000000000000006030830152910160405160208183030381529060405261351790614256565b909114919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061355657613556614b27565b60209081029190910101525f6135ad7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611548565b60601c949350505050565b6135c28282614036565b6110dd576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161028c565b60605f8061095587878787613d51565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061366157613661614b27565b602002602001018181525050828160018151811061368157613681614b27565b60200260200101818152505061190f7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f856040516020016136cd91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611574565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061373a5761373a614b27565b60209081029190910101525f61285e7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361194d565b610840838383516137828560200190565b613f40565b5f61379460706010614290565b9190911b919050565b60605f5b6010811015613801577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613801576001016137a1565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806107a0565b5f8061384a614051565b9050306001600160a01b0382160361386857611d9286868686611548565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906138b3908990899089908990600401614f83565b602060405180830381865afa1580156138ce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d929190614fb1565b5f6138fb614051565b9050306001600160a01b0382160361391f5761391a8686868686611574565b610a5b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061396c9089908990899089908990600401614fc8565b5f604051808303815f87803b158015613983575f80fd5b505af1158015613192573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106139cc576139cc614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611548565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613a5b57613a5b614b27565b60209081029190910101525f613ab27f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611548565b90506107a08160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613af557613af5614b27565b60209081029190910101525f6107a07f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611548565b5f8282604051602001613b61929190614d3e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613bb15750835182115b15613bee578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161028c9392919061500e565b60208401613bfc8482614290565b90505f613c098585614bc3565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f61093e8360155f61408a565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613c7557613c75614b27565b60209081029190910101525f8080613ccd7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611589565b925092509250610905838383614102565b5f6060836001600160a01b03165f613cf785898961410d565b604051613d049190615032565b5f6040518083038185875af1925050503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613d6984888861410d565b604051613d769190615032565b5f60405180830381855af49150503d805f8114613d3e576040519150601f19603f3d011682016040523d82523d5f602084013e613d43565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613de557613de5614b27565b602002602001018181525050826001600160a01b03165f1b81600181518110613e1057613e10614b27565b60209081029190910101525f613e677f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611548565b9050610b4b8160f81c90565b5f64ffffffffff821115613eb6576040517f7149a3c10000000000000000000000000000000000000000000000000000000081526004810183905260240161028c565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613ee85780850382019150613ef0565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215613fb85760208310613f6a57602083048401935060208381613f6657613f66614d78565b0692505b8215613fb85760208390035f5f19600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613fa957505061190f565b50600194909401939182900391015b5b60208210613fda5780518455600190930192601f1990910190602001613fb9565b811561190f575f5f19600884021c8554835182191691161785555050505050565b5f602061400983601f614290565b614013919061504d565b61401d9084614290565b90505b80831015610840575f8355600183019250614020565b5f6140408361413c565b801561093e575061093e8383614187565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b03168061244d573391505090565b60605f6140978560801c90565b90506fffffffffffffffffffffffffffffffff85165f8582816140bc576140bc614d78565b0490506040519350602084016020820281016040528185525f5b828110156140f6578451871c8252938701936020909101906001016140d6565b50505050509392505050565b5f806116958561423b565b60608383836040516020016141249392919061506c565b60405160208183030381529060405290509392505050565b5f614167827f01ffc9a700000000000000000000000000000000000000000000000000000000614187565b8015610da05750614180826001600160e01b0319614187565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f519050828015614225575060208210155b801561423057505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c6127e8565b80516020808301519190811015614276575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610da057610da061427c565b5f8083601f8401126142b3575f80fd5b50813567ffffffffffffffff8111156142ca575f80fd5b6020830191508360208260051b85010111156142e4575f80fd5b9250929050565b803560ff8116811461244d575f80fd5b5f805f805f6080868803121561430f575f80fd5b85359450602086013567ffffffffffffffff81111561432c575f80fd5b614338888289016142a3565b909550935061434b9050604087016142eb565b949793965091946060013592915050565b5f5b8381101561437657818101518382015260200161435e565b50505f910152565b5f815180845261439581602086016020860161435c565b601f01601f19169290920160200192915050565b602081525f61093e602083018461437e565b5f8083601f8401126143cb575f80fd5b50813567ffffffffffffffff8111156143e2575f80fd5b6020830191508360208285010111156142e4575f80fd5b5f805f805f806080878903121561440e575f80fd5b86359550602087013567ffffffffffffffff8082111561442c575f80fd5b6144388a838b016142a3565b909750955085915061444c60408a016142eb565b94506060890135915080821115614461575f80fd5b5061446e89828a016143bb565b979a9699509497509295939492505050565b5f805f8060608587031215614493575f80fd5b84359350602085013567ffffffffffffffff8111156144b0575f80fd5b6144bc878288016142a3565b90945092506144cf9050604086016142eb565b905092959194509250565b5f805f805f805f8060a0898b0312156144f1575f80fd5b88359750602089013567ffffffffffffffff8082111561450f575f80fd5b61451b8c838d016142a3565b909950975060408b0135915080821115614533575f80fd5b61453f8c838d016143bb565b909750955060608b0135945060808b013591508082111561455e575f80fd5b5061456b8b828c016143bb565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a031215614595575f80fd5b87359650602088013567ffffffffffffffff808211156145b3575f80fd5b6145bf8b838c016142a3565b90985096508691506145d360408b016142eb565b955060608a01359150808211156145e8575f80fd5b506145f58a828b016143bb565b989b979a50959894979596608090950135949350505050565b5f6020828403121561461e575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561466257614662614625565b604052919050565b5f82601f830112614679575f80fd5b813567ffffffffffffffff81111561469357614693614625565b6146a66020601f19601f84011601614639565b8181528460208386010111156146ba575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156146e7575f80fd5b82359150602083013567ffffffffffffffff811115614704575f80fd5b6147108582860161466a565b9150509250929050565b5f805f806060858703121561472d575f80fd5b84359350602085013567ffffffffffffffff81111561474a575f80fd5b614756878288016142a3565b9598909750949560400135949350505050565b606081525f61477b606083018661437e565b8460208401528281036040840152610967818561437e565b5f82601f8301126147a2575f80fd5b8135602067ffffffffffffffff8211156147be576147be614625565b8160051b6147cd828201614639565b92835284810182019282810190878511156147e6575f80fd5b83870192505b84831015614230578235825291830191908301906147ec565b5f805f805f60a08688031215614819575f80fd5b85359450602086013567ffffffffffffffff811115614836575f80fd5b61484288828901614793565b945050614851604087016142eb565b94979396509394606081013594506080013592915050565b5f805f6040848603121561487b575f80fd5b83359250602084013567ffffffffffffffff811115614898575f80fd5b6148a4868287016142a3565b9497909650939450505050565b6001600160a01b038116811461136f575f80fd5b5f805f606084860312156148d7575f80fd5b83356148e2816148b1565b925060208401359150604084013567ffffffffffffffff811115614904575f80fd5b6149108682870161466a565b9150509250925092565b5f805f806080858703121561492d575f80fd5b84359350602085013567ffffffffffffffff81111561494a575f80fd5b61495687828801614793565b935050614965604086016142eb565b9396929550929360600135925050565b5f805f60608486031215614987575f80fd5b83359250602084013567ffffffffffffffff8111156149a4575f80fd5b6149b086828701614793565b9250506149bf604085016142eb565b90509250925092565b5f80604083850312156149d9575f80fd5b82356149e4816148b1565b9150602083013567ffffffffffffffff811115614704575f80fd5b5f805f805f8060808789031215614a14575f80fd5b86359550602087013567ffffffffffffffff80821115614a32575f80fd5b614a3e8a838b016142a3565b90975095506040890135915065ffffffffffff82168214614a5d575f80fd5b90935060608801359080821115614461575f80fd5b803564ffffffffff8116811461244d575f80fd5b5f805f805f805f8060c0898b031215614a9d575f80fd5b88359750602089013567ffffffffffffffff80821115614abb575f80fd5b614ac78c838d016142a3565b9099509750879150614adb60408c016142eb565b9650614ae960608c01614a72565b9550614af760808c01614a72565b945060a08b013591508082111561455e575f80fd5b5f60208284031215614b1c575f80fd5b813561093e816148b1565b634e487b7160e01b5f52603260045260245ffd5b604081525f614b4d604083018561437e565b90506001600160a01b03831660208301529392505050565b5f60ff821660ff8103614b7a57614b7a61427c565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610b4b606083018461437e565b60ff8281168282160390811115610da057610da061427c565b81810381811115610da057610da061427c565b5f60208284031215614be6575f80fd5b8151801515811461093e575f80fd5b5f815180845260208085019450602084015f5b83811015614c2457815187529582019590820190600101614c08565b509495945050505050565b606081525f614c416060830186614bf5565b65ffffffffffff851660208401528281036040840152610967818561437e565b848152608060208201525f614c796080830186614bf5565b65ffffffffffff851660408401528281036060840152614230818561437e565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614cf981600386016020890161435c565b808401905081600382015284519150614d1982600483016020880161435c565b0160040195945050505050565b828152604060208201525f6107a0604083018461437e565b8281525f60208083018451602086015f5b82811015614d6b57815184529284019290840190600101614d4f565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610da057610da061427c565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610b4b606083018461437e565b64ffffffffff818116838216019080821115614e0157614e0161427c565b5092915050565b87815260e060208201525f614e2060e0830189614bf5565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152614e57818561437e565b9a9950505050505050505050565b60c081525f614e7760c0830189614bf5565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152611b55818561437e565b608081525f614ec56080830187614bf5565b8281036020840152614ed7818761437e565b90508460408401528281036060840152614230818561437e565b86815260c060208201525f614f0960c0830188614bf5565b8281036040840152614f1b818861437e565b90508560608401528281036080840152614f35818661437e565b9150508260a0830152979650505050505050565b602081525f61093e6020830184614bf5565b838152606060208201525f614f736060830185614bf5565b9050826040830152949350505050565b848152608060208201525f614f9b6080830186614bf5565b60ff949094166040830152506060015292915050565b5f60208284031215614fc1575f80fd5b5051919050565b85815260a060208201525f614fe060a0830187614bf5565b60ff861660408401528281036060840152614ffb818661437e565b9150508260808301529695505050505050565b606081525f615020606083018661437e565b60208301949094525060400152919050565b5f825161504381846020870161435c565b9190910192915050565b5f8261506757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161507d81846020890161435c565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1829:15502:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:124;;;-1:-1:-1;;;625:63:124;;;197:92:170;16425:19:90;305:11:170;;;298:100;;;414:12;;;407:101;;;16425:19:90;16447:32;;524:12:170;625:63:124;;;;;;;;;;;;617:72;;;:::i;:::-;16447:13:90;:32::i;:::-;625:63:124;;;-1:-1:-1;;;625:63:124;;;197:92:170;662:14:124;305:11:170;;;298:100;;;414:12;;;407:101;16425:54:90;;-1:-1:-1;16485:57:90;;524:12:170;625:63:124;;;;;;;;;;;;617:72;;;:::i;:::-;16518:23:90;16532:9;16518:11;:23;:::i;:::-;16485:13;:57::i;:::-;16419:128;1829:15502;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;;;;;;;;2933:88;16688:19:::1;16709:29:::0;16742:31:::1;16765:7;;-1:-1:-1::0;;;;;;16765:7:90::1;16742:22;:31::i;:::-;16687:86;;;;16802:8;16815:1;16784:32:::0;::::1;::::0;16780:84:::1;;16825:39;::::0;::::1;::::0;;-1:-1:-1;;;;;;16856:7:90::1;;;16825:39;::::0;::::1;1372:98:170::0;1345:18;;16825:39:90::1;1228:248:170::0;16780:84:90::1;16954:21;16978:52;16994:8;;16978:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;16978:52:90;-1:-1:-1;17007:22:90;;-1:-1:-1;16978:15:90::1;::::0;-1:-1:-1;16978:52:90:i:1;:::-;16954:76;;17088:23;17114:75;17147:10;17159:8;17169;17179:9;17114:32;:75::i;:::-;17088:101;;17307:10;17301:17;17294:4;17282:10;17278:21;17271:48;1975:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:170;;;1627:74;;1615:2;1600:18;1975:32:90;;;;;;;;4012:258:28;;;;;;;;;;-1:-1:-1;4012:258:28;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8232:350:90:-;;;;;;;;;;-1:-1:-1;8232:350:90;;;;;:::i;:::-;;:::i;11448:400::-;;;;;;;;;;-1:-1:-1;11448:400:90;;;;;:::i;:::-;;:::i;5279:244:28:-;;;;;;;;;;-1:-1:-1;5279:244:28;;;;;:::i;:::-;;:::i;5730:431:90:-;;;;;;;;;;-1:-1:-1;5730:431:90;;;;;:::i;:::-;;:::i;8991:392::-;;;;;;;;;;-1:-1:-1;8991:392:90;;;;;:::i;:::-;;:::i;9915:404::-;;;;;;;;;;-1:-1:-1;9915:404:90;;;;;:::i;:::-;;:::i;779:156:28:-;;;;;;;;;;-1:-1:-1;779:156:28;;;;;:::i;:::-;;:::i;:::-;;;8307:25:170;;;8295:2;8280:18;779:156:28;8129:209:170;13744:234:90;;;;;;:::i;:::-;;:::i;2673:289:28:-;;;;;;;;;;-1:-1:-1;2673:289:28;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7802:295::-;;;;;;;;;;-1:-1:-1;7802:295:28;;;;;:::i;:::-;;:::i;12983:285:90:-;;;;;;;;;;-1:-1:-1;12983:285:90;;;;;:::i;:::-;;:::i;2069:85::-;;;;;;;;;;-1:-1:-1;2136:13:90;2069:85;;14378:1732;;;;;;:::i;:::-;;:::i;4667:265:28:-;;;;;;;;;;-1:-1:-1;4667:265:28;;;;;:::i;:::-;;:::i;6537:258::-;;;;;;;;;;-1:-1:-1;6537:258:28;;;;;:::i;:::-;;:::i;5985:216::-;;;;;;;;;;-1:-1:-1;5985:216:28;;;;;:::i;:::-;;:::i;4059:213:90:-;;;;;;;;;;-1:-1:-1;4059:213:90;;;;;:::i;:::-;;:::i;6530:370::-;;;;;;;;;;-1:-1:-1;6530:370:90;;;;;:::i;:::-;;:::i;7424:480::-;;;;;;;;;;-1:-1:-1;7424:480:90;;;;;:::i;:::-;;:::i;3262:553::-;;;;;;;;;;-1:-1:-1;3262:553:90;;;;;:::i;:::-;;:::i;1974:247:28:-;;;;;;;;;;-1:-1:-1;1974:247:28;;;;;:::i;:::-;;:::i;3441:216::-;;;;;;;;;;-1:-1:-1;3441:216:28;;;;;:::i;:::-;;:::i;1454:143::-;;;;;;;;;;-1:-1:-1;1454:143:28;;;;;:::i;:::-;;:::i;12287:405:90:-;;;;;;;;;;-1:-1:-1;12287:405:90;;;;;:::i;:::-;;:::i;7118:244:28:-;;;;;;;;;;-1:-1:-1;7118:244:28;;;;;:::i;:::-;;:::i;1122:151::-;;;;;;;;;;-1:-1:-1;1122:151:28;;;;;:::i;:::-;;:::i;10685:378:90:-;;;;;;;;;;-1:-1:-1;10685:378:90;;;;;:::i;:::-;;:::i;3758:308:112:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:112;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:112;:62::i;:::-;3945:78;3758:308;-1:-1:-1;;;;3758:308:112:o;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:112;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;19370:19:170;;19414:2;19405:12;;19241:182;5279:27:112;;;;-1:-1:-1;;5279:27:112;;;;;;;;;-1:-1:-1;;;5230:24:112;:91::i;:::-;5121:205;5057:269;;:::o;6324:470:113:-;6486:16;;;6500:1;6486:16;;;;;;;;;6399:19;;;;;;6486:16;;;;;;;;;;;-1:-1:-1;6486:16:113;6457:45;;6531:21;6523:30;;;6508:9;6518:1;6508:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6561:24;;;6648:78;1174:66;6691:9;1303:66;6648:19;:78::i;:::-;6560:166;;;;;;6739:50;6746:11;6759:15;6776:12;6739:6;:50::i;:::-;6732:57;;;;;;;;6324:470;;;:::o;1563:492:2:-;1744:28;;;1759:4;1744:28;1738:35;;1847:9;1836:21;1903:20;;1961:43;;1752:5;1563:492;;;;;;:::o;7661:401:87:-;7805:17;7831:12;7845:23;7872:115;7902:6;7946:8;7972;7923:5;7872:13;:115::i;:::-;7830:157;;;;7998:7;7993:41;;8007:27;8023:10;8007:15;:27::i;:::-;8047:10;7661:401;-1:-1:-1;;;;;;7661:401:87:o;4012:258:28:-;4171:17;4203:62;4222:7;4231:8;;4203:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4241:10:28;;-1:-1:-1;4253:11:28;;-1:-1:-1;4203:18:28;;-1:-1:-1;4203:62:28:i;8232:350:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;8445:49:::1;8474:7;8483:10;8445:28;:49::i;:::-;8522:55;8541:7;8550:8;;8522:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8522:55:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8560:10;;-1:-1:-1;8522:55:90;-1:-1:-1;8572:4:90;;;;;;8522:55;::::1;8572:4:::0;;;;8522:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8522:18:90::1;::::0;-1:-1:-1;;;8522:55:90:i:1;:::-;8232:350:::0;;;;;;:::o;11448:400::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;11684:49:::1;11713:7;11722:10;11684:28;:49::i;:::-;11765:78;11794:7;11803:8;;11765:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11765:78:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11813:17;;-1:-1:-1;11765:78:90;-1:-1:-1;11832:10:90;;;;;;11765:78;::::1;11832:10:::0;;;;11765:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11765:28:90::1;::::0;-1:-1:-1;;;11765:78:90:i:1;5279:244:28:-:0;5423:17;5455:63;5481:7;5490:8;;5455:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5500:17:28;;-1:-1:-1;5455:25:28;;-1:-1:-1;;5455:63:28:i;:::-;5448:70;5279:244;-1:-1:-1;;;;;5279:244:28:o;5730:431:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;5999:49:::1;6028:7;6037:10;5999:28;:49::i;:::-;6077:79;6097:7;6106:8;;6077:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6077:79:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;6116:10:90;;-1:-1:-1;6116:10:90;;;;6077:79;::::1;6116:10:::0;;;;6077:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;6077:79:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6128:14;;-1:-1:-1;6077:79:90;-1:-1:-1;6144:11:90;;;;;;6077:79;::::1;6144:11:::0;;;;6077:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6077:19:90::1;::::0;-1:-1:-1;;;6077:79:90:i:1;:::-;5730:431:::0;;;;;;;;:::o;8991:392::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;9233:49:::1;9262:7;9271:10;9233:28;:49::i;:::-;9310:68;9329:7;9338:8;;9310:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9310:68:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9348:10;;-1:-1:-1;9310:68:90;-1:-1:-1;9360:4:90;;;;;;9310:68;::::1;9360:4:::0;;;;9310:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9366:11:90;;-1:-1:-1;9310:18:90::1;::::0;-1:-1:-1;;9310:68:90:i:1;:::-;8991:392:::0;;;;;;;:::o;9915:404::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;10163:49:::1;10192:7;10201:10;10163:28;:49::i;:::-;10240:74;10265:7;10274:8;;10240:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10240:74:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10284:10;;-1:-1:-1;10240:74:90;-1:-1:-1;10296:4:90;;;;;;10240:74;::::1;10296:4:::0;;;;10240:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10302:11:90;;-1:-1:-1;10240:24:90::1;::::0;-1:-1:-1;;10240:74:90:i:1;779:156:28:-:0;852:23;897:33;922:7;897:24;:33::i;:::-;883:47;779:156;-1:-1:-1;;779:156:28:o;13744:234:90:-;13871:12;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;13898:75:::1;13931:10;13943:8;13953;13963:9;13898:32;:75::i;2673:289:28:-:0;2811:23;2836:29;2867:24;2906:51;2926:7;2935:8;;2906:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2945:11:28;;-1:-1:-1;2906:19:28;;-1:-1:-1;;2906:51:28:i;:::-;2899:58;;;;;;2673:289;;;;;;;;:::o;7802:295::-;7985:12;8012:80;8043:7;8052:8;8062:17;8081:5;8088:3;8012:30;:80::i;12983:285:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;13141:49:::1;13170:7;13179:10;13141:28;:49::i;:::-;13222:41;13245:7;13254:8;;13222:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13222:22:90::1;::::0;-1:-1:-1;;;13222:41:90:i:1;14378:1732::-:0;14532:12;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;14633:10:::1;-1:-1:-1::0;;;;;14620:23:90;::::1;::::0;14616:126:::1;;14660:75;14693:10;14705:8;14715;14725:9;14660:32;:75::i;:::-;14653:82;;;;14616:126;14863:33;14899:75;14939:9;14961:10;14899:26;:75::i;:::-;14863:111;;14985:84;15003:22;15027:9;15038:10;15050:8;15060;14985:17;:84::i;:::-;14981:227;;;15127:74;15160:9;15171:8;15181;15191:9;15127:32;:74::i;:::-;15120:81;;;;;14981:227;15282:35;15320:75;15360:9;15390:1;15320:26;:75::i;:::-;15282:113;;15405:86;15423:24;15449:9;15460:10;15472:8;15482;15405:17;:86::i;:::-;15401:229;;;15549:74;15582:9;15593:8;15603;15613:9;15549:32;:74::i;:::-;15542:81;;;;;;15401:229;15704:40;15747:58;-1:-1:-1::0;;;578:36:95;2955:46;;2954:74;15747:31:90::1;:58::i;:::-;15704:101;;15815:91;15833:29;15864:9;15875:10;15887:8;15897;15815:17;:91::i;:::-;15811:234;;;15964:74;15997:9;16008:8;16018;16028:9;15964:32;:74::i;:::-;15957:81;;;;;;;15811:234;16058:47;::::0;::::1;::::0;;-1:-1:-1;;;;;19681:15:170;;16058:47:90::1;::::0;::::1;19663:34:170::0;16094:10:90::1;19713:18:170::0;;;19706:43;19575:18;;16058:47:90::1;19428:327:170::0;4667:265:28;4832:12;4859:68;4884:7;4893:8;;4859:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4903:10:28;;-1:-1:-1;4915:11:28;;-1:-1:-1;4859:24:28;;-1:-1:-1;4859:68:28:i;6537:258::-;6700:7;6722:68;6747:7;6756:8;6766:10;6778:11;6722:24;:68::i;5985:216::-;6119:7;6141:55;6166:7;6175:8;6185:10;6141:24;:55::i;4059:213:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;625:63:124::1;::::0;;-1:-1:-1;;;625:63:124::1;::::0;::::1;197:92:170::0;662:14:124::1;305:11:170::0;;;298:100;;;414:12;;;407:101;4164:58:90::1;::::0;524:12:170;625:63:124::1;;;;;;;;;;;;617:72;;;:::i;:::-;4211:10:90;4164:27;:58::i;:::-;4228:39;4247:6;4255:11;4228:18;:39::i;:::-;4059:213:::0;;:::o;6530:370::-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;6751:49:::1;6780:7;6789:10;6751:28;:49::i;:::-;6837:58;6864:7;6873:8;;6837:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6837:58:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6883:5;;-1:-1:-1;6837:58:90;-1:-1:-1;6890:4:90;;;;;;6837:58;::::1;6890:4:::0;;;;6837:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6837:26:90::1;::::0;-1:-1:-1;;;6837:58:90:i:1;7424:480::-:0;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;7710:49:::1;7739:7;7748:10;7710:28;:49::i;:::-;7797:102;7825:7;7834:8;;7797:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7797:102:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7844:17;;-1:-1:-1;7863:16:90;;-1:-1:-1;7881:11:90;;7894:4;;;;;;7797:102;::::1;7894:4:::0;;;;7797:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7797:27:90::1;::::0;-1:-1:-1;;;7797:102:90:i:1;3262:553::-:0;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;3405:10:::1;-1:-1:-1::0;;;;;3419:7:90::1;3405:21;;3401:109;;625:63:124;::::0;;-1:-1:-1;;;625:63:124::1;::::0;::::1;197:92:170::0;662:14:124::1;305:11:170::0;;;298:100;;;414:12;;;407:101;3462:28:90::1;::::0;524:12:170;625:63:124::1;;;;;;;;;;;;617:72;;;:::i;:::-;3462:26:90;:28::i;:::-;3492:10;3443:60;;;;;;;;;;;;:::i;3401:109::-;3601:1;3566:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;3566:37:90::1;;3562:91;;3620:26;;;;;;;;;;;;;;3562:91;3659:42;3689:10;3659:21;:42::i;:::-;3797:12;::::0;;3807:1:::1;3797:12:::0;;::::1;::::0;::::1;::::0;;;3766:44:::1;::::0;3785:10;;3766:18:::1;:44::i;:::-;3262:553:::0;:::o;1974:247:28:-;2083:23;2108:29;2139:24;2178:38;2198:7;2207:8;;2178:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2178:19:28;;-1:-1:-1;;;2178:38:28:i;:::-;2171:45;;;;;;1974:247;;;;;;;:::o;3441:216::-;3571:17;3603:49;3622:7;3631:8;;3603:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3641:10:28;;-1:-1:-1;3603:18:28;;-1:-1:-1;;3603:49:28:i;1454:143::-;1525:16;1561:31;1584:7;1561:22;:31::i;12287:405:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;12522:49:::1;12551:7;12560:10;12522:28;:49::i;:::-;12603:84;12633:7;12642:8;;12603:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12652:17:90;;-1:-1:-1;12671:15:90;;-1:-1:-1;12603:29:90::1;::::0;-1:-1:-1;12603:84:90:i:1;:::-;12287:405:::0;;;;;:::o;7118:244:28:-;7266:7;7288:69;7320:7;7329:8;7339:17;7288:31;:69::i;1122:151::-;1195:18;1235:33;1260:7;1235:24;:33::i;10685:378:90:-;2959:4;2937:10;:27;2933:88;;2981:33;;-1:-1:-1;;;2981:33:90;;-1:-1:-1;;;;;;3006:7:90;;;2981:33;;;1372:98:170;1345:18;;2981:33:90;1228:248:170;2933:88:90;10912:49:::1;10941:7;10950:10;10912:28;:49::i;:::-;10989:69;11015:7;11024:8;;10989:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10989:69:90::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11034:17;;-1:-1:-1;10989:69:90;-1:-1:-1;11053:4:90;;;;;;10989:69;::::1;11053:4:::0;;;;10989:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10989:25:90::1;::::0;-1:-1:-1;;;10989:69:90:i:1;36171:541:25:-:0;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;36635:63:25;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;32759:1315::-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:25;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:3;;;33532:33:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:25;-1:-1:-1;33518:47:25;-1:-1:-1;894:4:19;884:15;;33573:21:25;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:25;33808:25;:14;33831:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:25;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;8363:236:113:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:113;-1:-1:-1;;;;8363:236:113:o;6185:1003:87:-;6321:12;6335:17;6384:22;6409:26;6426:8;6409:16;:26::i;:::-;6384:51;;6512:9;6507:228;6527:5;:12;6523:1;:16;6507:228;;;6554:9;6576:5;6582:1;6576:8;;;;;;;;:::i;:::-;;;;;;;6554:31;;6597:34;458:6:142;6597:4:87;:14;;;;;:34;;;;:::i;:::-;6593:136;;;6643:77;;;;;3536:35:5;;;;;6643:49:87;;:77;;6693:6;;6701:8;;6711;;6643:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6593:136;-1:-1:-1;6541:3:87;;6507:228;;;;6810:78;6825:6;6840:5;6857:8;6877;6810:4;:78::i;:::-;6792:96;;-1:-1:-1;6792:96:87;-1:-1:-1;6963:9:87;6958:226;6978:5;:12;6974:1;:16;6958:226;;;7005:9;7027:5;7033:1;7027:8;;;;;;;;:::i;:::-;;;;;;;7005:31;;7048:33;586:6:142;7048:4:87;:14;;;;;:33;;;;:::i;:::-;7044:134;;;7093:76;;;;;3536:35:5;;;;;7093:48:87;;:76;;7142:6;;7150:8;;7160;;7093:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7044:134;-1:-1:-1;6992:3:87;;6958:226;;;;6354:834;6185:1003;;;;;;;:::o;348:217:141:-;551:6;545:13;538:4;530:6;526:17;519:40;35124:440:25;35275:12;35312:29;:11;:27;:29::i;:::-;35299:10;:42;;;35295:265;;;35358:82;35397:7;35406:8;35416:10;35428:11;35358:38;:82::i;:::-;35351:89;;;;35295:265;35468:85;35484:7;35493:8;35522:29;:11;:27;:29::i;:::-;35503:49;;:10;:49;:::i;:::-;35468:15;:85::i;2926:283:66:-;3089:30;3100:10;3112:6;3089:10;:30::i;:::-;3084:121;;3168:21;:10;:19;:21::i;:::-;3191:6;3136:62;;;;;;;;;;;;:::i;20949:192:25:-;21066:70;21075:7;21084:8;21094:10;21106:4;21112:23;21127:7;21112:14;:23::i;:::-;21066:8;:70::i;:::-;20949:192;;;;:::o;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:25;29171:49;29023:106;29202:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:25;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:25;37440:12;:257::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;22040:409::-;22223:29;:11;:27;:29::i;:::-;22210:10;:42;;;22206:239;;;22262:64;22277:7;22286:8;22296:10;22308:4;22314:11;22262:14;:64::i;:::-;22206:239;;;22347:91;22363:7;22372:8;22401:29;:11;:27;:29::i;:::-;22382:49;;:10;:49;:::i;:::-;22433:4;22347:15;:91::i;4015:652::-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1336:66:34;;4015:652:25;-1:-1:-1;4015:652:25:o;4314:111::-;4469:185;4515:85;1207:66:34;4591:7:25;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;40903:1149::-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;;;;;;;21058:25:170;;;21099:18;;;21092:34;;;21031:18;;41173:44:25;20884:248:170;41141:83:25;41433:29;41465:66;41513:7;41522:8;41465:47;:66::i;:::-;41433:98;-1:-1:-1;41537:19:25;41559:41;41433:98;41582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;41559:41:25;41537:63;;41619:11;41610:5;:20;;:41;;;;41640:11;41634:3;:17;41610:41;41606:157;;;41704:11;41726;41717:5;:20;;:38;;41748:7;41754:1;41748:3;:7;:::i;:::-;41717:38;;;41740:5;41717:38;41668:88;;;;;;;;21058:25:170;;;;21099:18;;;21092:34;21031:18;;41668:88:25;20884:248:170;41606:157:25;41833:16;41852:79;41894:7;41903:8;41913:17;41852:41;:79::i;:::-;41833:98;;41963:78;41994:8;42012:5;42033;42027:3;:11;41963:12;:78::i;:::-;41956:85;40903:1149;-1:-1:-1;;;;;;;;;40903:1149:25:o;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;4219:406:123:-;4361:16;;;4375:1;4361:16;;;;;;;;4294:30;;;;4361:16;4375:1;4361:16;;;;;;;;;;-1:-1:-1;4361:16:123;4332:45;;4422:9;-1:-1:-1;;;;;4406:27:123;4398:36;;4383:9;4393:1;4383:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;4479:9;-1:-1:-1;;;;;4463:27:123;4455:36;;4440:9;4450:1;4440:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;4498:13;4514:62;1178:66;4549:9;4498:13;-1:-1:-1;;;4514:24:123;:62::i;2194:811:69:-;2366:4;2438:32;2450:19;2438:11;:32::i;:::-;2434:49;;;-1:-1:-1;2479:4:69;2472:11;;2434:49;810:53;2542:46;;-1:-1:-1;2583:5:69;2576:12;;2542:46;2702:12;2716:17;2737:193;2769:9;2922:1;2796:19;2876:9;2887:8;2897;2833:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2833:74:69;;;;;;;;;;;;;;;;;;;;2737:15;:193::i;:::-;2701:229;;;;2942:7;2937:26;;2958:5;2951:12;;;;;;2937:26;2987:4;2976:24;;;;;;;;;;;;:::i;:::-;2969:31;2194:811;-1:-1:-1;;;;;;;;2194:811:69:o;3931:329:117:-;4059:16;;;4073:1;4059:16;;;;;;;;;3992:30;;;;4059:16;;;;;;;;;;;;-1:-1:-1;4059:16:117;4030:45;;4114:11;4081:9;4091:1;4081:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4133:13;4149:62;1183:66;4184:9;4133:13;-1:-1:-1;;;4149:24:117;:62::i;38966:427:25:-;39123:7;39138:21;39168:29;:11;:27;:29::i;:::-;39138:60;;39221:15;39208:28;;:10;:28;;;39204:185;;;39253:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;39253:31:25;39246:38;;;;;39204:185;39312:70;39334:7;39343:8;39353:28;39366:15;39353:10;:28;:::i;:::-;39312:21;:70::i;38319:225::-;38447:7;38469:70;38484:7;38493:8;38503:10;38515:23;38530:7;38515:14;:23::i;:::-;38469:14;:70::i;4186:234:66:-;-1:-1:-1;;;;;4272:58:66;;:48;-1:-1:-1;;;578:36:95;2955:46;;2954:74;4272:19:66;:48::i;:::-;-1:-1:-1;;;;;4272:58:66;;4268:148;;4379:21;:10;:19;:21::i;4464:570:90:-;4620:60;4645:6;4654:25;4620:16;:60::i;:::-;4687:210;4762:10;4790:1;4815:6;4877:11;4840:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4840:50:90;;;;;;;;;;;;;;;;;;;;4687:55;:210::i;:::-;;4961:68;4991:6;5010:11;5000:22;;;;;;5024:4;4961:21;:68::i;17013:1682:25:-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:37;17798:4:25;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:5;;;;;17851:54:25;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:25;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:37;18455:4:25;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:5;;;;;18507:53:25;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:25;;18365:326;;19594:539;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;3486:592:95:-;3550:13;3620:10;451:5:20;2637:44:95;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:95;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;3133:234:115:-;3221:16;;;3171:13;3221:16;;;;;;;;;3244:13;3260:64;1085:66;3192:45;3244:13;1214:66;3260:26;:64::i;:::-;3338:23;;;3133:234;-1:-1:-1;;;3133:234:115:o;4151:191::-;4223:16;;;4194:26;4223:16;;;;;;;;24211:2:170;24207:15;;;24224:66;24203:88;4297:25:115;;;24191:101:170;4297:25:115;;;;;24308:12:170;4297:25:115;;;24308:12:170;;;4297:25:115;;;4223:16;;4246:91;;1085:66;;4223:16;;4194:26;1214:66;4246:26;:91::i;31958:254:25:-;32059:23;32084:29;32115:24;32154:53;32164:7;32173:8;32183:23;32198:7;32183:14;:23::i;:::-;32154:9;:53::i;:::-;32147:60;;;;;;31958:254;;;;;:::o;34503:218::-;34625:12;34652:64;34661:7;34670:8;34680:10;34692:23;34707:7;34692:14;:23::i;:::-;34652:8;:64::i;4927:379::-;4992:16;5028:29;5049:7;5028:20;:29::i;:::-;5016:41;;5171:31;5194:7;5171:22;:31::i;:::-;5166:136;;5252:7;5285;5268:25;;;;;;19370:19:170;;19414:2;19405:12;;19241:182;5268:25:25;;;;-1:-1:-1;;5268:25:25;;;;;;;;;;5219:76;;;;;;;;;:::i;5166:136::-;4927:379;;;:::o;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:25;30643:49;30495:106;30674:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:25;30607:86;-1:-1:-1;30731:333:25;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;5574:273::-;5641:18;5681:31;5704:7;5681:22;:31::i;:::-;5667:45;-1:-1:-1;5550:35:21;5718:125:25;;5793:7;5826;5809:25;;;;;;19370:19:170;;19414:2;19405:12;;19241:182;24152:738:25;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:25;24551:49;24403:106;24582:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:25;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:25;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:25:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:4;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;52003:32:25;;:::i;:::-;;-1:-1:-1;51990:3:25;;51958:84;;;-1:-1:-1;52054:6:25;51823:242;-1:-1:-1;;;51823:242:25:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4598:171:4:-;4672:7;579:1:35;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;48823:360:25:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:25;;;;;;;;;-1:-1:-1;48986:9:25;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:4:-;5451:7;579:1:35;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:4;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:4:o;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;52742:274:25;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:35;804:25:36;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:35;804:25:36;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:35;804:25:36;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;7963:242:113:-;35423:4:2;35409:27;;35403:34;35409:27;;;35403:34;8028:19:113;;8173:26;8147:53;;7963:242;;;:::o;3857:344:120:-;3974:16;;;3988:1;3974:16;;;;;;;;;3915:22;;3945:26;;3974:16;;;;;;;;;;;;-1:-1:-1;3974:16:120;3945:45;;4029:8;3996:9;4006:1;3996:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4045:18;4066:49;1163:66;4102:9;4045:18;4066:25;:49::i;:::-;4045:70;;4129:66;:44;4150:5;4157:1;4160:5;:12;4129:20;:44::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1387:87:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:87;-1:-1:-1;;;;;;2067:27:87;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:65;;2289:46;2318:8;2328:6;2289:28;:46::i;:::-;2414:9;;2410:197;;578:36:95;2955:46;;-1:-1:-1;;;2954:74:95;2433:22:87;2516:26;2954:74:95;2516:13:87;:26::i;:::-;2491:51;-1:-1:-1;2550:50:87;2564:11;2577:22;2594:5;2491:51;2577:22;:::i;2550:50::-;2425:182;;2410:197;2709:14;2682:23;:8;451:5:20;2637:44:95;;2539:148;2682:23:87;:41;;;:461;;2983:160;3044:6;3070:5;3093:13;3126:8;2983:39;:160::i;:::-;2682:461;;;2806:168;2875:6;2901:5;2924:13;2957:8;2806:47;:168::i;:::-;2664:479;;;;-1:-1:-1;1761:1387:87;-1:-1:-1;;;;;;;1761:1387:87:o;4979:171:4:-;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;49648:511:25:-;49811:12;49953:201;49992:41;50015:7;50024:8;49992:22;:41::i;:::-;50051:45;50072:11;50085:10;50051:20;:45::i;:::-;50114:31;;;;4323:19:4;:27;579:1:35;4322:44:4;4288:79;;;4275:93;37440:12:25;:257::i;1670:328:66:-;1752:4;1894:56;-1:-1:-1;;;578:36:95;2955:46;;2954:74;1943:6:66;1894:19;:56::i;:::-;:99;;;;1954:39;1974:10;1986:6;1954:19;:39::i;44254:4001:25:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;19370:19:170;;19414:2;19405:12;;19241:182;44775:25:25;;;;-1:-1:-1;;44775:25:25;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:25;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:25;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26734:12:170;26773:15;;;45340:92:25;;;26755:34:170;26825:15;;;26805:18;;;26798:43;26877:15;;26857:18;;;26850:43;26697:18;;45340:92:25;26528:371:170;45221:218:25;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;27077:25:170;;;27150:12;27138:25;;27118:18;;;27111:53;27050:18;;45581:74:25;26904:266:170;45522:140:25;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:37;46104:4:25;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:5;;;;-1:-1:-1;;;;;46158:55:25;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:25;;46014:486;;;-1:-1:-1;46558:32:25;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:25;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:23;;;-1:-1:-1;47216:248:25;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:37;47858:4:25;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:5;;;;-1:-1:-1;;;;;47911:54:25;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:25;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;5042:669:23:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;13212:3165:25:-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:37;13976:4:25;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:5;;;;;14021:47:25;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:25;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:25;894:4:19;884:15;;14520:54:25;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:23;;;14915:102:25;-1:-1:-1;894:4:19;884:15;;15191:47:25;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:25;:14;15615:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:25;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:25;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:37;16125:4:25;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:5;;;;;16169:46:25;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:25;;16035:338;;;;13422:2955;;;13212:3165;;;;;;:::o;51249:282::-;51494:30;;;;;;30654:19:170;;;30689:12;;;30682:28;;;51337:7:25;;30726:12:170;;51494:30:25;30466:278:170;26296:1804:25;26484:23;26463:7;:44;;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:37;26918:4:25;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:5;;;;;26966:50:25;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:25;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:25;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:37;27953:4:25;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:5;;;;;28000:49:25;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:25;;27863:233;;1129:181:69;764:71:124;;;781:15;764:71;;;197:92:170;1205:4:69;305:11:170;;;298:100;;;814:20:124;414:12:170;;;407:101;1205:4:69;524:12:170;764:71:124;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:69;;;;1129:181;-1:-1:-1;1129:181:69:o;3750:306:118:-;3861:16;;;3875:1;3861:16;;;;;;;;;3811:13;;;;3861:16;;;;;;;;;;;;-1:-1:-1;3861:16:118;3832:45;;3916:11;3883:9;3893:1;3883:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3935:13;3951:62;1169:66;3986:9;3935:13;1298:66;3951:24;:62::i;:::-;4027:23;;;3750:306;-1:-1:-1;;;;3750:306:118:o;692:238:138:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;31676:55:170;;853:70:138;;;31658:74:170;-1:-1:-1;;;;;;31768:79:170;;31748:18;;;31741:107;31631:18;;853:70:138;31486:368:170;8793:415:91;8948:17;8974:12;8988:18;9010:133;9053:9;9080:8;9104:6;9128:8;9010:23;:133::i;5584:340:116:-;5706:16;;;5720:1;5706:16;;;;;;;;5677:26;;5706:16;;;;;;;;;;-1:-1:-1;5706:16:116;5677:45;;5767:13;-1:-1:-1;;;;;5751:31:116;5743:40;;5728:9;5738:1;5728:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5804:13;5789:9;5799:1;5789:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5824:95;1084:66;1068:83;;5859:9;5870:1;5891:11;5873:31;;;;;;32010:14:170;32003:22;31998:3;31994:32;31982:45;;32052:1;32043:11;;31859:201;5873:31:116;;;;-1:-1:-1;;5873:31:116;;;;;;;;;1213:66;5824:24;:95::i;3656:342:33:-;3772:16;;;3786:1;3772:16;;;;;;;;;3713:22;;3743:26;;3772:16;;;;;;;;;;;;-1:-1:-1;3772:16:33;3743:45;;3827:7;3794:9;3804:1;3794:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3842:18;3863:49;969:66;3899:9;3842:18;3863:25;:49::i;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;3165:160:95:-;3228:7;3292:26;438:6;451:5:20;3292:26:95;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:95:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:2;3257:13;;3253:24;2007:42:95;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;32218:66:170;32206:79;;2092:30:95;;;32194:92:170;2092:30:95;;32302:12:170;;;;2092:30:95;;;875:21:2;;;2092:30:95;2142:39;760:164:2;17775:457:29;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:29;-1:-1:-1;;;;;17998:30:29;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;17994:234::-;18141:80;;;;;-1:-1:-1;;;;;18141:36:29;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:29;-1:-1:-1;;;;;10984:30:29;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:29;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4729:312:34;4848:16;;;4862:1;4848:16;;;;;;;;;4795;;;;4848;;;;;;;;;;;;-1:-1:-1;4848:16:34;4819:45;;4903:7;4870:9;4880:1;4870:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4918:13;4934:62;1207:66;4969:9;4980:1;1336:66;4934:24;:62::i;2856:314:32:-;2970:16;;;2984:1;2970:16;;;;;;;;;2922:11;;;;2970:16;;;;;;;;;;;;-1:-1:-1;2970:16:32;2941:45;;3025:10;2992:9;3002:1;2992:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3043:13;3059:62;971:66;3094:9;3043:13;1100:66;3059:24;:62::i;:::-;3043:78;;3135:29;3156:5;3143:20;;1650:10:20;1541:126;6111:316:34;6234:16;;;6248:1;6234:16;;;;;;;;;6179:18;;;;6234:16;;;;;;;;;;;;-1:-1:-1;6234:16:34;6205:45;;6289:7;6256:9;6266:1;6256:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;6304:13;6320:62;1207:66;6355:9;6366:1;1336:66;6320:24;:62::i;53371:230:25:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:25;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:25:o;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:39:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;5928:433:122:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:122;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;5610:317:91:-;5749:12;5763:17;5806:6;-1:-1:-1;;;;;5806:11:91;5826:1;5837:79;5863:8;5884:9;5905:8;5837:13;:79::i;:::-;5806:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5788:134:91;;;;-1:-1:-1;5610:317:91;-1:-1:-1;;;;;5610:317:91:o;7155:321::-;7302:12;7316:17;7359:6;-1:-1:-1;;;;;7359:19:91;7386:79;7412:8;7433:9;7454:8;7386:13;:79::i;:::-;7359:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4006:378:119;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:119;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:119;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;1650:10:20;1541:126;7468:1525:3;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;8307:25:170;;;8280:18;;7664:67:3;8129:209:170;7618:120:3;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:3;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:3;;;;;:::o;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:35;804:25:36;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:35;804:25:36;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;1312:272:71;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;1836:227:29:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:29;;1953:106;;2001:10;1994:17;;;1836:227;:::o;2681:1129:41:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:41;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:41;3044:11;3238:38:22;3044:11:41;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;7829:207:122:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;4913:201:91:-;5035:12;5079:8;5089:9;5100:8;5062:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5055:54;;4913:201;;;;;:::o;708:400:71:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:71;1073:7;-1:-1:-1;;;;;;1040:32:71;:63::i;:::-;1039:64;948:155;708:400;-1:-1:-1;;708:400:71:o;4132:576::-;4295:56;;-1:-1:-1;;;;;;1390:79:170;;4295:56:71;;;1372:98:170;4234:4:71;;;;1345:18:170;;4295:56:71;;;-1:-1:-1;;4295:56:71;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:71;;-1:-1:-1;;4498:7:71;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:71:o;7448:223:122:-;35423:4:2;35409:27;;35403:34;35409:27;;;35403:34;7564:35:122;;;;;;7513:14;;7631:33;;7623:42;1541:126:20;547:357:170;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:170;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:170;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:170;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:707;2419:6;2427;2435;2443;2451;2504:3;2492:9;2483:7;2479:23;2475:33;2472:53;;;2521:1;2518;2511:12;2472:53;2557:9;2544:23;2534:33;;2618:2;2607:9;2603:18;2590:32;2645:18;2637:6;2634:30;2631:50;;;2677:1;2674;2667:12;2631:50;2716:70;2778:7;2769:6;2758:9;2754:22;2716:70;:::i;:::-;2805:8;;-1:-1:-1;2690:96:170;-1:-1:-1;2859:36:170;;-1:-1:-1;2891:2:170;2876:18;;2859:36;:::i;:::-;2245:707;;;;-1:-1:-1;2245:707:170;;2942:2;2927:18;2914:32;;2245:707;-1:-1:-1;;2245:707:170:o;2957:250::-;3042:1;3052:113;3066:6;3063:1;3060:13;3052:113;;;3142:11;;;3136:18;3123:11;;;3116:39;3088:2;3081:10;3052:113;;;-1:-1:-1;;3199:1:170;3181:16;;3174:27;2957:250::o;3212:329::-;3253:3;3291:5;3285:12;3318:6;3313:3;3306:19;3334:76;3403:6;3396:4;3391:3;3387:14;3380:4;3373:5;3369:16;3334:76;:::i;:::-;3455:2;3443:15;-1:-1:-1;;3439:88:170;3430:98;;;;3530:4;3426:109;;3212:329;-1:-1:-1;;3212:329:170:o;3546:217::-;3693:2;3682:9;3675:21;3656:4;3713:44;3753:2;3742:9;3738:18;3730:6;3713:44;:::i;3768:347::-;3819:8;3829:6;3883:3;3876:4;3868:6;3864:17;3860:27;3850:55;;3901:1;3898;3891:12;3850:55;-1:-1:-1;3924:20:170;;3967:18;3956:30;;3953:50;;;3999:1;3996;3989:12;3953:50;4036:4;4028:6;4024:17;4012:29;;4088:3;4081:4;4072:6;4064;4060:19;4056:30;4053:39;4050:59;;;4105:1;4102;4095:12;4120:915;4273:6;4281;4289;4297;4305;4313;4366:3;4354:9;4345:7;4341:23;4337:33;4334:53;;;4383:1;4380;4373:12;4334:53;4419:9;4406:23;4396:33;;4480:2;4469:9;4465:18;4452:32;4503:18;4544:2;4536:6;4533:14;4530:34;;;4560:1;4557;4550:12;4530:34;4599:70;4661:7;4652:6;4641:9;4637:22;4599:70;:::i;:::-;4688:8;;-1:-1:-1;4573:96:170;-1:-1:-1;4573:96:170;;-1:-1:-1;4742:36:170;4774:2;4759:18;;4742:36;:::i;:::-;4732:46;;4831:2;4820:9;4816:18;4803:32;4787:48;;4860:2;4850:8;4847:16;4844:36;;;4876:1;4873;4866:12;4844:36;;4915:60;4967:7;4956:8;4945:9;4941:24;4915:60;:::i;:::-;4120:915;;;;-1:-1:-1;4120:915:170;;-1:-1:-1;4120:915:170;;4994:8;;4120:915;-1:-1:-1;;;4120:915:170:o;5040:606::-;5173:6;5181;5189;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5302:9;5289:23;5279:33;;5363:2;5352:9;5348:18;5335:32;5390:18;5382:6;5379:30;5376:50;;;5422:1;5419;5412:12;5376:50;5461:70;5523:7;5514:6;5503:9;5499:22;5461:70;:::i;:::-;5550:8;;-1:-1:-1;5435:96:170;-1:-1:-1;5604:36:170;;-1:-1:-1;5636:2:170;5621:18;;5604:36;:::i;:::-;5594:46;;5040:606;;;;;;;:::o;5651:1236::-;5861:6;5869;5877;5885;5893;5901;5909;5917;5970:3;5958:9;5949:7;5945:23;5941:33;5938:53;;;5987:1;5984;5977:12;5938:53;6023:9;6010:23;6000:33;;6084:2;6073:9;6069:18;6056:32;6107:18;6148:2;6140:6;6137:14;6134:34;;;6164:1;6161;6154:12;6134:34;6203:70;6265:7;6256:6;6245:9;6241:22;6203:70;:::i;:::-;6292:8;;-1:-1:-1;6177:96:170;-1:-1:-1;6380:2:170;6365:18;;6352:32;;-1:-1:-1;6396:16:170;;;6393:36;;;6425:1;6422;6415:12;6393:36;6464:60;6516:7;6505:8;6494:9;6490:24;6464:60;:::i;:::-;6543:8;;-1:-1:-1;6438:86:170;-1:-1:-1;6625:2:170;6610:18;;6597:32;;-1:-1:-1;6682:3:170;6667:19;;6654:33;;-1:-1:-1;6699:16:170;;;6696:36;;;6728:1;6725;6718:12;6696:36;;6767:60;6819:7;6808:8;6797:9;6793:24;6767:60;:::i;:::-;5651:1236;;;;-1:-1:-1;5651:1236:170;;-1:-1:-1;5651:1236:170;;;;;;6846:8;-1:-1:-1;;;5651:1236:170:o;6892:1016::-;7086:6;7094;7102;7110;7118;7126;7134;7187:3;7175:9;7166:7;7162:23;7158:33;7155:53;;;7204:1;7201;7194:12;7155:53;7240:9;7227:23;7217:33;;7301:2;7290:9;7286:18;7273:32;7324:18;7365:2;7357:6;7354:14;7351:34;;;7381:1;7378;7371:12;7351:34;7420:70;7482:7;7473:6;7462:9;7458:22;7420:70;:::i;:::-;7509:8;;-1:-1:-1;7394:96:170;-1:-1:-1;7394:96:170;;-1:-1:-1;7563:36:170;7595:2;7580:18;;7563:36;:::i;:::-;7553:46;;7652:2;7641:9;7637:18;7624:32;7608:48;;7681:2;7671:8;7668:16;7665:36;;;7697:1;7694;7687:12;7665:36;;7736:60;7788:7;7777:8;7766:9;7762:24;7736:60;:::i;:::-;6892:1016;;;;-1:-1:-1;6892:1016:170;;;;;;7897:3;7882:19;;;7869:33;;6892:1016;-1:-1:-1;;;;6892:1016:170:o;7913:211::-;8003:6;8056:2;8044:9;8035:7;8031:23;8027:32;8024:52;;;8072:1;8069;8062:12;8024:52;-1:-1:-1;8095:23:170;;7913:211;-1:-1:-1;7913:211:170:o;8343:184::-;-1:-1:-1;;;8392:1:170;8385:88;8492:4;8489:1;8482:15;8516:4;8513:1;8506:15;8532:334;8603:2;8597:9;8659:2;8649:13;;-1:-1:-1;;8645:86:170;8633:99;;8762:18;8747:34;;8783:22;;;8744:62;8741:88;;;8809:18;;:::i;:::-;8845:2;8838:22;8532:334;;-1:-1:-1;8532:334:170:o;8871:589::-;8913:5;8966:3;8959:4;8951:6;8947:17;8943:27;8933:55;;8984:1;8981;8974:12;8933:55;9020:6;9007:20;9046:18;9042:2;9039:26;9036:52;;;9068:18;;:::i;:::-;9112:114;9220:4;-1:-1:-1;;9144:4:170;9140:2;9136:13;9132:86;9128:97;9112:114;:::i;:::-;9251:2;9242:7;9235:19;9297:3;9290:4;9285:2;9277:6;9273:15;9269:26;9266:35;9263:55;;;9314:1;9311;9304:12;9263:55;9379:2;9372:4;9364:6;9360:17;9353:4;9344:7;9340:18;9327:55;9427:1;9402:16;;;9420:4;9398:27;9391:38;;;;9406:7;8871:589;-1:-1:-1;;;8871:589:170:o;9465:419::-;9573:6;9581;9634:2;9622:9;9613:7;9609:23;9605:32;9602:52;;;9650:1;9647;9640:12;9602:52;9686:9;9673:23;9663:33;;9747:2;9736:9;9732:18;9719:32;9774:18;9766:6;9763:30;9760:50;;;9806:1;9803;9796:12;9760:50;9829:49;9870:7;9861:6;9850:9;9846:22;9829:49;:::i;:::-;9819:59;;;9465:419;;;;;:::o;9889:636::-;10056:6;10064;10072;10080;10133:2;10121:9;10112:7;10108:23;10104:32;10101:52;;;10149:1;10146;10139:12;10101:52;10185:9;10172:23;10162:33;;10246:2;10235:9;10231:18;10218:32;10273:18;10265:6;10262:30;10259:50;;;10305:1;10302;10295:12;10259:50;10344:70;10406:7;10397:6;10386:9;10382:22;10344:70;:::i;:::-;9889:636;;10433:8;;-1:-1:-1;10318:96:170;;10515:2;10500:18;10487:32;;9889:636;-1:-1:-1;;;;9889:636:170:o;10530:483::-;10786:2;10775:9;10768:21;10749:4;10812:44;10852:2;10841:9;10837:18;10829:6;10812:44;:::i;:::-;10892:6;10887:2;10876:9;10872:18;10865:34;10947:9;10939:6;10935:22;10930:2;10919:9;10915:18;10908:50;10975:32;11000:6;10992;10975:32;:::i;11018:712::-;11072:5;11125:3;11118:4;11110:6;11106:17;11102:27;11092:55;;11143:1;11140;11133:12;11092:55;11179:6;11166:20;11205:4;11228:18;11224:2;11221:26;11218:52;;;11250:18;;:::i;:::-;11296:2;11293:1;11289:10;11319:28;11343:2;11339;11335:11;11319:28;:::i;:::-;11381:15;;;11451;;;11447:24;;;11412:12;;;;11483:15;;;11480:35;;;11511:1;11508;11501:12;11480:35;11547:2;11539:6;11535:15;11524:26;;11559:142;11575:6;11570:3;11567:15;11559:142;;;11641:17;;11629:30;;11592:12;;;;11679;;;;11559:142;;11735:655;11884:6;11892;11900;11908;11916;11969:3;11957:9;11948:7;11944:23;11940:33;11937:53;;;11986:1;11983;11976:12;11937:53;12022:9;12009:23;11999:33;;12083:2;12072:9;12068:18;12055:32;12110:18;12102:6;12099:30;12096:50;;;12142:1;12139;12132:12;12096:50;12165:61;12218:7;12209:6;12198:9;12194:22;12165:61;:::i;:::-;12155:71;;;12245:36;12277:2;12266:9;12262:18;12245:36;:::i;:::-;11735:655;;;;-1:-1:-1;12235:46:170;;12328:2;12313:18;;12300:32;;-1:-1:-1;12379:3:170;12364:19;12351:33;;11735:655;-1:-1:-1;;11735:655:170:o;12395:536::-;12521:6;12529;12537;12590:2;12578:9;12569:7;12565:23;12561:32;12558:52;;;12606:1;12603;12596:12;12558:52;12642:9;12629:23;12619:33;;12703:2;12692:9;12688:18;12675:32;12730:18;12722:6;12719:30;12716:50;;;12762:1;12759;12752:12;12716:50;12801:70;12863:7;12854:6;12843:9;12839:22;12801:70;:::i;:::-;12395:536;;12890:8;;-1:-1:-1;12775:96:170;;-1:-1:-1;;;;12395:536:170:o;13118:154::-;-1:-1:-1;;;;;13197:5:170;13193:54;13186:5;13183:65;13173:93;;13262:1;13259;13252:12;13277:554;13394:6;13402;13410;13463:2;13451:9;13442:7;13438:23;13434:32;13431:52;;;13479:1;13476;13469:12;13431:52;13518:9;13505:23;13537:31;13562:5;13537:31;:::i;:::-;13587:5;-1:-1:-1;13639:2:170;13624:18;;13611:32;;-1:-1:-1;13694:2:170;13679:18;;13666:32;13721:18;13710:30;;13707:50;;;13753:1;13750;13743:12;13707:50;13776:49;13817:7;13808:6;13797:9;13793:22;13776:49;:::i;:::-;13766:59;;;13277:554;;;;;:::o;13836:618::-;14008:6;14016;14024;14032;14085:3;14073:9;14064:7;14060:23;14056:33;14053:53;;;14102:1;14099;14092:12;14053:53;14138:9;14125:23;14115:33;;14199:2;14188:9;14184:18;14171:32;14226:18;14218:6;14215:30;14212:50;;;14258:1;14255;14248:12;14212:50;14281:61;14334:7;14325:6;14314:9;14310:22;14281:61;:::i;:::-;14271:71;;;14361:36;14393:2;14382:9;14378:18;14361:36;:::i;:::-;13836:618;;;;-1:-1:-1;14351:46:170;;14444:2;14429:18;14416:32;;-1:-1:-1;;13836:618:170:o;14641:517::-;14772:6;14780;14788;14841:2;14829:9;14820:7;14816:23;14812:32;14809:52;;;14857:1;14854;14847:12;14809:52;14893:9;14880:23;14870:33;;14954:2;14943:9;14939:18;14926:32;14981:18;14973:6;14970:30;14967:50;;;15013:1;15010;15003:12;14967:50;15036:61;15089:7;15080:6;15069:9;15065:22;15036:61;:::i;:::-;15026:71;;;15116:36;15148:2;15137:9;15133:18;15116:36;:::i;:::-;15106:46;;14641:517;;;;;:::o;15163:472::-;15257:6;15265;15318:2;15306:9;15297:7;15293:23;15289:32;15286:52;;;15334:1;15331;15324:12;15286:52;15373:9;15360:23;15392:31;15417:5;15392:31;:::i;:::-;15442:5;-1:-1:-1;15498:2:170;15483:18;;15470:32;15525:18;15514:30;;15511:50;;;15557:1;15554;15547:12;15640:1013;15794:6;15802;15810;15818;15826;15834;15887:3;15875:9;15866:7;15862:23;15858:33;15855:53;;;15904:1;15901;15894:12;15855:53;15940:9;15927:23;15917:33;;16001:2;15990:9;15986:18;15973:32;16024:18;16065:2;16057:6;16054:14;16051:34;;;16081:1;16078;16071:12;16051:34;16120:70;16182:7;16173:6;16162:9;16158:22;16120:70;:::i;:::-;16209:8;;-1:-1:-1;16094:96:170;-1:-1:-1;16294:2:170;16279:18;;16266:32;;-1:-1:-1;16338:14:170;16327:26;;16317:37;;16307:65;;16368:1;16365;16358:12;16307:65;16391:5;;-1:-1:-1;16449:2:170;16434:18;;16421:32;;16465:16;;;16462:36;;;16494:1;16491;16484:12;16658:165;16725:20;;16785:12;16774:24;;16764:35;;16754:63;;16813:1;16810;16803:12;16828:1061;16997:6;17005;17013;17021;17029;17037;17045;17053;17106:3;17094:9;17085:7;17081:23;17077:33;17074:53;;;17123:1;17120;17113:12;17074:53;17159:9;17146:23;17136:33;;17220:2;17209:9;17205:18;17192:32;17243:18;17284:2;17276:6;17273:14;17270:34;;;17300:1;17297;17290:12;17270:34;17339:70;17401:7;17392:6;17381:9;17377:22;17339:70;:::i;:::-;17428:8;;-1:-1:-1;17313:96:170;-1:-1:-1;17313:96:170;;-1:-1:-1;17482:36:170;17514:2;17499:18;;17482:36;:::i;:::-;17472:46;;17537:37;17570:2;17559:9;17555:18;17537:37;:::i;:::-;17527:47;;17593:38;17626:3;17615:9;17611:19;17593:38;:::i;:::-;17583:48;;17684:3;17673:9;17669:19;17656:33;17640:49;;17714:2;17704:8;17701:16;17698:36;;;17730:1;17727;17720:12;17894:264;17970:6;18023:2;18011:9;18002:7;17998:23;17994:32;17991:52;;;18039:1;18036;18029:12;17991:52;18078:9;18065:23;18097:31;18122:5;18097:31;:::i;19052:184::-;-1:-1:-1;;;19101:1:170;19094:88;19201:4;19198:1;19191:15;19225:4;19222:1;19215:15;19760:339;19937:2;19926:9;19919:21;19900:4;19957:44;19997:2;19986:9;19982:18;19974:6;19957:44;:::i;:::-;19949:52;;-1:-1:-1;;;;;20041:6:170;20037:55;20032:2;20021:9;20017:18;20010:83;19760:339;;;;;:::o;20104:175::-;20141:3;20185:4;20178:5;20174:16;20214:4;20205:7;20202:17;20199:43;;20222:18;;:::i;:::-;20271:1;20258:15;;20104:175;-1:-1:-1;;20104:175:170:o;20284:439::-;-1:-1:-1;;;;;20522:6:170;20518:55;20507:9;20500:74;20610:6;20605:2;20594:9;20590:18;20583:34;20653:2;20648;20637:9;20633:18;20626:30;20481:4;20673:44;20713:2;20702:9;20698:18;20690:6;20673:44;:::i;20728:151::-;20818:4;20811:12;;;20797;;;20793:31;;20836:14;;20833:40;;;20853:18;;:::i;21137:128::-;21204:9;;;21225:11;;;21222:37;;;21239:18;;:::i;21270:277::-;21337:6;21390:2;21378:9;21369:7;21365:23;21361:32;21358:52;;;21406:1;21403;21396:12;21358:52;21438:9;21432:16;21491:5;21484:13;21477:21;21470:5;21467:32;21457:60;;21513:1;21510;21503:12;21552:439;21605:3;21643:5;21637:12;21670:6;21665:3;21658:19;21696:4;21725;21720:3;21716:14;21709:21;;21764:4;21757:5;21753:16;21787:1;21797:169;21811:6;21808:1;21805:13;21797:169;;;21872:13;;21860:26;;21906:12;;;;21941:15;;;;21833:1;21826:9;21797:169;;;-1:-1:-1;21982:3:170;;21552:439;-1:-1:-1;;;;;21552:439:170:o;21996:511::-;22247:2;22236:9;22229:21;22210:4;22273:56;22325:2;22314:9;22310:18;22302:6;22273:56;:::i;:::-;22377:14;22369:6;22365:27;22360:2;22349:9;22345:18;22338:55;22441:9;22433:6;22429:22;22424:2;22413:9;22409:18;22402:50;22469:32;22494:6;22486;22469:32;:::i;22512:615::-;22822:6;22811:9;22804:25;22865:3;22860:2;22849:9;22845:18;22838:31;22785:4;22892:57;22944:3;22933:9;22929:19;22921:6;22892:57;:::i;:::-;22997:14;22989:6;22985:27;22980:2;22969:9;22965:18;22958:55;23061:9;23053:6;23049:22;23044:2;23033:9;23029:18;23022:50;23089:32;23114:6;23106;23089:32;:::i;23132:925::-;23581:66;23573:6;23569:79;23564:3;23557:92;23539:3;23668;23700:2;23696:1;23691:3;23687:11;23680:23;23732:6;23726:13;23748:74;23815:6;23811:1;23806:3;23802:11;23795:4;23787:6;23783:17;23748:74;:::i;:::-;23850:6;23845:3;23841:16;23831:26;;23885:2;23881:1;23877:2;23873:10;23866:22;23919:6;23913:13;23897:29;;23935:75;24001:8;23997:1;23993:2;23989:10;23982:4;23974:6;23970:17;23935:75;:::i;:::-;24030:17;24049:1;24026:25;;23132:925;-1:-1:-1;;;;;23132:925:170:o;24549:321::-;24757:6;24746:9;24739:25;24800:2;24795;24784:9;24780:18;24773:30;24720:4;24820:44;24860:2;24849:9;24845:18;24837:6;24820:44;:::i;24875:639::-;25125:6;25120:3;25113:19;25095:3;25151:2;25184;25179:3;25175:12;25216:6;25210:13;25281:2;25273:6;25269:15;25302:1;25312:175;25326:6;25323:1;25320:13;25312:175;;;25389:13;;25375:28;;25425:14;;;;25462:15;;;;25348:1;25341:9;25312:175;;;-1:-1:-1;25503:5:170;;24875:639;-1:-1:-1;;;;;;;24875:639:170:o;25519:184::-;-1:-1:-1;;;25568:1:170;25561:88;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25708:168;25781:9;;;25812;;25829:15;;;25823:22;;25809:37;25799:71;;25850:18;;:::i;25881:463::-;26127:66;26119:6;26115:79;26104:9;26097:98;26231:6;26226:2;26215:9;26211:18;26204:34;26274:2;26269;26258:9;26254:18;26247:30;26078:4;26294:44;26334:2;26323:9;26319:18;26311:6;26294:44;:::i;26349:174::-;26416:12;26448:10;;;26460;;;26444:27;;26483:11;;;26480:37;;;26497:18;;:::i;:::-;26480:37;26349:174;;;;:::o;27175:899::-;27598:6;27587:9;27580:25;27641:3;27636:2;27625:9;27621:18;27614:31;27561:4;27668:57;27720:3;27709:9;27705:19;27697:6;27668:57;:::i;:::-;27773:4;27761:17;;27756:2;27741:18;;27734:45;27798:12;27846:15;;;27841:2;27826:18;;27819:43;27899:15;;27893:3;27878:19;;27871:44;27946:3;27931:19;;27924:35;;;27996:22;;;27990:3;27975:19;;27968:51;28036:32;28000:6;28053;28036:32;:::i;:::-;28028:40;27175:899;-1:-1:-1;;;;;;;;;;27175:899:170:o;28079:787::-;28443:3;28432:9;28425:22;28406:4;28470:57;28522:3;28511:9;28507:19;28499:6;28470:57;:::i;:::-;28575:4;28567:6;28563:17;28558:2;28547:9;28543:18;28536:45;28629:14;28621:6;28617:27;28612:2;28601:9;28597:18;28590:55;28693:12;28685:6;28681:25;28676:2;28665:9;28661:18;28654:53;28744:6;28738:3;28727:9;28723:19;28716:35;28800:9;28792:6;28788:22;28782:3;28771:9;28767:19;28760:51;28828:32;28853:6;28845;28828:32;:::i;28871:689::-;29205:3;29194:9;29187:22;29168:4;29232:57;29284:3;29273:9;29269:19;29261:6;29232:57;:::i;:::-;29337:9;29329:6;29325:22;29320:2;29309:9;29305:18;29298:50;29371:32;29396:6;29388;29371:32;:::i;:::-;29357:46;;29439:6;29434:2;29423:9;29419:18;29412:34;29494:9;29486:6;29482:22;29477:2;29466:9;29462:18;29455:50;29522:32;29547:6;29539;29522:32;:::i;29565:896::-;30018:6;30007:9;30000:25;30061:3;30056:2;30045:9;30041:18;30034:31;29981:4;30088:57;30140:3;30129:9;30125:19;30117:6;30088:57;:::i;:::-;30193:9;30185:6;30181:22;30176:2;30165:9;30161:18;30154:50;30227:32;30252:6;30244;30227:32;:::i;:::-;30213:46;;30295:6;30290:2;30279:9;30275:18;30268:34;30351:9;30343:6;30339:22;30333:3;30322:9;30318:19;30311:51;30379:32;30404:6;30396;30379:32;:::i;:::-;30371:40;;;30448:6;30442:3;30431:9;30427:19;30420:35;29565:896;;;;;;;;;:::o;30749:261::-;30928:2;30917:9;30910:21;30891:4;30948:56;31000:2;30989:9;30985:18;30977:6;30948:56;:::i;31015:466::-;31313:6;31302:9;31295:25;31356:2;31351;31340:9;31336:18;31329:30;31276:4;31376:56;31428:2;31417:9;31413:18;31405:6;31376:56;:::i;:::-;31368:64;;31468:6;31463:2;31452:9;31448:18;31441:34;31015:466;;;;;;:::o;32325:546::-;32647:6;32636:9;32629:25;32690:3;32685:2;32674:9;32670:18;32663:31;32610:4;32711:57;32763:3;32752:9;32748:19;32740:6;32711:57;:::i;:::-;32816:4;32804:17;;;;32799:2;32784:18;;32777:45;-1:-1:-1;32853:2:170;32838:18;32831:34;32703:65;32325:546;-1:-1:-1;;32325:546:170:o;32876:184::-;32946:6;32999:2;32987:9;32978:7;32974:23;32970:32;32967:52;;;33015:1;33012;33005:12;32967:52;-1:-1:-1;33038:16:170;;32876:184;-1:-1:-1;32876:184:170:o;33065:707::-;33433:6;33422:9;33415:25;33476:3;33471:2;33460:9;33456:18;33449:31;33396:4;33503:57;33555:3;33544:9;33540:19;33532:6;33503:57;:::i;:::-;33608:4;33600:6;33596:17;33591:2;33580:9;33576:18;33569:45;33662:9;33654:6;33650:22;33645:2;33634:9;33630:18;33623:50;33690:32;33715:6;33707;33690:32;:::i;:::-;33682:40;;;33759:6;33753:3;33742:9;33738:19;33731:35;33065:707;;;;;;;;:::o;33777:359::-;33980:2;33969:9;33962:21;33943:4;34000:44;34040:2;34029:9;34025:18;34017:6;34000:44;:::i;:::-;34075:2;34060:18;;34053:34;;;;-1:-1:-1;34118:2:170;34103:18;34096:34;33992:52;33777:359;-1:-1:-1;33777:359:170:o;34141:287::-;34270:3;34308:6;34302:13;34324:66;34383:6;34378:3;34371:4;34363:6;34359:17;34324:66;:::i;:::-;34406:16;;;;;34141:287;-1:-1:-1;;34141:287:170:o;34433:274::-;34473:1;34499;34489:189;;-1:-1:-1;;;34531:1:170;34524:88;34635:4;34632:1;34625:15;34663:4;34660:1;34653:15;34489:189;-1:-1:-1;34692:9:170;;34433:274::o;34712:530::-;34897:3;34935:6;34929:13;34951:66;35010:6;35005:3;34998:4;34990:6;34986:17;34951:66;:::i;:::-;35086:2;35082:15;;;;35099:66;35078:88;35039:16;;;;35064:103;;;35194:2;35183:14;;35176:30;;;;35233:2;35222:14;;34712:530;-1:-1:-1;;34712:530:170:o","linkReferences":{},"immutableReferences":{"67343":[{"start":866,"length":32},{"start":4716,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.World doesn't inherit `Store` because the `IStoreRegistration` methods are added via the `InitModule`.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"initModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The protocol version of the Store.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the protocol version of the Store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/World.sol\":\"World\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b\",\"dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreKernel.sol\":{\"keccak256\":\"0xeeb12eb8f8254eea33f4d3b80504962733c191f7cd4f4b1bc3033237e648ff0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01b41567453f8f4f8c55b30d88d891b1ea87f2b5354ee8ce67ca58aedfb296ec\",\"dweb:/ipfs/QmZkGP7yKZUUnVxwAV4AVhHfc8Dnz1TtbyooeGBm33EUE7\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0xb27eeadfa0075d2ac085b155e42e195b9bc6511640097af6646936f5ceb3afc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdca315a580d561a7ec3d488ad6ea6996a4611031218547d6b942c7654750a18\",\"dweb:/ipfs/QmUrW9strzNK1guqRZ7jRC4GZ9SvAraxah3rfsw4eBGjZM\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a\",\"dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36\",\"dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160\",\"dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080\",\"dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0xad63bcf6f989720278b4b941cb3baca953d7da8064454323b99fb444c32e821e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37d43a10ec0972a2e9a939f22542dda802aa0124e6ee46a60ec59749de88d54b\",\"dweb:/ipfs/QmVe6ALUGg7xzVUjgsYW25ANPeCaLZwL3tJW6t8pGZejA1\"]},\"src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"src/ERC165Checker.sol\":{\"keccak256\":\"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d\",\"dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt\"]},\"src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"src/SystemCall.sol\":{\"keccak256\":\"0x39d02f33a0a96cd07cf553c6439a26be43bea3ce926266242cf7f84c762c16e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de503a0d5e4e55dba2b04fb38660a7f890deac3673f63f8d9e2b23ab5f09574\",\"dweb:/ipfs/QmbhCvRHjkETnsA59rFuGs3p5iu2t4NwYySoCj2GDNwY2V\"]},\"src/World.sol\":{\"keccak256\":\"0x4f7eddc16b90adf81bd734c486d3fe4e5ccd530607a517ce4a4a6aceb75de517\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fbe73b7b0f920ea227a0eabbcefab1a2b3ae3cc16769450187feeb42a8ed96b\",\"dweb:/ipfs/Qmdq1Ae7ch1UWjStq35e1D13Lhth7iXLn1uTfrqFKsgzgx\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0x40c052496c710a0b17c7a2b03cc9a755f487f5ac2b95650e9189578c2be3cd2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700bef1dd2509e861d8b97b721e14bdcb37abdde85028e2c228ca97120944383\",\"dweb:/ipfs/QmPenG8pGH77KiFwLT6mojJQ1iqwyeGHxBLrEZKC4wZm2N\"]},\"src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x28ecea550f7cef98318f2db2e203e758475306a6454f776e6dbc5094811d577e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01ae40d53747c2fec400c3bddec5789da6995a38e918bf3badad9c403e70d069\",\"dweb:/ipfs/QmaQhjyGzXjTR16gJUnpaBhG5zJvPdaxJ6c9yJY9FD5kBb\"]},\"src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729\",\"dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk\"]},\"src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5\",\"dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc\"]},\"src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"src/version.sol\":{\"keccak256\":\"0x9c222a00d7aef686e6f6319d544959ee8a7010c7c0692738f7fe9d19694b0715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0296e6e111eeb4f6249fea39ee3b024a02f46eb692925d9b41e3b39fa15a940b\",\"dweb:/ipfs/QmbSYepReq4NepkvLEkeTtGXRwFpQRUfyENnjkd4kaM4BU\"]},\"src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"initModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The protocol version of the Store."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the protocol version of the Store."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/World.sol":"World"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5","urls":["bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b","dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreKernel.sol":{"keccak256":"0xeeb12eb8f8254eea33f4d3b80504962733c191f7cd4f4b1bc3033237e648ff0b","urls":["bzz-raw://01b41567453f8f4f8c55b30d88d891b1ea87f2b5354ee8ce67ca58aedfb296ec","dweb:/ipfs/QmZkGP7yKZUUnVxwAV4AVhHfc8Dnz1TtbyooeGBm33EUE7"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0xb27eeadfa0075d2ac085b155e42e195b9bc6511640097af6646936f5ceb3afc6","urls":["bzz-raw://cdca315a580d561a7ec3d488ad6ea6996a4611031218547d6b942c7654750a18","dweb:/ipfs/QmUrW9strzNK1guqRZ7jRC4GZ9SvAraxah3rfsw4eBGjZM"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xcc0fa969a57724e7a9184009e2b1ea8ecb209a06e283c6d2b6a15cabff35f39d","urls":["bzz-raw://d91985b8f48fcb8259b776c10bc17a1656e8dbeaa15c0c0e73368af38e6cfc8a","dweb:/ipfs/QmRiYbrXqqWcTrvwz95kN6ZiMhUBfLiUycxQiSGeZFDkuo"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xa52e8323cc7227d69a3c6b2e244b4e0face106eeaa5cf23e759b0278b0f4a7ab","urls":["bzz-raw://bf5d3ede2d114c26abe7b5268ed17aedb56d6ded91af19019ecebb75edf48b36","dweb:/ipfs/QmWwqNFjqWFhfv8ABRXV9mbZBGumz741YCmVuQPqtiVZaD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x155aa0e073774674596a28371a3a863ad1d6c44d418140269d2982a45e40734b","urls":["bzz-raw://c849ad6563c4afbdd7eec40042c9afa0d9919ece10c2acab390e358095ddd160","dweb:/ipfs/QmbB7eVhKe3simEvugH18e1fBJKmwqionms3YWbWuRBDYV"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x7930483bedccb95dd73447108e67d576924c83ec591cb70c699cdea7ebaabccc","urls":["bzz-raw://5c23093bf098e8e1f224a0e20beb6860d461a5f8d33265d382e3d43bdc431080","dweb:/ipfs/QmSQwjDCEgTUgUWajjETvCRJd18ZPRhYPyS6Rcg6wDizXw"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"src/AccessControl.sol":{"keccak256":"0xad63bcf6f989720278b4b941cb3baca953d7da8064454323b99fb444c32e821e","urls":["bzz-raw://37d43a10ec0972a2e9a939f22542dda802aa0124e6ee46a60ec59749de88d54b","dweb:/ipfs/QmVe6ALUGg7xzVUjgsYW25ANPeCaLZwL3tJW6t8pGZejA1"],"license":"MIT"},"src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"src/ERC165Checker.sol":{"keccak256":"0xb9d3ad8030a8d111971cbf775c1834313736c2f714d2bcb90fe065a928abe2c8","urls":["bzz-raw://702c7297150819d078d498d3c6ebbc9dc9414c35aaf1f8e19ae4c5beb5048c7d","dweb:/ipfs/QmZxKTDNLvVDV4jJ6S2qu9HnPbSXq1hRfgazJAL1xWkSkt"],"license":"MIT"},"src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"src/SystemCall.sol":{"keccak256":"0x39d02f33a0a96cd07cf553c6439a26be43bea3ce926266242cf7f84c762c16e4","urls":["bzz-raw://0de503a0d5e4e55dba2b04fb38660a7f890deac3673f63f8d9e2b23ab5f09574","dweb:/ipfs/QmbhCvRHjkETnsA59rFuGs3p5iu2t4NwYySoCj2GDNwY2V"],"license":"MIT"},"src/World.sol":{"keccak256":"0x4f7eddc16b90adf81bd734c486d3fe4e5ccd530607a517ce4a4a6aceb75de517","urls":["bzz-raw://8fbe73b7b0f920ea227a0eabbcefab1a2b3ae3cc16769450187feeb42a8ed96b","dweb:/ipfs/Qmdq1Ae7ch1UWjStq35e1D13Lhth7iXLn1uTfrqFKsgzgx"],"license":"MIT"},"src/WorldContext.sol":{"keccak256":"0x40c052496c710a0b17c7a2b03cc9a755f487f5ac2b95650e9189578c2be3cd2e","urls":["bzz-raw://700bef1dd2509e861d8b97b721e14bdcb37abdde85028e2c228ca97120944383","dweb:/ipfs/QmPenG8pGH77KiFwLT6mojJQ1iqwyeGHxBLrEZKC4wZm2N"],"license":"MIT"},"src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x28ecea550f7cef98318f2db2e203e758475306a6454f776e6dbc5094811d577e","urls":["bzz-raw://01ae40d53747c2fec400c3bddec5789da6995a38e918bf3badad9c403e70d069","dweb:/ipfs/QmaQhjyGzXjTR16gJUnpaBhG5zJvPdaxJ6c9yJY9FD5kBb"],"license":"MIT"},"src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d","urls":["bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729","dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk"],"license":"MIT"},"src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1","urls":["bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5","dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc"],"license":"MIT"},"src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"src/version.sol":{"keccak256":"0x9c222a00d7aef686e6f6319d544959ee8a7010c7c0692738f7fe9d19694b0715","urls":["bzz-raw://0296e6e111eeb4f6249fea39ee3b024a02f46eb692925d9b41e3b39fa15a940b","dweb:/ipfs/QmbSYepReq4NepkvLEkeTtGXRwFpQRUfyENnjkd4kaM4BU"],"license":"MIT"},"src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":90}
|