@latticexyz/world 2.2.18-88af9325733387259f29dfdafd2fdbc23f2ab499 → 2.2.18-8d0ce55e964e646a1c804c401df01c4deb866f30

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.
Files changed (50) hide show
  1. package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
  2. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  3. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  4. package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
  5. package/out/BatchCall.t.sol/TestSystem.json +1 -1
  6. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  7. package/out/Delegation.sol/Delegation.json +1 -1
  8. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  9. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  10. package/out/Factories.t.sol/FactoriesTest.json +1 -1
  11. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  12. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  13. package/out/InitModule.sol/InitModule.json +1 -1
  14. package/out/InitModule.t.sol/InitModuleTest.json +1 -1
  15. package/out/InitModule.t.sol/WorldMock.json +1 -1
  16. package/out/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
  17. package/out/Module.sol/Module.json +1 -1
  18. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  19. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  20. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  21. package/out/System.sol/System.json +1 -1
  22. package/out/System.t.sol/SystemTest.json +1 -1
  23. package/out/System.t.sol/TestSystem.json +1 -1
  24. package/out/SystemCall.sol/SystemCall.json +1 -1
  25. package/out/Utils.t.sol/UtilsTest.json +1 -1
  26. package/out/Utils.t.sol/UtilsTestSystem.json +1 -1
  27. package/out/World.sol/World.json +1 -1
  28. package/out/World.t.sol/EchoSystemHook.json +1 -1
  29. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  30. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  31. package/out/World.t.sol/RevertSystemHook.json +1 -1
  32. package/out/World.t.sol/WorldTest.json +1 -1
  33. package/out/World.t.sol/WorldTestSystem.json +1 -1
  34. package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
  35. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +1 -1
  36. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  37. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  38. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  39. package/out/WorldContext.t.sol/TestContextConsumer.json +1 -1
  40. package/out/WorldContext.t.sol/WorldContextTest.json +1 -1
  41. package/out/WorldDynamicUpdate.t.sol/UpdateInDynamicFieldTest.json +1 -1
  42. package/out/WorldFactory.sol/WorldFactory.json +1 -1
  43. package/out/WorldProxy.sol/WorldProxy.json +1 -1
  44. package/out/WorldProxy.t.sol/WorldProxyTest.json +1 -1
  45. package/out/WorldProxyFactory.sol/WorldProxyFactory.json +1 -1
  46. package/out/WorldProxyFactory.t.sol/WorldProxyFactoryTest.json +1 -1
  47. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  48. package/out/build-info/{27bef2dac23cc424daa40171c98ac387.json → 5b08d15c729dccf7cb96a41c445f5026.json} +1 -1
  49. package/package.json +9 -9
  50. package/src/WorldContext.sol +1 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"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":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"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":"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":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"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":"setUp","inputs":[],"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":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAccessControl","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireAccess","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireAccessRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireOwner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireOwnerRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","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":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","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":"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"}]}],"bytecode":{"object":"0x60806040525f8054600160ff1991821681179092556004805490911690911790555a601c5534801562000030575f80fd5b50620000565f8051602062008d8083398151915280546001600160a01b03191630179055565b60405164191718171960d91b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c005905f90a2620000ad5f8051602062008d8083398151915280546001600160a01b03191630179055565b620000b7620000de565b5f8051602062008d8083398151915280546001600160a01b0319163017905562002013565b565b620001097f746273746f72650000000000000000005461626c65730000000000000000000062000305565b156200017157604080517f746273746f72650000000000000000005461626c6573000000000000000000006020820181905291015b60408051601f198184030181529082905263dfaaf9cf60e01b825262000168929160040162001c86565b60405180910390fd5b6200018a5f8051602062008da083398151915262000305565b15620001b257604080515f8051602062008da08339815191526020820181905291016200013e565b620002537f746273746f72650000000000000000005461626c6573000000000000000000006503001811010160cd1b632001005f60d81b671800c097d7d7f13160ba1b620001ff6200037e565b60405160200162000211919062001cfc565b60408051601f198184030181529190526200022b620003f0565b6040516020016200023d919062001cfc565b60408051601f1981840301815291905262000584565b620002b35f8051602062008da0833981519152630101000160d81b632001005f60d81b6208080360dd1b6200028762000656565b60405160200162000299919062001cfc565b60408051601f198184030181529190526200022b620006bd565b620002e07f746273746f72650000000000000000005461626c657300000000000000000000600162000720565b620002fb5f8051602062008da0833981519152600162000720565b620000dc620007b6565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106200033f576200033f62001d10565b60209081029190910101525f6200036e5f8051602062008da08339815191528383630101000160d81b62000807565b905060f881901c5b949350505050565b604080516001808252818301909252606091816020015b606081526020019060019003908162000395579050509050604051806040016040528060078152602001661d18589b19525960ca1b815250815f81518110620003e257620003e262001d10565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081620004085790505090506040518060400160405280600b81526020016a199a595b1913185e5bdd5d60aa1b815250815f8151811062000459576200045962001d10565b6020026020010181905250604051806040016040528060098152602001686b6579536368656d6160b81b815250816001815181106200049c576200049c62001d10565b60200260200101819052506040518060400160405280600b81526020016a76616c7565536368656d6160a81b81525081600281518110620004e157620004e162001d10565b602002602001018190525060405180604001604052806012815260200171616269456e636f6465644b65794e616d657360701b815250816003815181106200052d576200052d62001d10565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600481518110620003e257620003e262001d10565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f620005bc848462000842565b90505f620005cb85856200085e565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f8151811062000606576200060662001d10565b60209081029190910101526200064a7f746273746f72650000000000000000005461626c657300000000000000000000828686866503001811010160cd1b6200088d565b50505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816200066d5790505090506040518060400160405280600a8152602001691c995cdbdd5c98d9525960b21b815250815f81518110620003e257620003e262001d10565b604080516001808252818301909252606091816020015b6060815260200190600190039081620006d45790505090506040518060400160405280600681526020016565786973747360d01b815250815f81518110620003e257620003e262001d10565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811062000757576200075762001d10565b602002602001018181525050620007b15f8051602062008da08339815191525f1b825f856040516020016200079391151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b62000b54565b505050565b620000dc7f746273746f726500000000000000000053746f7265486f6f6b73000000000000600160e01b632001005f60d81b60db60d91b620007f76200037e565b6200080162000b74565b62000bd6565b5f6200083962000818868662000c7b565b60ff858116601b0360080285901c1662000833858762000cd2565b62000d0e565b95945050505050565b5f620008578351835162000d6360201b60201c565b9392505050565b606082826040516020016200087592919062001d24565b60405160208183030381529060405290505b92915050565b611bdd60f21b866001600160f01b03191603620008d857855f8051602062008d6083398151915286868686604051620008ca949392919062001d92565b60405180910390a262000b4c565b5f620008e48762000d78565b90505f5b81518110156200099f575f82828151811062000908576200090862001d10565b602090810291909101015190506200092c6001600160581b03198216600162000e0c565b1562000995576040516315c19b2760e21b8152606082901c906357066c9c9062000965908c908c908c908c908c908c9060040162001de1565b5f604051808303815f87803b1580156200097d575f80fd5b505af115801562000990573d5f803e3d5ffd5b505050505b50600101620008e8565b50865f8051602062008d6083398151915287878787604051620009c6949392919062001d92565b60405180910390a25f620009db888862000c7b565b90505f602087019050620009f9825f89518462000e3060201b60201c565b5f62000a058562000ef6565b111562000a93575f62000a198a8a62000f3a565b87815590506020860191505f805f5b62000a338862000ef6565b8160ff16101562000a8e5762000a4b8d8d8362000f91565b925062000a678a8260ff166028026038011c64ffffffffff1690565b915062000a77835f848862000e30565b62000a83828662001e53565b945060010162000a28565b505050505b5f5b83518110156200064a575f84828151811062000ab55762000ab562001d10565b6020908102919091010151905062000ad96001600160581b03198216600262000e0c565b1562000b4257604051635b28cdaf60e01b8152606082901c90635b28cdaf9062000b12908e908e908e908e908e908e9060040162001de1565b5f604051808303815f87803b15801562000b2a575f80fd5b505af115801562000b3d573d5f803e3d5ffd5b505050505b5060010162000a95565b505050505050565b62000b6d858562000b66848762000cd2565b8562000ff9565b5050505050565b604080516001808252818301909252606091816020015b606081526020019060019003908162000b8b57905050905060405180604001604052806005815260200164686f6f6b7360d81b815250815f81518110620003e257620003e262001d10565b5f62000be16200120b565b9050306001600160a01b0382160362000c0a5762000c0487878787878762001238565b62000c72565b604051630ba51f4960e01b81526001600160a01b03821690630ba51f499062000c42908a908a908a908a908a908a9060040162001e69565b5f604051808303815f87803b15801562000c5a575f80fd5b505af115801562000c6d573d5f803e3d5ffd5b505050505b50505050505050565b5f828260405160200162000c9192919062001eb6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff1681101562000d065762000cfb60ff601b83900360080287901c168362001e53565b915060010162000cd6565b509392505050565b5f6020821062000d375760208204840193506020828162000d335762000d3362001ef2565b0691505b508254600882021b60208290038084111562000d06576001850154600882021c82179150509392505050565b606081901b603883901b838301171792915050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811062000db35762000db362001d10565b60209081029190910101525f62000dec7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383620015e1565b90506200037662000e06825f84516200162160201b60201c565b62001693565b5f60ff82168262000e1d8560581c90565b1660ff1614905092915050565b60200190565b821562000eb0576020831062000e5f5760208304840193506020838162000e5b5762000e5b62001ef2565b0692505b821562000eb05760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841162000ea157505062000ef0565b50600194909401939182900391015b5b6020821062000ed45780518455600190930192601f199091019060200162000eb1565b811562000ef057835481515f19600885021c9182169119161784555b50505050565b5f600860018062000f0a6002602062001f06565b62000f16919062001f06565b62000f22919062001f06565b62000f2e919062001f1c565b8260ff911c1692915050565b5f828260405160200162000f5092919062001eb6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f838360405160200162000fa792919062001eb6565b604051602081830303815290604052805190602001208260f81b6001600160f81b0319167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b611bdd60f21b846001600160f01b031916036200104257835f8051602062008d40833981519152848484604051620010349392919062001f36565b60405180910390a262000ef0565b5f6200104f858562000c7b565b90505f6200105d8662000d78565b90505f5b815181101562001114575f82828151811062001081576200108162001d10565b60209081029190910101519050620010a56001600160581b03198216600462000e0c565b156200110a5760405163964f667d60e01b8152606082901c9063964f667d90620010da908b908b908b908b9060040162001f76565b5f604051808303815f87803b158015620010f2575f80fd5b505af115801562001105573d5f803e3d5ffd5b505050505b5060010162001061565b50855f8051602062008d40833981519152868686604051620011399392919062001f36565b60405180910390a2620011568265ffffffffffff861685620016a4565b5f5b815181101562000c72575f82828151811062001178576200117862001d10565b602090810291909101015190506200119c6001600160581b03198216600862000e0c565b15620012015760405163a8ba872160e01b8152606082901c9063a8ba872190620011d1908b908b908b908b9060040162001f76565b5f604051808303815f87803b158015620011e9575f80fd5b505af1158015620011fc573d5f803e3d5ffd5b505050505b5060010162001158565b5f8051602062008d80833981519152545f906001600160a01b03168062001233573391505090565b919050565b613a3160f11b866001600160f01b03191614801590620012675750611bdd60f21b866001600160f01b03191614155b15620012b357613a3160f11b86876040516020016200128891815260200190565b60408051601f19818403018152908290526331b4668360e01b82526200016893929160040162001fb2565b620012be85620016c3565b620012cb84600162001873565b620012d7835f62001873565b60e084901c60e885901c0160ff16825114620013205760e084901c60e885901c0160ff1682516040516301ee597360e31b81526004810192909252602482015260440162000168565b60e085901c60e886901c0160ff16815114620013685760e085901c60e886901c0160ff168151604051621f7b1360ea1b81526004810192909252602482015260440162000168565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614620013c95760e085901c60e886901c0160ff1660e084901c60e885901c0160ff16604051631e53a9b160e31b81526004810192909252602482015260440162000168565b620013d485620019f6565b620013df84620019f6565b146200141e57620013f085620019f6565b620013fb84620019f6565b6040516365cc0adf60e01b81526004810192909252602482015260440162000168565b620014298562000ef6565b620014348462000ef6565b146200147357620014458562000ef6565b620014508462000ef6565b60405163edea958760e01b81526004810192909252602482015260440162000168565b5f5b6200148086620019f6565b8110156200151057620014b262001498858362001a09565b60c5811115620014ac57620014ac62001fd9565b62001a2c565b6008601b8390030287901c60ff161462001507576008601b8290030286901c60ff16620014e462001498868462001a09565b6040516309531f6d60e21b81526004810192909252602482015260440162000168565b60010162001475565b505f6200153b613a3160f11b620015278960101b90565b60101c6001600160f01b0319919091161790565b90505f62001553611bdd60f21b620015278a60101b90565b9050620015608262000305565b80620015725750620015728162000305565b156200158d5787886040516020016200013e91815260200190565b620015ca8888888888604051602001620015a8919062001cfc565b604051602081830303815290604052886040516020016200023d919062001cfc565b620015d788600162000720565b5050505050505050565b606062000376620015f485858562000f91565b5f6200161b8562001606898962001a8c565b9060ff166028026038011c64ffffffffff1690565b62001aa1565b5f81831180620016315750835182115b1562001658578383836040516323230fa360e01b8152600401620001689392919062001fed565b6020840162001668848262001e53565b90505f62001677858562001f06565b6001600160801b031660809290921b9190911795945050505050565b60605f620008578360158362001ac6565b620007b183838351620016bd8562000e2a60201b60201c565b62000e30565b80620016e25760405163500cf26d60e11b815260040160405180910390fd5b5f620016ee8262000ef6565b905060058111156200171e576040516333c9efb160e11b8152600481018290526005602482015260440162000168565b5f6200172a83620019f6565b90505f62001739838362001e53565b9050601c811115620017695760405163ecd893b960e01b815260048101829052601c602482015260440162000168565b5f805b83811015620017e85760ff601b82900360080287901c165f819003620017a9576040516353b2dd0560e01b81526004810183905260240162000168565b6020811115620017d057604051637237f23760e01b81526004810183905260240162000168565b620017dc818462001e53565b9250506001016200176c565b50620017f48562001b3b565b81146200182b57620018068562001b3b565b6040516375d4b26f60e11b815260048101919091526024810182905260440162000168565b825b601c81101562000b4c5760ff601b82900360080287901c1680156200186957604051631d8d44db60e01b81526004810183905260240162000168565b506001016200182d565b8015801562001880575081155b15620018a25760405163d498615960e01b81525f600482015260240162000168565b5f620018ae8362000ef6565b90506005811115620018d75760405163d498615960e01b81526004810182905260240162000168565b5f620018e384620019f6565b90505f620018f2838362001e53565b9050601c8111156200191b5760405163d498615960e01b81526004810182905260240162000168565b5f805b8381101562001973575f6200193862001498898462001a09565b9050805f036200195b576040516307a25a1160e51b815260040160405180910390fd5b62001967818462001e53565b9250506001016200191e565b506200197f8662001b3b565b8114620019ae57620019918662001b3b565b60405163d498615960e01b81526004016200016891815260200190565b825b8281101562000c72575f620019ca62001498898462001a09565b90508015620019ec576040516307a25a1160e51b815260040160405180910390fd5b50600101620019b0565b5f6008600162000f166002602062001f06565b5f601b8290036008028360ff911c1660c581111562000857576200085762001fd9565b5f808260c581111562001a435762001a4362001fd9565b60ff169050606181101562001a5e57601f1660010192915050565b60618360c581111562001a755762001a7562001fd9565b0362001a845750601492915050565b505f92915050565b5f6200085762001a9d848462000f3a565b5490565b60405160208101601f19603f848401011660405282825262000d068585858462001b61565b60605f62001ad48560801c90565b90506001600160801b0385165f85828162001af35762001af362001ef2565b0490506040519350602084016020820281016040528185525f5b8281101562001b2f578451871c82529387019360209091019060010162001b0d565b50505050509392505050565b5f600862001b4c6002602062001f06565b62001b58919062001f1c565b9190911c919050565b821562001bef576020831062001b905760208304840193506020838162001b8c5762001b8c62001ef2565b0692505b821562001bef5760208390035f8184101562001bb457505f19600884021c62001bbd565b505f19600882021c5b8554600886021b81845116821982161784525081841162001be057505062000ef0565b50600194909401939182900391015b5b6020821062001c135783548152600190930192601f199091019060200162001bf0565b811562000ef0575f5f19600884021c8251865482191691161782525050505050565b5f5b8381101562001c5157818101518382015260200162001c37565b50505f910152565b5f815180845262001c7281602086016020860162001c35565b601f01601f19169290920160200192915050565b828152604060208201525f62000376604083018462001c59565b5f8282518085526020808601955060208260051b840101602086015f5b8481101562001cef57601f1986840301895262001cdc83835162001c59565b9884019892509083019060010162001cbd565b5090979650505050505050565b602081525f62000857602083018462001ca0565b634e487b7160e01b5f52603260045260245ffd5b5f835162001d3781846020880162001c35565b83519083019062001d4d81836020880162001c35565b01949350505050565b5f815180845260208085019450602084015f5b8381101562001d875781518752958201959082019060010162001d69565b509495945050505050565b608081525f62001da6608083018762001d56565b828103602084015262001dba818762001c59565b9050846040840152828103606084015262001dd6818562001c59565b979650505050505050565b86815260c060208201525f62001dfb60c083018862001d56565b828103604084015262001e0f818862001c59565b9050856060840152828103608084015262001e2b818662001c59565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562000887576200088762001e3f565b86815285602082015284604082015283606082015260c060808201525f62001e9560c083018562001ca0565b82810360a084015262001ea9818562001ca0565b9998505050505050505050565b8281525f60208083018451602086015f5b8281101562001ee55781518452928401929084019060010162001ec7565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8181038181111562000887576200088762001e3f565b808202811582820484141762000887576200088762001e3f565b606081525f62001f4a606083018662001d56565b65ffffffffffff85166020840152828103604084015262001f6c818562001c59565b9695505050505050565b848152608060208201525f62001f90608083018662001d56565b65ffffffffffff85166040840152828103606084015262001dd6818562001c59565b61ffff60f01b84168152826020820152606060408201525f62000839606083018462001c59565b634e487b7160e01b5f52602160045260245ffd5b606081525f62002001606083018662001c59565b60208301949094525060400152919050565b616d1f80620020215f395ff3fe608060405234801561000f575f80fd5b50600436106102d8575f3560e01c806366d9a9a011610187578063cc49db7e116100dd578063dbbf0e2111610093578063ee9828891161006e578063ee982889146105b9578063ef6ea862146105c1578063fa7626d4146105d4575f80fd5b8063dbbf0e211461058b578063e20c9f711461059e578063e228a4a3146105a6575f80fd5b8063d03edb8c116100c3578063d03edb8c14610552578063d4285dc214610565578063d9c03a0414610578575f80fd5b8063cc49db7e14610537578063cd9847bc1461054a575f80fd5b8063a53417ed1161013d578063ba414fa611610118578063ba414fa6146104e6578063c0a2895a146104fe578063c112222914610511575f80fd5b8063a53417ed146104b8578063b047c1eb146104cb578063b5508aa9146104de575f80fd5b80638c364d591161016d5780638c364d591461048a578063916a17c61461049d5780639f1fcf0a146104a5575f80fd5b806366d9a9a01461046057806385226c8114610475575f80fd5b80633708196e1161023c5780633f7286f4116101f2578063505a181d116101cd578063505a181d14610432578063530f4b6014610445578063560e086114610458575f80fd5b80633f7286f4146103f5578063419b58fd146103fd5780634dc77d971461041f575f80fd5b80633a77c2c2116102225780633a77c2c2146103c45780633b533860146103e55780633e5e3c23146103ed575f80fd5b80633708196e1461039e578063390baae0146103b1575f80fd5b8063150f3262116102915780631ed7831c116102775780631ed7831c1461036e57806324476f7314610383578063298314fb1461038b575f80fd5b8063150f3262146103485780631e7889771461035b575f80fd5b80630a9254e4116102c15780630a9254e41461031a5780630ba51f4914610322578063114a726614610335575f80fd5b806305242d2f146102dc5780630560912914610305575b5f80fd5b6102ef6102ea366004615642565b6105e0565b6040516102fc91906156f0565b60405180910390f35b610318610313366004615718565b61062c565b005b61031861063a565b610318610330366004615742565b6106df565b61031861034336600461580f565b610709565b61031861035636600461580f565b610782565b6102ef610369366004615896565b6107f3565b61037661083c565b6040516102fc91906158f0565b61031861089c565b61031861039936600461593c565b61090b565b6103186103ac3660046159cd565b6109af565b6103186103bf3660046159cd565b610a2b565b6103d76103d2366004615a5c565b610a9e565b6040519081526020016102fc565b610318610aae565b610376610b99565b610376610bf7565b61041061040b366004615a73565b610c55565b6040516102fc93929190615ac2565b6102ef61042d366004615bc0565b610ca8565b610318610440366004615c24565b610cb7565b610318610453366004615c68565b610cc1565b610318610cd1565b610468610dbc565b6040516102fc9190615ca1565b61047d610ebb565b6040516102fc9190615de0565b6103d7610498366004615642565b610f86565b610468610fc7565b6103d76104b3366004615df2565b6110bd565b6103d76104c6366004615e4d565b6110d2565b6103186104d9366004615e97565b6110e8565b61047d611159565b6104ee611224565b60405190151581526020016102fc565b61031861050c366004615f1e565b61135e565b7f322e302e320000000000000000000000000000000000000000000000000000006103d7565b610410610545366004615fa4565b6113d2565b610318611422565b6102ef610560366004615896565b6115f9565b6103d7610573366004615a5c565b611639565b610318610586366004615642565b611643565b6103d7610599366004615e4d565b61168a565b610376611696565b6103d76105b4366004615a5c565b6116f4565b6103186116fe565b6103186105cf36600461580f565b6118f1565b5f546104ee9060ff1681565b6060610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506119629050565b9695505050505050565b61063682826119a7565b5050565b6106426119d2565b61064a611a53565b61069a613a3160f11b7f6e616d65737061636500000000000000000000000000000000000000000000007f6e616d6500000000000000000000000000000000000000000000000000000000611ae7565b601f557f6e736e616d65737061636500000000000000000000000000000000000000000060208190556106cd9030611b46565b6106dd601f546101236001611c1f565b565b6106ff888888886106f0888a616013565b6106fa8789616013565b611cec565b5050505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215292505050565b505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061216792505050565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061219f915050565b95945050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610874575b5050505050905090565b5f601f5490506108c3604051806060016040528060228152602001616c1d602291396121d8565b6108cd813061247b565b6108d5612503565b6108f6604051806060016040528060228152602001616b53602291396121d8565b610900813061247b565b610908612503565b50565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061276c92505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250612782915050565b50505050505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f920191909152508892506127c5915050565b5f610aa8826127da565b92915050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610adc8461285d565b6001604051602401610aef9291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610b61916004016156f0565b5f604051808303815f87803b158015610b78575f80fd5b505af1158015610b8a573d5f803e3d5ffd5b5050505061090881600161247b565b6060600f80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b60605f6060610c98878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061298a915050565b9250925092509450945094915050565b60606106228686868686612a8b565b6106368282612b8b565b610ccc838383612b9e565b505050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610cff8461285d565b6001604051602401610d129291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610d84916004016156f0565b5f604051808303815f87803b158015610d9b575f80fd5b505af1158015610dad573d5f803e3d5ffd5b50505050610908816001612c74565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e9a57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e475790505b50505050508152505081526020019060010190610ddf565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054610efb906160e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f27906160e4565b8015610f725780601f10610f4957610100808354040283529160200191610f72565b820191905f5260205f20905b815481529060010190602001808311610f5557829003601f168201915b505050505081526020019060010190610ede565b5f610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150612c8b9050565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a557602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110525790505b50505050508152505081526020019060010190610fea565b5f61083385858585612cb7565b949350505050565b5f6110de848484612cfe565b90505b9392505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250612d1392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054611199906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546111c5906160e4565b80156112105780601f106111e757610100808354040283529160200191611210565b820191905f5260205f20905b8154815290600101906020018083116111f357829003601f168201915b50505050508152602001906001019061117c565b5f8054610100900460ff161561124257505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156113595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093525f9290916112e5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616116565b60408051601f19818403018152908290526112ff9161615d565b5f604051808303815f865af19150503d805f8114611338576040519150601f19603f3d011682016040523d82523d5f602084013e61133d565b606091505b50915050808060200190518101906113559190616178565b9150505b919050565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f92019190915250612f6b92505050565b60605f6060611413868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612f8392505050565b92509250925093509350939050565b5f601f5490505f60205490505f61146d6040518060400160405280601f81526020017f416363657373436f6e74726f6c3a206861734163636573732028636f6c6429008152506121d8565b611478836001612fa8565b9050611482612503565b6114a4816040518060600160405280602a8152602001616c62602a9139613005565b6114b082600180611c1f565b6114d16040518060600160405280602f8152602001616bc2602f91396121d8565b6114dc836001612fa8565b90506114e6612503565b611508816040518060600160405280602a8152602001616b98602a913961300c565b6115148260015f611c1f565b6115526040518060400160405280601f81526020017f416363657373436f6e74726f6c3a2068617341636365737320287761726d29008152506121d8565b61155d836001612fa8565b9050611567612503565b61158981604051806060016040528060308152602001616ce360309139613005565b61159583600180611c1f565b6115c16115a3846001612fa8565b6040518060600160405280602c8152602001616bf1602c913961300c565b6115cd8360015f611c1f565b610ccc6115db846001612fa8565b6040518060600160405280602c8152602001616c8c602c9139613005565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250613051915050565b5f610aa882613067565b611683858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506130949050565b5050505050565b5f6110de8484846130ea565b6060600c80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b5f610aa8826130f9565b5f601f549050611725604051806060016040528060238152602001616c3f602391396121d8565b61173181610123612c74565b611739612503565b61175a604051806060016040528060238152602001616b75602391396121d8565b61176681610123612c74565b61176e612503565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156117d1575f80fd5b505af11580156117e3573d5f803e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb3915063d787b73760e01b90506118158461285d565b306040516024016118279291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252611899916004016156f0565b5f604051808303815f87803b1580156118b0575f80fd5b505af11580156118c2573d5f803e3d5ffd5b505050506118e76040518060600160405280602b8152602001616cb8602b91396121d8565b6109008130612c74565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061311e92505050565b606061196d82613156565b8360ff16101561198a5761198385858585613187565b90506110ca565b611983858561199885613156565b6119a290876161ab565b61219f565b6106367f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b4565b6106dd7f7462776f726c640000000000000000005265736f757263654163636573730000630101000160d81b7e3402005f6100000000000000000000000000000000000000000000000000007e01010060000000000000000000000000000000000000000000000000000000611a466132d8565b611a4e6133af565b613425565b6106dd7f7462776f726c640000000000000000004e616d6573706163654f776e657200007e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000611adf6134d8565b611a4e61354e565b5f611af4607060106161c4565b6001600160f01b031985167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110611b7a57611b7a6161d7565b602002602001018181525050610ccc7f7462776f726c640000000000000000004e616d6573706163654f776e657200005f1b825f85604051602001611bea919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006135c4565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110611c5257611c526161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110611c7d57611c7d6161d7565b602002602001018181525050611ce67f7462776f726c640000000000000000005265736f7572636541636365737300005f1b825f85604051602001611cc991151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6135c4565b50505050565b613a3160f11b866001600160f01b03191614801590611d1a5750611bdd60f21b866001600160f01b03191614155b15611d8457613a3160f11b8687604051602001611d3991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611d7b9392916004016161eb565b60405180910390fd5b611d8d85613673565b611d988460016138b5565b611da2835f6138b5565b60e084901c60e885901c0160ff16825114611e025760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff16815114611e625760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614611eda5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611ee385613156565b611eec84613156565b14611f3e57611efa85613156565b611f0384613156565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611f4785613a49565b611f5084613a49565b14611fa257611f5e85613a49565b611f6784613a49565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f5b611fad86613156565b81101561204857611fd7611fc18583613a65565b60c5811115611fd257611fd2616213565b613a85565b6008601b8390030287901c60ff1614612040576008601b8290030286901c60ff16612005611fc18684613a65565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b600101611fa4565b505f612071613a3160f11b61205d8960101b90565b60101c6001600160f01b0319919091161790565b90505f612087611bdd60f21b61205d8a60101b90565b905061209282613ae3565b806120a157506120a181613ae3565b156120fb5787886040516020016120ba91815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b61214788888888886040516020016121139190615de0565b604051602081830303815290604052886040516020016121339190615de0565b604051602081830303815290604052613b65565b6106ff886001613c38565b611ce684848484612162896127da565b612782565b5f6121728585613cd5565b90505f61218e828560ff166028026038011c64ffffffffff1690565b905061077a868686845f8888613ce7565b60606110de6121af85858561407c565b5f6121d3856121be8989613cd5565b9060ff166028026038011c64ffffffffff1690565b6140fa565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af1158015612275573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122999190616178565b6122a05750565b601b80546122ad906160e4565b90505f14601b6040516020016122c391906162cc565b6040516020818303038152906040529061230a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601d8160405161231b919061615d565b9081526020016040518091039020545f148160405160200161233d9190616350565b60405160208183030381529060405290612384576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601b61239182826163ff565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156123ec575f80fd5b505af11580156123fe573d5f803e3d5ffd5b505050505a601c55604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e0916004808301925f92919082900301818387803b158015612469575f80fd5b505af1158015611683573d5f803e3d5ffd5b6001600160a01b0381166124d07f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617614125565b6001600160a01b031614610636576124e78261285d565b8160405163d787b73760e01b8152600401611d7b9291906160ba565b5f5a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af11580156125a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c99190616178565b6125d05750565b5f609f82601c546125e191906164bb565b6125eb91906164bb565b6125f69060016161c4565b90505f8111612661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401611d7b565b80601d601b60405161267391906164ce565b90815260405190819003602001902055601e80546001810182555f919091527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350016126bf601b826164d9565b50612751601b80546126d0906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546126fc906160e4565b80156127475780601f1061271e57610100808354040283529160200191612747565b820191905f5260205f20905b81548152906001019060200180831161272a57829003601f168201915b50505050506141be565b60408051602081019091525f8152601b90610ccc90826163ff565b611683858585858561277d8b6127da565b6142b2565b61278b81613156565b8360ff1610156127a7576127a285858585856127c5565b611683565b61168385856127b584613156565b6127bf90876161ab565b8561311e565b61168385856127d484876145a1565b85612d13565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161282857507e60030220202000000000000000000000000000000000000000000000000000919050565b610aa86128557f746273746f72650000000000000000005461626c657300000000000000000000846145d1565b60205f614629565b606081601081901b5f61286f83614679565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156128ca576128c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661468f565b612901565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612928576129238361468f565b61295f565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612971939291906165a4565b6040516020818303038152906040529350505050919050565b60605f60605f61299985614714565b90506129a6878783614736565b93505f6129b286613a49565b90508015612a80576129c48888613cd5565b935066ffffffffffffff841667ffffffffffffffff8111156129e8576129e8615aec565b6040519080825280601f01601f191660200182016040528015612a12576020820181803683370190505b509250602083015f5b828160ff161015612a7d575f612a328b8b8461407c565b90505f612a4e888460ff166028026038011c64ffffffffff1690565b9050612a5c825f838761476b565b612a6681856161c4565b935050508080612a7590616619565b915050612a1b565b50505b505093509350939050565b606081831115612ad1576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401611d7b565b5f612adc8787613cd5565b90505f612af8828760ff166028026038011c64ffffffffff1690565b90508085101580612b0857508084115b15612b63578081861015612b2657612b216001866164bb565b612b28565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f612b6f89898961407c565b9050612b7e81878888036140fa565b9998505050505050505050565b6106368282612b99856127da565b614832565b613a3160f11b836001600160f01b03191614612bce57613a3160f11b8384604051602001611d3991815260200190565b612bd783613ae3565b612c30578283604051602001612bef91815260200190565b60408051601f19818403018152908290527f41e713ad000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b610ccc837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617614aeb565b612c7e8282612fa8565b610636576124e78261285d565b5f610833612c998686614ba0565b60ff858116601b0360080285901c16612cb285876145a1565b614629565b5f80612cc283613156565b90508060ff168460ff161015612cea5760ff848116601b0360080284901c165b9150506110ca565b612ce28686612cf984886161ab565b6130ea565b5f6110de848484612d0e886127da565b612cb7565b611bdd60f21b846001600160f01b03191603612d6a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612d5d93929190616671565b60405180910390a2611ce6565b5f612d758585614ba0565b90505f612d8186614bb4565b90505f5b8151811015612e4f575f828281518110612da157612da16161d7565b60200260200101519050612dcd6004826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612e46576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612e18908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612e2f575f80fd5b505af1158015612e41573d5f803e3d5ffd5b505050505b50600101612d85565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612e8493929190616671565b60405180910390a2612e9f828565ffffffffffff1685614c56565b5f5b8151811015610a22575f828281518110612ebd57612ebd6161d7565b60200260200101519050612ee96008826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612f62576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612f34908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612f4b575f80fd5b505af1158015612f5d573d5f803e3d5ffd5b505050505b50600101612ea1565b61077a868686868686612f7e8d8d613cd5565b613ce7565b60605f6060612f9b8585612f96886127da565b61298a565b9250925092509250925092565b5f612ff57f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614c6c565b806110e157506110e18383614c6c565b6106368215825b81610636577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161304091906166e6565b60405180910390a161063682614d19565b60606110de848484613062886127da565b611962565b5f61307182614d8d565b905061307c82613ae3565b611359578182604051602001612bef91815260200190565b5f61309f8585613cd5565b90505f6130bb828560ff166028026038011c64ffffffffff1690565b905061077a8686866130d48764ffffffffff87166164bb565b604080515f815260208101909152889088613ce7565b5f6110de826121be8686613cd5565b5f61310382614e1c565b905080611359578182604051602001612bef91815260200190565b5f6131298585613cd5565b90505f613145828560ff166028026038011c64ffffffffff1690565b905061077a8686865f858888613ce7565b5f60086001613167600260206164bb565b61317191906164bb565b61317b919061672c565b8260ff911c1692915050565b60606108336131968686614ba0565b6131a084866145a1565b60ff868116601b0360080286901c166140fa565b5f6131bf8484614eab565b90505f815167ffffffffffffffff8111156131dc576131dc615aec565b604051908082528060200260200182016040528015613205578160200160208202803683370190505b5090505f805b83518110156132c957846001600160a01b031661324f858381518110613233576132336161d7565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146132c15783818151811061326f5761326f6161d7565b6020026020010151838381518110613289576132896161d7565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b60010161320b565b5080825261077a868684614f0c565b6040805160028082526060828101909352816020015b60608152602001906001900390816132ee5790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250815f8151811061334d5761334d6161d7565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106133a1576133a16161d7565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816133c65790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f61342e614f60565b9050306001600160a01b038216036134535761344e878787878787611cec565b610a22565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906134a2908a908a908a908a908a908a90600401616743565b5f604051808303815f87803b1580156134b9575f80fd5b505af11580156134cb573d5f803e3d5ffd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816134ef5790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b604080516001808252818301909252606091816020015b60608152602001906001900390816135655790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f6135cd614f60565b9050306001600160a01b038216036135f1576135ec86868686866127c5565b61077a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061363e908990899089908990899060040161677f565b5f604051808303815f87803b158015613655575f80fd5b505af1158015613667573d5f803e3d5ffd5b50505050505050505050565b806136aa576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6136b482613a49565b905060058111156136fb576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611d7b565b5f61370583613156565b90505f61371283836161c4565b9050601c811115613759576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611d7b565b5f805b838110156138025760ff601b82900360080287901c165f8190036137af576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b60208111156137ed576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b6137f781846161c4565b92505060010161375c565b5061380c85614714565b81146138585761381b85614714565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611d7b565b825b601c81101561077a5760ff601b82900360080287901c1680156138ac576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b5060010161385a565b801580156138c1575081155b156138e15760405163d498615960e01b81525f6004820152602401611d7b565b5f6138eb83613a49565b905060058111156139125760405163d498615960e01b815260048101829052602401611d7b565b5f61391c84613156565b90505f61392983836161c4565b9050601c8111156139505760405163d498615960e01b815260048101829052602401611d7b565b5f805b838110156139b9575f613969611fc18984613a65565b9050805f036139a4576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139ae81846161c4565b925050600101613953565b506139c386614714565b81146139ee576139d286614714565b60405163d498615960e01b8152600401611d7b91815260200190565b825b82811015610a22575f613a06611fc18984613a65565b90508015613a40576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016139f0565b5f6008600180613a5b600260206164bb565b61316791906164bb565b5f601b8290036008028360ff911c1660c58111156110e1576110e1616213565b5f808260c5811115613a9957613a99616213565b60ff1690506061811015613ab357601f1660010192915050565b60618360c5811115613ac757613ac7616213565b03613ad55750601492915050565b505f92915050565b50919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613b1a57613b1a6161d7565b60209081029190910101525f613b597f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612c8b565b90506110ca8160f81c90565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f613b9b8484614f99565b90505f613ba88585614fb5565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f81518110613be057613be06161d7565b60209081029190910101526136677f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006142b2565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110613c6c57613c6c6161d7565b602002602001018181525050610ccc7f746273746f72650000000000000000005265736f7572636549647300000000005f1b825f85604051602001613cb891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6127c5565b5f6110e1613ce38484614fe1565b5490565b613a3160f11b876001600160f01b03191614613d1757613a3160f11b8788604051602001611d3991815260200190565b5f613d31828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683613d4991906164bb565b613d5391906161c4565b9050808214158015613d75575081613d6b86886167c5565b64ffffffffff1614155b15613dc5576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401611d7b565b818664ffffffffff161115613e16576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401611d7b565b5f613e22848984615036565b90505f613e2e8b614bb4565b90505f5b8151811015613ef2575f828281518110613e4e57613e4e6161d7565b60200260200101519050613e7a6010826affffffffffffffffffffff1916614c3990919063ffffffff16565b15613ee957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401613ebb97969594939291906167ea565b5f604051808303815f87803b158015613ed2575f80fd5b505af1158015613ee4573d5f803e3d5ffd5b505050505b50600101613e32565b5064ffffffffff88165f5b8a60ff168160ff161015613f3057613f24878260ff166028026038011c64ffffffffff1690565b90910190600101613efd565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613f6b96959493929190616847565b60405180910390a250828414613f8b575f613f868c8c614fe1565b839055505b5f613f978c8c8c61407c565b9050613fab818a64ffffffffff1689614c56565b505f5b815181101561406e575f828281518110613fca57613fca6161d7565b60200260200101519050613ff66020826affffffffffffffffffffff1916614c3990919063ffffffff16565b1561406557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161403797969594939291906167ea565b5f604051808303815f87803b15801561404e575f80fd5b505af1158015614060573d5f803e3d5ffd5b505050505b50600101613fae565b505050505050505050505050565b5f8383604051602001614090929190616895565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b60405160208101601f19603f848401011660405282825261411d8585858461476b565b509392505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061415c5761415c6161d7565b60209081029190910101525f6141b37f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000615103565b60601c949350505050565b6109087f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b0316636900a3ae601d84604051614202919061615d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261424b9160040190815260200190565b5f60405180830381865afa158015614265573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261428c91908101906168cf565b8260405160200161429e929190616938565b6040516020818303038152906040526151b5565b611bdd60f21b866001600160f01b0319160361430b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516142fe94939291906169b8565b60405180910390a261077a565b5f61431587614bb4565b90505f5b81518110156143e7575f828281518110614335576143356161d7565b602002602001015190506143616001826affffffffffffffffffffff1916614c3990919063ffffffff16565b156143de576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906143b0908c908c908c908c908c908c906004016169f6565b5f604051808303815f87803b1580156143c7575f80fd5b505af11580156143d9573d5f803e3d5ffd5b505050505b50600101614319565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161441e94939291906169b8565b60405180910390a25f6144318888614ba0565b90505f602087019050614447825f895184615226565b5f61445185613a49565b11156144d1575f6144628a8a614fe1565b87815590506020860191505f805f5b61447a88613a49565b8160ff1610156144cc5761448f8d8d8361407c565b92506144aa8a8260ff166028026038011c64ffffffffff1690565b91506144b8835f8488615226565b6144c282866161c4565b9450600101614471565b505050505b5f5b8351811015613667575f8482815181106144ef576144ef6161d7565b6020026020010151905061451b6002826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614598576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061456a908e908e908e908e908e908e906004016169f6565b5f604051808303815f87803b158015614581575f80fd5b505af1158015614593573d5f803e3d5ffd5b505050505b506001016144d3565b5f80805b8360ff1681101561411d576145c760ff601b83900360080287901c16836161c4565b91506001016145a5565b60408051602081018490529081018290525f906060015b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f6020821061464e5760208204840193506020828161464a5761464a616a4e565b0691505b508254600882021b60208290038084111561411d576001850154600882021c82179150509392505050565b5f614686607060106161c4565b9190911b919050565b60605f5b60108110156146e4576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156146e457600101614693565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806110ca565b5f6008614723600260206164bb565b61472d919061672c565b9190911c919050565b6060815f03614753575060408051602081019091525f81526110e1565b5f61475e8585614ba0565b9050610833815f856140fa565b82156147ef57602083106147955760208304840193506020838161479157614791616a4e565b0692505b82156147ef5760208390035f818410156147b657505f19600884021c6147bf565b505f19600882021c5b8554600886021b8184511682198216178452508184116147e0575050611ce6565b50600194909401939182900391015b5b602082106148115783548152600190930192601f19909101906020016147f0565b8115611ce6575f5f19600884021c8251865482191691161782525050505050565b611bdd60f21b836001600160f01b0319160361488557827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516148789190616a62565b60405180910390a2505050565b5f61488f84614bb4565b90505f5b815181101561495b575f8282815181106148af576148af6161d7565b602002602001015190506148db6040826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614952576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061492490899089908990600401616a74565b5f604051808303815f87803b15801561493b575f80fd5b505af115801561494d573d5f803e3d5ffd5b505050505b50600101614893565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161498c9190616a62565b60405180910390a25f61499f8585614ba0565b90506149f7815f6149af86614714565b67ffffffffffffffff8111156149c7576149c7615aec565b6040519080825280601f01601f1916602001820160405280156149f1576020820181803683370190505b50614c56565b5f614a0184613a49565b1115614a21575f614a128686614fe1565b9050614a1f8160206152e1565b505b5f5b825181101561077a575f838281518110614a3f57614a3f6161d7565b60200260200101519050614a6b6080826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614ae2576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614ab4908a908a908a90600401616a74565b5f604051808303815f87803b158015614acb575f80fd5b505af1158015614add573d5f803e3d5ffd5b505050505b50600101614a23565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614b1f57614b1f6161d7565b602002602001018181525050610ccc7f746273746f726500000000000000000053746f7265486f6f6b730000000000005f1b825f85604051602001614b8c91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612167565b5f82826040516020016145e8929190616895565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614bec57614bec6161d7565b60209081029190910101525f614c237f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361219f565b90506110ca614c34825f845161531c565b6153a8565b5f8160ff1682614c498560581c90565b1660ff1614905092915050565b610ccc83838351614c678560200190565b615226565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110614ca357614ca36161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110614cce57614cce6161d7565b60209081029190910101525f614d0d7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b615103565b90506108338160f81c90565b80610908577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614d7d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16109086153b7565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614dc457614dc46161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614e5357614e536161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614ee357614ee36161d7565b6020026020010181815250505f614efb85835f61219f565b9050610833614c34825f845161531c565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614f4057614f406161d7565b602002602001018181525050611ce684825f614f5b866154f1565b61311e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611359573391505090565b815181515f9181810160389190911b1760609190911b176110e1565b60608282604051602001614fca929190616a9c565b604051602081830303815290604052905092915050565b5f8282604051602001614ff5929190616895565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff821115615079576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106150ab57808503820191506150b3565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5f8061510d614f60565b9050306001600160a01b0382160361512b57612ce286868686612c8b565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990615176908990899089908990600401616aca565b602060405180830381865afa158015615191573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce29190616af8565b610908816040516024016151c991906156f0565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052615500565b821561529e57602083106152505760208304840193506020838161524c5761524c616a4e565b0692505b821561529e5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161528f575050611ce6565b50600194909401939182900391015b5b602082106152c05780518455600190930192601f199091019060200161529f565b8115611ce6575f5f19600884021c8554835182191691161785555050505050565b5f60206152ef83601f6161c4565b6152f99190616b0f565b61530390846161c4565b90505b80831015610ccc575f8355600183019250615306565b5f8183118061532b5750835182115b15615368578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401611d7b93929190616b2e565b6020840161537684826161c4565b90505f61538385856164bb565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f6110e18360155f615520565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156154c45760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000092820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526154679291602001616116565b60408051601f19818403018152908290526154819161615d565b5f604051808303815f865af19150503d805f81146154ba576040519150601f19603f3d011682016040523d82523d5f602084013e6154bf565b606091505b505050505b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060816110e18160155f615598565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b60605f61552d8560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161555257615552616a4e565b0490506040519350602084016020820281016040528185525f5b8281101561558c578451871c82529387019360209091019060010161556c565b50505050509392505050565b82516060905f6155a8858361672c565b9050604051925060208301601f19603f83860101166040528184525f602088015b8482101561558c578051871b835291870191600191909101906020016155c9565b5f8083601f8401126155fa575f80fd5b50813567ffffffffffffffff811115615611575f80fd5b6020830191508360208260051b850101111561562b575f80fd5b9250929050565b803560ff81168114611359575f80fd5b5f805f805f60808688031215615656575f80fd5b85359450602086013567ffffffffffffffff811115615673575f80fd5b61567f888289016155ea565b9095509350615692905060408701615632565b949793965091946060013592915050565b5f5b838110156156bd5781810151838201526020016156a5565b50505f910152565b5f81518084526156dc8160208601602086016156a3565b601f01601f19169290920160200192915050565b602081525f6110e160208301846156c5565b80356001600160a01b0381168114611359575f80fd5b5f8060408385031215615729575f80fd5b8235915061573960208401615702565b90509250929050565b5f805f805f805f8060c0898b031215615759575f80fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff8082111561578c575f80fd5b6157988c838d016155ea565b909650945060a08b01359150808211156157b0575f80fd5b506157bd8b828c016155ea565b999c989b5096995094979396929594505050565b5f8083601f8401126157e1575f80fd5b50813567ffffffffffffffff8111156157f8575f80fd5b60208301915083602082850101111561562b575f80fd5b5f805f805f8060808789031215615824575f80fd5b86359550602087013567ffffffffffffffff80821115615842575f80fd5b61584e8a838b016155ea565b909750955085915061586260408a01615632565b94506060890135915080821115615877575f80fd5b5061588489828a016157d1565b979a9699509497509295939492505050565b5f805f80606085870312156158a9575f80fd5b84359350602085013567ffffffffffffffff8111156158c6575f80fd5b6158d2878288016155ea565b90945092506158e5905060408601615632565b905092959194509250565b602080825282518282018190525f9190848201906040850190845b818110156159305783516001600160a01b03168352928401929184019160010161590b565b50909695505050505050565b5f805f805f805f8060a0898b031215615953575f80fd5b88359750602089013567ffffffffffffffff80821115615971575f80fd5b61597d8c838d016155ea565b909950975060408b0135915080821115615995575f80fd5b6159a18c838d016157d1565b909750955060608b0135945060808b01359150808211156159c0575f80fd5b506157bd8b828c016157d1565b5f805f805f805f60a0888a0312156159e3575f80fd5b87359650602088013567ffffffffffffffff80821115615a01575f80fd5b615a0d8b838c016155ea565b9098509650869150615a2160408b01615632565b955060608a0135915080821115615a36575f80fd5b50615a438a828b016157d1565b989b979a50959894979596608090950135949350505050565b5f60208284031215615a6c575f80fd5b5035919050565b5f805f8060608587031215615a86575f80fd5b84359350602085013567ffffffffffffffff811115615aa3575f80fd5b615aaf878288016155ea565b9598909750949560400135949350505050565b606081525f615ad460608301866156c5565b846020840152828103604084015261062281856156c5565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715615b2957615b29615aec565b604052919050565b5f67ffffffffffffffff821115615b4a57615b4a615aec565b5060051b60200190565b5f82601f830112615b63575f80fd5b81356020615b78615b7383615b31565b615b00565b8083825260208201915060208460051b870101935086841115615b99575f80fd5b602086015b84811015615bb55780358352918301918301615b9e565b509695505050505050565b5f805f805f60a08688031215615bd4575f80fd5b85359450602086013567ffffffffffffffff811115615bf1575f80fd5b615bfd88828901615b54565b945050615c0c60408701615632565b94979396509394606081013594506080013592915050565b5f8060408385031215615c35575f80fd5b82359150602083013567ffffffffffffffff811115615c52575f80fd5b615c5e85828601615b54565b9150509250929050565b5f805f60608486031215615c7a575f80fd5b83359250615c8a60208501615702565b9150615c9860408501615632565b90509250925092565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015615d7a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b80831015615d655783517fffffffff00000000000000000000000000000000000000000000000000000000168252928a019260019290920191908a0190615d23565b50968901969450505090860190600101615cc8565b509098975050505050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015615dd357601f19868403018952615dc18383516156c5565b98840198925090830190600101615da5565b5090979650505050505050565b602081525f6110e16020830184615d88565b5f805f8060808587031215615e05575f80fd5b84359350602085013567ffffffffffffffff811115615e22575f80fd5b615e2e87828801615b54565b935050615e3d60408601615632565b9396929550929360600135925050565b5f805f60608486031215615e5f575f80fd5b83359250602084013567ffffffffffffffff811115615e7c575f80fd5b615e8886828701615b54565b925050615c9860408501615632565b5f805f805f8060808789031215615eac575f80fd5b86359550602087013567ffffffffffffffff80821115615eca575f80fd5b615ed68a838b016155ea565b90975095506040890135915065ffffffffffff82168214615ef5575f80fd5b90935060608801359080821115615877575f80fd5b803564ffffffffff81168114611359575f80fd5b5f805f805f805f8060c0898b031215615f35575f80fd5b88359750602089013567ffffffffffffffff80821115615f53575f80fd5b615f5f8c838d016155ea565b9099509750879150615f7360408c01615632565b9650615f8160608c01615f0a565b9550615f8f60808c01615f0a565b945060a08b01359150808211156159c0575f80fd5b5f805f60408486031215615fb6575f80fd5b83359250602084013567ffffffffffffffff811115615fd3575f80fd5b615fdf868287016155ea565b9497909650939450505050565b5f67ffffffffffffffff82111561600557616005615aec565b50601f01601f191660200190565b5f616020615b7384615b31565b80848252602080830192508560051b85013681111561603d575f80fd5b855b818110156160ae57803567ffffffffffffffff81111561605d575f80fd5b870136601f82011261606d575f80fd5b803561607b615b7382615fec565b818152368683850101111561608e575f80fd5b81868401878301375f91810186019190915286525093820193820161603f565b50919695505050505050565b604081525f6160cc60408301856156c5565b90506001600160a01b03831660208301529392505050565b600181811c908216806160f857607f821691505b602082108103613add57634e487b7160e01b5f52602260045260245ffd5b7fffffffff00000000000000000000000000000000000000000000000000000000831681525f825161614f8160048501602087016156a3565b919091016004019392505050565b5f825161616e8184602087016156a3565b9190910192915050565b5f60208284031215616188575f80fd5b815180151581146110e1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115610aa857610aa8616197565b80820180821115610aa857610aa8616197565b634e487b7160e01b5f52603260045260245ffd5b6001600160f01b031984168152826020820152606060408201525f61083360608301846156c5565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f6110de60408301846156c5565b5f815461624b816160e4565b600182811680156162635760018114616296576162c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506162c2565b855f526020805f205f5b858110156162b95781548a8201529084019082016162a0565b50505082870194505b5050505092915050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f6162fd600c83018461623f565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f825161638781600c8501602087016156a3565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115610ccc57805f5260205f20601f840160051c810160208510156163e05750805b601f840160051c820191505b81811015611683575f81556001016163ec565b815167ffffffffffffffff81111561641957616419615aec565b61642d8161642784546160e4565b846163bb565b602080601f831160018114616460575f84156164495750858301515b5f19600386901b1c1916600185901b17855561077a565b5f85815260208120601f198616915b8281101561648e5788860151825594840194600190910190840161646f565b50858210156164ab57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610aa857610aa8616197565b5f6110e1828461623f565b8181036164e4575050565b6164ee82546160e4565b67ffffffffffffffff81111561650657616506615aec565b6165148161642784546160e4565b5f601f821160018114616545575f831561652e5750848201545b5f19600385901b1c1916600184901b178455611683565b5f8581526020808220868352908220601f198616925b8381101561657b578286015482556001958601959091019060200161655b565b50858310156164ab579301545f1960f8600387901b161c19169092555050600190811b01905550565b6001600160f01b0319841681525f7f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516165ec8160038601602089016156a3565b80840190508160038201528451915061660c8260048301602088016156a3565b0160040195945050505050565b5f60ff821660ff810361662e5761662e616197565b60010192915050565b5f815180845260208085019450602084015f5b838110156166665781518752958201959082019060010161664a565b509495945050505050565b606081525f6166836060830186616637565b65ffffffffffff85166020840152828103604084015261062281856156c5565b848152608060208201525f6166bb6080830186616637565b65ffffffffffff8516604084015282810360608401526166db81856156c5565b979650505050505050565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201525f6110e160808301846156c5565b8082028115828204841417610aa857610aa8616197565b86815285602082015284604082015283606082015260c060808201525f61676d60c0830185615d88565b82810360a0840152612b7e8185615d88565b85815260a060208201525f61679760a0830187616637565b60ff8616604084015282810360608401526167b281866156c5565b9150508260808301529695505050505050565b64ffffffffff8181168382160190808211156167e3576167e3616197565b5092915050565b87815260e060208201525f61680260e0830189616637565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261683981856156c5565b9a9950505050505050505050565b60c081525f61685960c0830189616637565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152612b7e81856156c5565b8281525f60208083018451602086015f5b828110156168c2578151845292840192908401906001016168a6565b5091979650505050505050565b5f602082840312156168df575f80fd5b815167ffffffffffffffff8111156168f5575f80fd5b8201601f81018413616905575f80fd5b8051616913615b7382615fec565b818152856020838501011115616927575f80fd5b6108338260208301602086016156a3565b7f474153205245504f52543a20000000000000000000000000000000000000000081525f835161696f81600c8501602088016156a3565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516169ac81600d8401602088016156a3565b01600d01949350505050565b608081525f6169ca6080830187616637565b82810360208401526169dc81876156c5565b905084604084015282810360608401526166db81856156c5565b86815260c060208201525f616a0e60c0830188616637565b8281036040840152616a2081886156c5565b90508560608401528281036080840152616a3a81866156c5565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b602081525f6110e16020830184616637565b838152606060208201525f616a8c6060830185616637565b9050826040830152949350505050565b5f8351616aad8184602088016156a3565b835190830190616ac18183602088016156a3565b01949350505050565b848152608060208201525f616ae26080830186616637565b60ff949094166040830152506060015292915050565b5f60208284031215616b08575f80fd5b5051919050565b5f82616b2957634e487b7160e01b5f52601260045260245ffd5b500490565b606081525f616b4060608301866156c5565b6020830194909452506040015291905056fe416363657373436f6e74726f6c3a20726571756972654f776e657220287761726d29416363657373436f6e74726f6c3a207265717569726541636365737320287761726d2963616c6c65722073686f756c6420686176652061636365737320746f20746865206e616d657370616365416363657373436f6e74726f6c3a2068617341636365737320287761726d2c206e616d657370616365206f6e6c792961636365737320746f20746865207461626c652073686f756c642068617665206265656e206772616e746564416363657373436f6e74726f6c3a20726571756972654f776e65722028636f6c6429416363657373436f6e74726f6c3a20726571756972654163636573732028636f6c642963616c6c65722073686f756c64206e6f7420686176652061636365737320746f20746865207461626c6561636365737320746f20746865207461626c652073686f756c642068617665206265656e207265766f6b6564416363657373436f6e74726f6c3a207265717569726541636365737320287468697320616464726573732961636365737320746f20746865206e616d6573706163652073686f756c642068617665206265656e207265766f6b6564a164736f6c6343000818000a8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175746273746f72650000000000000000005265736f757263654964730000000000","sourceMap":"703:4117:137:-:0;;;1572:26:48;;;1594:4;-1:-1:-1;;1572:26:48;;;;;;;;3126:44:51;;;;;;;;;;;228:9:0;186:51;;703:4117:137;;;;;;;;;-1:-1:-1;895:22:27;-1:-1:-1;;;;;;;;;;;2374:38:29;;-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;;;;;708:22:47;-1:-1:-1;;;;;;;;;;;2374:38:29;;-1:-1:-1;;;;;;2374:38:29;1824:4:25;2374:38:29;;;1751:84:25;708:22:47;736:34;:32;:34::i;:::-;-1:-1:-1;;;;;;;;;;;2374:38:29;;-1:-1:-1;;;;;;2374:38:29;812:4:47;2374:38:29;;;703:4117:137;;1788:42:25;1751:84::o;2062:1571::-;2608:39;1207:66:34;2608:22:25;:39::i;:::-;2604:164;;;2726:33;;;1207:66:34;2726:33:25;;;174:19:162;;;1207:66:34;209:12:162;2726:33:25;;;;-1:-1:-1;;2726:33:25;;;;;;;;;;-1:-1:-1;;;2664:97:25;;;;;;;;:::i;:::-;;;;;;;;2604:164;2777:44;-1:-1:-1;;;;;;;;;;;2777:22:25;:44::i;:::-;2773:203;;;2922:38;;;-1:-1:-1;;;;;;;;;;;2922:38:25;;;174:19:162;;;971:66:32;209:12:162;2922:38:25;14:213:162;2773:203:25;2981:201;1207:66:34;-1:-1:-1;;;;;;;;;3113:20:25;:18;:20::i;:::-;3102:32;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3102:32:25;;;;;;;;;3153:22;:20;:22::i;:::-;3142:34;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3142:34:25;;;;;;;;;2981:11;:201::i;:::-;3188:231;-1:-1:-1;;;;;;;;;;;;;;;;;;;;3340:25:25;:23;:25::i;:::-;3329:37;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3329:37:25;;;;;;;;;3385:27;:25;:27::i;3188:231::-;3425:45;1207:66:34;3465:4:25;3425:22;:45::i;:::-;3476:50;-1:-1:-1;;;;;;;;;;;3521:4:25;3476:22;:50::i;:::-;3607:21;:19;:21::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;-1:-1:-1;;;;;;;;;;;3094:9:32;3043:13;-1:-1:-1;;;3059:24:32;:62::i;:::-;3043:78;-1:-1:-1;3143:20:32;;;;3135:29;3127:38;2856:314;-1:-1:-1;;;;2856:314:32:o;1881:138:34:-;1970:15;;;1983:1;1970:15;;;;;;;;;1927:24;;1970:15;;;;;;;;;;;;;;;;;;;;1959:26;;1991:23;;;;;;;;;;;;;-1:-1:-1;;;1991:23:34;;;:8;2000:1;1991:11;;;;;;;;:::i;:::-;;;;;;:23;;;;1881:138;:::o;2159:304::-;2254:15;;;2267:1;2254:15;;;;;;;;;2207:26;;2254:15;;;;;;;;;;;;;;;;;;;;2241:28;;2275:29;;;;;;;;;;;;;-1:-1:-1;;;2275:29:34;;;:10;2286:1;2275:13;;;;;;;;:::i;:::-;;;;;;:29;;;;2310:27;;;;;;;;;;;;;-1:-1:-1;;;2310:27:34;;;:10;2321:1;2310:13;;;;;;;;:::i;:::-;;;;;;:27;;;;2343:29;;;;;;;;;;;;;-1:-1:-1;;;2343:29:34;;;:10;2354:1;2343:13;;;;;;;;:::i;:::-;;;;;;:29;;;;2378:36;;;;;;;;;;;;;-1:-1:-1;;;2378:36:34;;;:10;2389:1;2378:13;;;;;;;;:::i;:::-;;;;;;:36;;;;2420:38;;;;;;;;;;;;;;;;;:10;2431:1;2420:13;;;;;;;;:::i;19791:677::-;24359:53;;;;;;2719:19:162;;;2754:12;;;2747:28;;;24332:12:34;2791::162;;;2784:28;;;24359:53:34;;;;;;;;;;2828:12:162;;;;24359:53:34;;;20082:30;20115:55;20129:18;20149:20;20115:13;:55::i;:::-;20082:88;-1:-1:-1;20176:25:34;20204:55;20218:18;20238:20;20204:13;:55::i;:::-;20295:16;;;20309:1;20295:16;;;;;;;;;20176:83;;-1:-1:-1;20266:26:34;;20295:16;;;;;;;;;;;;-1:-1:-1;20295:16:34;20266:45;;20350:7;20317:9;20327:1;20317:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20365:98;1207:66;20395:9;20406:11;20419:15;20436:12;-1:-1:-1;;;20365:19:34;:98::i;:::-;19993:475;;;;19791:677;;;;;;:::o;1610:141:32:-;1699:15;;;1712:1;1699:15;;;;;;;;;1656:24;;1699:15;;;;;;;;;;;;;;;;;;;;1688:26;;1720;;;;;;;;;;;;;-1:-1:-1;;;1720:26:32;;;:8;1729:1;1720:11;;;;;;;;:::i;1891:145::-;1986:15;;;1999:1;1986:15;;;;;;;;;1939:26;;1986:15;;;;;;;;;;;;;;;;;;;;1973:28;;2007:24;;;;;;;;;;;;;-1:-1:-1;;;2007:24:32;;;:10;2018:1;2007:13;;;;;;;;:::i;4220:268::-;4320:16;;;4334:1;4320:16;;;;;;;;;4291:26;;4320:16;;;;;;;;;;;-1:-1:-1;4320:16:32;4291:45;;4375:10;4342:9;4352:1;4342:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4393:90;-1:-1:-1;;;;;;;;;;;955:83:32;;4428:9;4439:1;4460:6;4442:26;;;;;;2393:14:162;2386:22;2381:3;2377:32;2365:45;;2435:1;2426:11;;2242:201;4442:26:32;;;;-1:-1:-1;;4442:26:32;;;;;;;;;-1:-1:-1;;;4393:24:32;:90::i;:::-;4285:203;4220:268;;:::o;2100:147:33:-;2135:107;969:66;-1:-1:-1;;;;;;;;;2211:13:33;:11;:13::i;:::-;2226:15;:13;:15::i;:::-;2135:25;:107::i;36171:541:25:-;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;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:25:o;24608:390:34:-;24734:30;24895:92;24924:18;24918:32;24958:20;24952:34;24895:22;;;:92;;:::i;:::-;24877:110;24608:390;-1:-1:-1;;;24608:390:34:o;25163:234::-;25289:12;25340:18;25369:20;25316:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25309:83;;25163:234;;;;;:::o;13212:3165:25:-;-1:-1:-1;;;13486:7:25;-1:-1:-1;;;;;;13486:44:25;;13482:211;;13613:7;-1:-1:-1;;;;;;;;;;;13622:8:25;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;:::-;;;;;;;;;;;;-1:-1:-1;13976:33:25;-1:-1:-1;;;;;;13976:14:25;;409:6:37;13976:14:25;:33::i;:::-;13972:248;;;14021:190;;-1:-1:-1;;;14021:190:25;;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;-1:-1:-1;;;;;;;;;;;14312:8:25;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;-1:-1:-1;15627:170:25;15669:19;15708:1;15572:45;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;:::-;;;;;;;;;;;;-1:-1:-1;16125:32:25;-1:-1:-1;;;;;;16125:14:25;;503:6:37;16125:14:25;:32::i;:::-;16121:246;;;16169:189;;-1:-1:-1;;;16169:189:25;;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;;13212:3165;;;;;;;:::o;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;:::-;23107:355;;;;;:::o;1891:144:33:-;1986:15;;;1999:1;1986:15;;;;;;;;;1939:26;;1986:15;;;;;;;;;;;;;;;;;;;;1973:28;;2007:23;;;;;;;;;;;;;-1:-1:-1;;;2007:23:33;;;:10;2018:1;2007:13;;;;;;;;:::i;5644:520:29:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:29;-1:-1:-1;;;;;5898:30:29;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;-1:-1:-1;;;6050:103:29;;-1:-1:-1;;;;;6050:35:29;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:266;5841:323;5644:520;;;;;;:::o;50806:191:25:-;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;2518:351:3:-;2776:23;2761:39;;;975:16;2694:39;;;2662:5;;;2675:59;2742;2518:351;;;;:::o;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;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926:20;;;:44;;:::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3124:42;;;3157:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;758:151:19:-;894:4;884:15;;758:151::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;;3761:21;;3672:20;;-1:-1:-1;;579:1:35;804:25:36;;782:48;3757:32:23;;;3694:9;;3668:36;3617:184;3573:238;;3449:376;1489:2340;;;;:::o;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;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;52742:274::-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;-1:-1:-1;;;;;52916:45:25;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;17013:1682::-;-1:-1:-1;;;17192:7:25;-1:-1:-1;;;;;;17192:44:25;;17188:235;;17346:7;-1:-1:-1;;;;;;;;;;;17365:8:25;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;-1:-1:-1;17653:22:25;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;:::-;;;;;;;;;;;;-1:-1:-1;17798:41:25;-1:-1:-1;;;;;;17798:14:25;;614:6:37;17798:14:25;:41::i;:::-;17794:236;;;17851:170;;-1:-1:-1;;;17851:170:25;;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;-1:-1:-1;;;;;;;;;;;18159:8:25;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;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;:::-;;;;;;;;;;;;-1:-1:-1;18455:40:25;-1:-1:-1;;;;;;18455:14:25;;723:6:37;18455:14:25;:40::i;:::-;18451:234;;;18507:169;;-1:-1:-1;;;18507:169:25;;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;;1836:227:29;-1:-1:-1;;;;;;;;;;;1925:22:29;1886:7;;-1:-1:-1;;;;;1925:22:29;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:29:o;6637:2917:25:-;-1:-1:-1;;;6924:7:25;-1:-1:-1;;;;;;6924:35:25;;;;;:83;;-1:-1:-1;;;;6963:7:25;-1:-1:-1;;;;;;6963:44:25;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:25;7112;7095:25;;;;;;174:19:162;;218:2;209:12;;14:213;7095:25:25;;;;-1:-1:-1;;7095:25:25;;;;;;;;;;-1:-1:-1;;;7024:98:25;;;;;;;;;:::i;6920:209::-;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7415:8:25;:15;:40;7411:148;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7536:15:25;;7472:80;;-1:-1:-1;;;7472:80:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7472:80:25;9204:248:162;7411:148:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7609:10:25;:17;:44;7605:158;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7738:17:25;;7670:86;;-1:-1:-1;;;7670:86:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7670:86:25;9204:248:162;7605:158:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7820:50:25;7816:171;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7887:93:25;;-1:-1:-1;;;7887:93:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7887:93:25;9204:248:162;7816:171:25;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;-1:-1:-1;;;8075:135:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8075:135:25;9204:248:162;7992:225:25;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;-1:-1:-1;;;8307:138:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8307:138:25;9204:248:162;8222:230:25;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:25;8608:244;;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:25;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;-1:-1:-1;;;8701:142:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8701:142:25;9204:248:162;8608:244:25;8595:3;;8544:314;;;-1:-1:-1;8938:25:25;8966:63;-1:-1:-1;;;9003:25:25;:7;451:5:20;1899:44;;1798:151;9003:25:25;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:25;8938:91;-1:-1:-1;9035:26:25;9064:72;-1:-1:-1;;;9110:25:25;:7;451:5:20;1899:44;;1798:151;9064:72:25;9035:101;-1:-1:-1;9146:38:25;9169:14;9146:22;:38::i;:::-;:81;;;-1:-1:-1;9188:39:25;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;174:19:162;;218:2;209:12;;14:213;9142:190:25;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;9373:103::-;9512:37;9535:7;9544:4;9512:22;:37::i;:::-;6834:2720;;6637:2917;;;;;;:::o;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;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;;-1:-1:-1;;;2222:48:22;;;;;;;;;;:::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;:::-;-1:-1:-1;;;;;2555:15:22;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;40201:30;40234:17;:32::i;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;1098:18;;;:24;;:::i;:::-;1055:5;:68::i;6618:1665:4:-;6301:45;6681:87;;6723:38;;-1:-1:-1;;;6723:38:4;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:35;6842:17:4;:38;6838:156;;;6897:90;;-1:-1:-1;;;6897:90:4;;;;;9378:25:162;;;943:1:35;9419:18:162;;;9412:34;9351:18;;6897:90:4;9204:248:162;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:35;7134:15:4;:34;7130:141;;;7185:79;;-1:-1:-1;;;7185:79:4;;;;;9378:25:162;;;689:2:35;9419:18:162;;;9412:34;9351:18;;7185:79:4;9204:248:162;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;-1:-1:-1;;;7493:52:4;;;;;10100:25:162;;;10073:18;;7493:52:4;9954:177:162;7449:234:4;376:2:35;7564:16:4;:28;7560:123;;;7611:63;;-1:-1:-1;;;7611:63:4;;;;;10100:25:162;;;10073:18;;7611:63:4;9954:177:162;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;-1:-1:-1;7840:30:4;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;-1:-1:-1;;;7887:105:4;;;;;9378:25:162;;;;9419:18;;;9412:34;;;9351:18;;7887:105:4;9204:248:162;7815:184:4;8055:16;8038:241;689:2:35;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;-1:-1:-1;;;8209:55:4;;;;;10100:25:162;;;10073:18;;8209:55:4;9954:177:162;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;10100:25:162;10073:18;;5906:37:21;9954:177:162;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:35;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;10100:25:162;;;10073:18;;6116:53:21;9954:177:162;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:35;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;10100:25:162;;;10073:18;;6412:51:21;9954:177:162;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;-1:-1:-1;;;6721:49:21;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;-1:-1:-1;6937:25:21;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;10100:25:162;;10088:2;10073:18;;9954:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;-1:-1:-1;;;7288:49:21;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4979:171:4;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5603:22;;;5636:51;5641:14;5657:6;5618;5673:13;5636:4;:51::i;2681:1129:41:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:41;2831:45;-1:-1:-1;;;;;;3238:38:22;;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;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;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;232:250:162:-;317:1;327:113;341:6;338:1;335:13;327:113;;;417:11;;;411:18;398:11;;;391:39;363:2;356:10;327:113;;;-1:-1:-1;;474:1:162;456:16;;449:27;232:250::o;487:271::-;529:3;567:5;561:12;594:6;589:3;582:19;610:76;679:6;672:4;667:3;663:14;656:4;649:5;645:16;610:76;:::i;:::-;740:2;719:15;-1:-1:-1;;715:29:162;706:39;;;;747:4;702:50;;487:271;-1:-1:-1;;487:271:162:o;763:322::-;971:6;960:9;953:25;1014:2;1009;998:9;994:18;987:30;934:4;1034:45;1075:2;1064:9;1060:18;1052:6;1034:45;:::i;1090:598::-;1142:3;1173;1205:5;1199:12;1232:6;1227:3;1220:19;1258:4;1287;1282:3;1278:14;1271:21;;1345:4;1335:6;1332:1;1328:14;1321:5;1317:26;1313:37;1384:4;1377:5;1373:16;1407:1;1417:245;1431:6;1428:1;1425:13;1417:245;;;1518:2;1514:7;1506:5;1500:4;1496:16;1492:30;1487:3;1480:43;1544:38;1577:4;1568:6;1562:13;1544:38;:::i;:::-;1640:12;;;;1536:46;-1:-1:-1;1605:15:162;;;;1453:1;1446:9;1417:245;;;-1:-1:-1;1678:4:162;;1090:598;-1:-1:-1;;;;;;;1090:598:162:o;1693:280::-;1892:2;1881:9;1874:21;1855:4;1912:55;1963:2;1952:9;1948:18;1940:6;1912:55;:::i;2110:127::-;2171:10;2166:3;2162:20;2159:1;2152:31;2202:4;2199:1;2192:15;2226:4;2223:1;2216:15;2851:492;3026:3;3064:6;3058:13;3080:66;3139:6;3134:3;3127:4;3119:6;3115:17;3080:66;:::i;:::-;3209:13;;3168:16;;;;3231:70;3209:13;3168:16;3278:4;3266:17;;3231:70;:::i;:::-;3317:20;;2851:492;-1:-1:-1;;;;2851:492:162:o;3348:439::-;3401:3;3439:5;3433:12;3466:6;3461:3;3454:19;3492:4;3521;3516:3;3512:14;3505:21;;3560:4;3553:5;3549:16;3583:1;3593:169;3607:6;3604:1;3601:13;3593:169;;;3668:13;;3656:26;;3702:12;;;;3737:15;;;;3629:1;3622:9;3593:169;;;-1:-1:-1;3778:3:162;;3348:439;-1:-1:-1;;;;;3348:439:162:o;3792:691::-;4126:3;4115:9;4108:22;4089:4;4153:57;4205:3;4194:9;4190:19;4182:6;4153:57;:::i;:::-;4258:9;4250:6;4246:22;4241:2;4230:9;4226:18;4219:50;4292:33;4318:6;4310;4292:33;:::i;:::-;4278:47;;4361:6;4356:2;4345:9;4341:18;4334:34;4416:9;4408:6;4404:22;4399:2;4388:9;4384:18;4377:50;4444:33;4470:6;4462;4444:33;:::i;:::-;4436:41;3792:691;-1:-1:-1;;;;;;;3792:691:162:o;4488:898::-;4941:6;4930:9;4923:25;4984:3;4979:2;4968:9;4964:18;4957:31;4904:4;5011:57;5063:3;5052:9;5048:19;5040:6;5011:57;:::i;:::-;5116:9;5108:6;5104:22;5099:2;5088:9;5084:18;5077:50;5150:33;5176:6;5168;5150:33;:::i;:::-;5136:47;;5219:6;5214:2;5203:9;5199:18;5192:34;5275:9;5267:6;5263:22;5257:3;5246:9;5242:19;5235:51;5303:33;5329:6;5321;5303:33;:::i;:::-;5295:41;;;5373:6;5367:3;5356:9;5352:19;5345:35;4488:898;;;;;;;;;:::o;5391:127::-;5452:10;5447:3;5443:20;5440:1;5433:31;5483:4;5480:1;5473:15;5507:4;5504:1;5497:15;5523:125;5588:9;;;5609:10;;;5606:36;;;5622:18;;:::i;5653:908::-;6179:6;6168:9;6161:25;6222:6;6217:2;6206:9;6202:18;6195:34;6265:6;6260:2;6249:9;6245:18;6238:34;6308:6;6303:2;6292:9;6288:18;6281:34;6352:3;6346;6335:9;6331:19;6324:32;6142:4;6379:56;6430:3;6419:9;6415:19;6407:6;6379:56;:::i;:::-;6484:9;6476:6;6472:22;6466:3;6455:9;6451:19;6444:51;6512:43;6548:6;6540;6512:43;:::i;:::-;6504:51;5653:908;-1:-1:-1;;;;;;;;;5653:908:162:o;6566:639::-;6816:6;6811:3;6804:19;6786:3;6842:2;6875;6870:3;6866:12;6907:6;6901:13;6972:2;6964:6;6960:15;6993:1;7003:175;7017:6;7014:1;7011:13;7003:175;;;7080:13;;7066:28;;7116:14;;;;7153:15;;;;7039:1;7032:9;7003:175;;;-1:-1:-1;7194:5:162;;6566:639;-1:-1:-1;;;;;;;6566:639:162:o;7210:127::-;7271:10;7266:3;7262:20;7259:1;7252:31;7302:4;7299:1;7292:15;7326:4;7323:1;7316:15;7342:128;7409:9;;;7430:11;;;7427:37;;;7444:18;;:::i;7475:168::-;7548:9;;;7579;;7596:15;;;7590:22;;7576:37;7566:71;;7617:18;;:::i;7648:512::-;7899:2;7888:9;7881:21;7862:4;7925:56;7977:2;7966:9;7962:18;7954:6;7925:56;:::i;:::-;8029:14;8021:6;8017:27;8012:2;8001:9;7997:18;7990:55;8093:9;8085:6;8081:22;8076:2;8065:9;8061:18;8054:50;8121:33;8147:6;8139;8121:33;:::i;:::-;8113:41;7648:512;-1:-1:-1;;;;;;7648:512:162:o;8165:616::-;8475:6;8464:9;8457:25;8518:3;8513:2;8502:9;8498:18;8491:31;8438:4;8545:57;8597:3;8586:9;8582:19;8574:6;8545:57;:::i;:::-;8650:14;8642:6;8638:27;8633:2;8622:9;8618:18;8611:55;8714:9;8706:6;8702:22;8697:2;8686:9;8682:18;8675:50;8742:33;8768:6;8760;8742:33;:::i;8786:413::-;9041:5;9036:3;9032:15;9024:6;9020:28;9009:9;9002:47;9085:6;9080:2;9069:9;9065:18;9058:34;9128:2;9123;9112:9;9108:18;9101:30;8983:4;9148:45;9189:2;9178:9;9174:18;9166:6;9148:45;:::i;9457:127::-;9518:10;9513:3;9509:20;9506:1;9499:31;9549:4;9546:1;9539:15;9573:4;9570:1;9563:15;9589:360;9792:2;9781:9;9774:21;9755:4;9812:45;9853:2;9842:9;9838:18;9830:6;9812:45;:::i;:::-;9888:2;9873:18;;9866:34;;;;-1:-1:-1;9931:2:162;9916:18;9909:34;9804:53;9589:360;-1:-1:-1;9589:360:162:o;10136:185::-;703:4117:137;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106102d8575f3560e01c806366d9a9a011610187578063cc49db7e116100dd578063dbbf0e2111610093578063ee9828891161006e578063ee982889146105b9578063ef6ea862146105c1578063fa7626d4146105d4575f80fd5b8063dbbf0e211461058b578063e20c9f711461059e578063e228a4a3146105a6575f80fd5b8063d03edb8c116100c3578063d03edb8c14610552578063d4285dc214610565578063d9c03a0414610578575f80fd5b8063cc49db7e14610537578063cd9847bc1461054a575f80fd5b8063a53417ed1161013d578063ba414fa611610118578063ba414fa6146104e6578063c0a2895a146104fe578063c112222914610511575f80fd5b8063a53417ed146104b8578063b047c1eb146104cb578063b5508aa9146104de575f80fd5b80638c364d591161016d5780638c364d591461048a578063916a17c61461049d5780639f1fcf0a146104a5575f80fd5b806366d9a9a01461046057806385226c8114610475575f80fd5b80633708196e1161023c5780633f7286f4116101f2578063505a181d116101cd578063505a181d14610432578063530f4b6014610445578063560e086114610458575f80fd5b80633f7286f4146103f5578063419b58fd146103fd5780634dc77d971461041f575f80fd5b80633a77c2c2116102225780633a77c2c2146103c45780633b533860146103e55780633e5e3c23146103ed575f80fd5b80633708196e1461039e578063390baae0146103b1575f80fd5b8063150f3262116102915780631ed7831c116102775780631ed7831c1461036e57806324476f7314610383578063298314fb1461038b575f80fd5b8063150f3262146103485780631e7889771461035b575f80fd5b80630a9254e4116102c15780630a9254e41461031a5780630ba51f4914610322578063114a726614610335575f80fd5b806305242d2f146102dc5780630560912914610305575b5f80fd5b6102ef6102ea366004615642565b6105e0565b6040516102fc91906156f0565b60405180910390f35b610318610313366004615718565b61062c565b005b61031861063a565b610318610330366004615742565b6106df565b61031861034336600461580f565b610709565b61031861035636600461580f565b610782565b6102ef610369366004615896565b6107f3565b61037661083c565b6040516102fc91906158f0565b61031861089c565b61031861039936600461593c565b61090b565b6103186103ac3660046159cd565b6109af565b6103186103bf3660046159cd565b610a2b565b6103d76103d2366004615a5c565b610a9e565b6040519081526020016102fc565b610318610aae565b610376610b99565b610376610bf7565b61041061040b366004615a73565b610c55565b6040516102fc93929190615ac2565b6102ef61042d366004615bc0565b610ca8565b610318610440366004615c24565b610cb7565b610318610453366004615c68565b610cc1565b610318610cd1565b610468610dbc565b6040516102fc9190615ca1565b61047d610ebb565b6040516102fc9190615de0565b6103d7610498366004615642565b610f86565b610468610fc7565b6103d76104b3366004615df2565b6110bd565b6103d76104c6366004615e4d565b6110d2565b6103186104d9366004615e97565b6110e8565b61047d611159565b6104ee611224565b60405190151581526020016102fc565b61031861050c366004615f1e565b61135e565b7f322e302e320000000000000000000000000000000000000000000000000000006103d7565b610410610545366004615fa4565b6113d2565b610318611422565b6102ef610560366004615896565b6115f9565b6103d7610573366004615a5c565b611639565b610318610586366004615642565b611643565b6103d7610599366004615e4d565b61168a565b610376611696565b6103d76105b4366004615a5c565b6116f4565b6103186116fe565b6103186105cf36600461580f565b6118f1565b5f546104ee9060ff1681565b6060610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506119629050565b9695505050505050565b61063682826119a7565b5050565b6106426119d2565b61064a611a53565b61069a613a3160f11b7f6e616d65737061636500000000000000000000000000000000000000000000007f6e616d6500000000000000000000000000000000000000000000000000000000611ae7565b601f557f6e736e616d65737061636500000000000000000000000000000000000000000060208190556106cd9030611b46565b6106dd601f546101236001611c1f565b565b6106ff888888886106f0888a616013565b6106fa8789616013565b611cec565b5050505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215292505050565b505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061216792505050565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061219f915050565b95945050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610874575b5050505050905090565b5f601f5490506108c3604051806060016040528060228152602001616c1d602291396121d8565b6108cd813061247b565b6108d5612503565b6108f6604051806060016040528060228152602001616b53602291396121d8565b610900813061247b565b610908612503565b50565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061276c92505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250612782915050565b50505050505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f920191909152508892506127c5915050565b5f610aa8826127da565b92915050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610adc8461285d565b6001604051602401610aef9291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610b61916004016156f0565b5f604051808303815f87803b158015610b78575f80fd5b505af1158015610b8a573d5f803e3d5ffd5b5050505061090881600161247b565b6060600f80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b60605f6060610c98878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061298a915050565b9250925092509450945094915050565b60606106228686868686612a8b565b6106368282612b8b565b610ccc838383612b9e565b505050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610cff8461285d565b6001604051602401610d129291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610d84916004016156f0565b5f604051808303815f87803b158015610d9b575f80fd5b505af1158015610dad573d5f803e3d5ffd5b50505050610908816001612c74565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e9a57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e475790505b50505050508152505081526020019060010190610ddf565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054610efb906160e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f27906160e4565b8015610f725780601f10610f4957610100808354040283529160200191610f72565b820191905f5260205f20905b815481529060010190602001808311610f5557829003601f168201915b505050505081526020019060010190610ede565b5f610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150612c8b9050565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a557602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110525790505b50505050508152505081526020019060010190610fea565b5f61083385858585612cb7565b949350505050565b5f6110de848484612cfe565b90505b9392505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250612d1392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054611199906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546111c5906160e4565b80156112105780601f106111e757610100808354040283529160200191611210565b820191905f5260205f20905b8154815290600101906020018083116111f357829003601f168201915b50505050508152602001906001019061117c565b5f8054610100900460ff161561124257505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156113595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093525f9290916112e5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616116565b60408051601f19818403018152908290526112ff9161615d565b5f604051808303815f865af19150503d805f8114611338576040519150601f19603f3d011682016040523d82523d5f602084013e61133d565b606091505b50915050808060200190518101906113559190616178565b9150505b919050565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f92019190915250612f6b92505050565b60605f6060611413868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612f8392505050565b92509250925093509350939050565b5f601f5490505f60205490505f61146d6040518060400160405280601f81526020017f416363657373436f6e74726f6c3a206861734163636573732028636f6c6429008152506121d8565b611478836001612fa8565b9050611482612503565b6114a4816040518060600160405280602a8152602001616c62602a9139613005565b6114b082600180611c1f565b6114d16040518060600160405280602f8152602001616bc2602f91396121d8565b6114dc836001612fa8565b90506114e6612503565b611508816040518060600160405280602a8152602001616b98602a913961300c565b6115148260015f611c1f565b6115526040518060400160405280601f81526020017f416363657373436f6e74726f6c3a2068617341636365737320287761726d29008152506121d8565b61155d836001612fa8565b9050611567612503565b61158981604051806060016040528060308152602001616ce360309139613005565b61159583600180611c1f565b6115c16115a3846001612fa8565b6040518060600160405280602c8152602001616bf1602c913961300c565b6115cd8360015f611c1f565b610ccc6115db846001612fa8565b6040518060600160405280602c8152602001616c8c602c9139613005565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250613051915050565b5f610aa882613067565b611683858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506130949050565b5050505050565b5f6110de8484846130ea565b6060600c80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b5f610aa8826130f9565b5f601f549050611725604051806060016040528060238152602001616c3f602391396121d8565b61173181610123612c74565b611739612503565b61175a604051806060016040528060238152602001616b75602391396121d8565b61176681610123612c74565b61176e612503565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156117d1575f80fd5b505af11580156117e3573d5f803e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb3915063d787b73760e01b90506118158461285d565b306040516024016118279291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252611899916004016156f0565b5f604051808303815f87803b1580156118b0575f80fd5b505af11580156118c2573d5f803e3d5ffd5b505050506118e76040518060600160405280602b8152602001616cb8602b91396121d8565b6109008130612c74565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061311e92505050565b606061196d82613156565b8360ff16101561198a5761198385858585613187565b90506110ca565b611983858561199885613156565b6119a290876161ab565b61219f565b6106367f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b4565b6106dd7f7462776f726c640000000000000000005265736f757263654163636573730000630101000160d81b7e3402005f6100000000000000000000000000000000000000000000000000007e01010060000000000000000000000000000000000000000000000000000000611a466132d8565b611a4e6133af565b613425565b6106dd7f7462776f726c640000000000000000004e616d6573706163654f776e657200007e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000611adf6134d8565b611a4e61354e565b5f611af4607060106161c4565b6001600160f01b031985167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110611b7a57611b7a6161d7565b602002602001018181525050610ccc7f7462776f726c640000000000000000004e616d6573706163654f776e657200005f1b825f85604051602001611bea919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006135c4565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110611c5257611c526161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110611c7d57611c7d6161d7565b602002602001018181525050611ce67f7462776f726c640000000000000000005265736f7572636541636365737300005f1b825f85604051602001611cc991151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6135c4565b50505050565b613a3160f11b866001600160f01b03191614801590611d1a5750611bdd60f21b866001600160f01b03191614155b15611d8457613a3160f11b8687604051602001611d3991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611d7b9392916004016161eb565b60405180910390fd5b611d8d85613673565b611d988460016138b5565b611da2835f6138b5565b60e084901c60e885901c0160ff16825114611e025760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff16815114611e625760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614611eda5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611ee385613156565b611eec84613156565b14611f3e57611efa85613156565b611f0384613156565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611f4785613a49565b611f5084613a49565b14611fa257611f5e85613a49565b611f6784613a49565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f5b611fad86613156565b81101561204857611fd7611fc18583613a65565b60c5811115611fd257611fd2616213565b613a85565b6008601b8390030287901c60ff1614612040576008601b8290030286901c60ff16612005611fc18684613a65565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b600101611fa4565b505f612071613a3160f11b61205d8960101b90565b60101c6001600160f01b0319919091161790565b90505f612087611bdd60f21b61205d8a60101b90565b905061209282613ae3565b806120a157506120a181613ae3565b156120fb5787886040516020016120ba91815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b61214788888888886040516020016121139190615de0565b604051602081830303815290604052886040516020016121339190615de0565b604051602081830303815290604052613b65565b6106ff886001613c38565b611ce684848484612162896127da565b612782565b5f6121728585613cd5565b90505f61218e828560ff166028026038011c64ffffffffff1690565b905061077a868686845f8888613ce7565b60606110de6121af85858561407c565b5f6121d3856121be8989613cd5565b9060ff166028026038011c64ffffffffff1690565b6140fa565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af1158015612275573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122999190616178565b6122a05750565b601b80546122ad906160e4565b90505f14601b6040516020016122c391906162cc565b6040516020818303038152906040529061230a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601d8160405161231b919061615d565b9081526020016040518091039020545f148160405160200161233d9190616350565b60405160208183030381529060405290612384576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601b61239182826163ff565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156123ec575f80fd5b505af11580156123fe573d5f803e3d5ffd5b505050505a601c55604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e0916004808301925f92919082900301818387803b158015612469575f80fd5b505af1158015611683573d5f803e3d5ffd5b6001600160a01b0381166124d07f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617614125565b6001600160a01b031614610636576124e78261285d565b8160405163d787b73760e01b8152600401611d7b9291906160ba565b5f5a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af11580156125a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c99190616178565b6125d05750565b5f609f82601c546125e191906164bb565b6125eb91906164bb565b6125f69060016161c4565b90505f8111612661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401611d7b565b80601d601b60405161267391906164ce565b90815260405190819003602001902055601e80546001810182555f919091527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350016126bf601b826164d9565b50612751601b80546126d0906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546126fc906160e4565b80156127475780601f1061271e57610100808354040283529160200191612747565b820191905f5260205f20905b81548152906001019060200180831161272a57829003601f168201915b50505050506141be565b60408051602081019091525f8152601b90610ccc90826163ff565b611683858585858561277d8b6127da565b6142b2565b61278b81613156565b8360ff1610156127a7576127a285858585856127c5565b611683565b61168385856127b584613156565b6127bf90876161ab565b8561311e565b61168385856127d484876145a1565b85612d13565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161282857507e60030220202000000000000000000000000000000000000000000000000000919050565b610aa86128557f746273746f72650000000000000000005461626c657300000000000000000000846145d1565b60205f614629565b606081601081901b5f61286f83614679565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156128ca576128c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661468f565b612901565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612928576129238361468f565b61295f565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612971939291906165a4565b6040516020818303038152906040529350505050919050565b60605f60605f61299985614714565b90506129a6878783614736565b93505f6129b286613a49565b90508015612a80576129c48888613cd5565b935066ffffffffffffff841667ffffffffffffffff8111156129e8576129e8615aec565b6040519080825280601f01601f191660200182016040528015612a12576020820181803683370190505b509250602083015f5b828160ff161015612a7d575f612a328b8b8461407c565b90505f612a4e888460ff166028026038011c64ffffffffff1690565b9050612a5c825f838761476b565b612a6681856161c4565b935050508080612a7590616619565b915050612a1b565b50505b505093509350939050565b606081831115612ad1576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401611d7b565b5f612adc8787613cd5565b90505f612af8828760ff166028026038011c64ffffffffff1690565b90508085101580612b0857508084115b15612b63578081861015612b2657612b216001866164bb565b612b28565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f612b6f89898961407c565b9050612b7e81878888036140fa565b9998505050505050505050565b6106368282612b99856127da565b614832565b613a3160f11b836001600160f01b03191614612bce57613a3160f11b8384604051602001611d3991815260200190565b612bd783613ae3565b612c30578283604051602001612bef91815260200190565b60408051601f19818403018152908290527f41e713ad000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b610ccc837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617614aeb565b612c7e8282612fa8565b610636576124e78261285d565b5f610833612c998686614ba0565b60ff858116601b0360080285901c16612cb285876145a1565b614629565b5f80612cc283613156565b90508060ff168460ff161015612cea5760ff848116601b0360080284901c165b9150506110ca565b612ce28686612cf984886161ab565b6130ea565b5f6110de848484612d0e886127da565b612cb7565b611bdd60f21b846001600160f01b03191603612d6a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612d5d93929190616671565b60405180910390a2611ce6565b5f612d758585614ba0565b90505f612d8186614bb4565b90505f5b8151811015612e4f575f828281518110612da157612da16161d7565b60200260200101519050612dcd6004826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612e46576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612e18908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612e2f575f80fd5b505af1158015612e41573d5f803e3d5ffd5b505050505b50600101612d85565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612e8493929190616671565b60405180910390a2612e9f828565ffffffffffff1685614c56565b5f5b8151811015610a22575f828281518110612ebd57612ebd6161d7565b60200260200101519050612ee96008826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612f62576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612f34908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612f4b575f80fd5b505af1158015612f5d573d5f803e3d5ffd5b505050505b50600101612ea1565b61077a868686868686612f7e8d8d613cd5565b613ce7565b60605f6060612f9b8585612f96886127da565b61298a565b9250925092509250925092565b5f612ff57f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614c6c565b806110e157506110e18383614c6c565b6106368215825b81610636577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161304091906166e6565b60405180910390a161063682614d19565b60606110de848484613062886127da565b611962565b5f61307182614d8d565b905061307c82613ae3565b611359578182604051602001612bef91815260200190565b5f61309f8585613cd5565b90505f6130bb828560ff166028026038011c64ffffffffff1690565b905061077a8686866130d48764ffffffffff87166164bb565b604080515f815260208101909152889088613ce7565b5f6110de826121be8686613cd5565b5f61310382614e1c565b905080611359578182604051602001612bef91815260200190565b5f6131298585613cd5565b90505f613145828560ff166028026038011c64ffffffffff1690565b905061077a8686865f858888613ce7565b5f60086001613167600260206164bb565b61317191906164bb565b61317b919061672c565b8260ff911c1692915050565b60606108336131968686614ba0565b6131a084866145a1565b60ff868116601b0360080286901c166140fa565b5f6131bf8484614eab565b90505f815167ffffffffffffffff8111156131dc576131dc615aec565b604051908082528060200260200182016040528015613205578160200160208202803683370190505b5090505f805b83518110156132c957846001600160a01b031661324f858381518110613233576132336161d7565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146132c15783818151811061326f5761326f6161d7565b6020026020010151838381518110613289576132896161d7565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b60010161320b565b5080825261077a868684614f0c565b6040805160028082526060828101909352816020015b60608152602001906001900390816132ee5790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250815f8151811061334d5761334d6161d7565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106133a1576133a16161d7565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816133c65790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f61342e614f60565b9050306001600160a01b038216036134535761344e878787878787611cec565b610a22565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906134a2908a908a908a908a908a908a90600401616743565b5f604051808303815f87803b1580156134b9575f80fd5b505af11580156134cb573d5f803e3d5ffd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816134ef5790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b604080516001808252818301909252606091816020015b60608152602001906001900390816135655790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f6135cd614f60565b9050306001600160a01b038216036135f1576135ec86868686866127c5565b61077a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061363e908990899089908990899060040161677f565b5f604051808303815f87803b158015613655575f80fd5b505af1158015613667573d5f803e3d5ffd5b50505050505050505050565b806136aa576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6136b482613a49565b905060058111156136fb576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611d7b565b5f61370583613156565b90505f61371283836161c4565b9050601c811115613759576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611d7b565b5f805b838110156138025760ff601b82900360080287901c165f8190036137af576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b60208111156137ed576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b6137f781846161c4565b92505060010161375c565b5061380c85614714565b81146138585761381b85614714565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611d7b565b825b601c81101561077a5760ff601b82900360080287901c1680156138ac576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b5060010161385a565b801580156138c1575081155b156138e15760405163d498615960e01b81525f6004820152602401611d7b565b5f6138eb83613a49565b905060058111156139125760405163d498615960e01b815260048101829052602401611d7b565b5f61391c84613156565b90505f61392983836161c4565b9050601c8111156139505760405163d498615960e01b815260048101829052602401611d7b565b5f805b838110156139b9575f613969611fc18984613a65565b9050805f036139a4576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139ae81846161c4565b925050600101613953565b506139c386614714565b81146139ee576139d286614714565b60405163d498615960e01b8152600401611d7b91815260200190565b825b82811015610a22575f613a06611fc18984613a65565b90508015613a40576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016139f0565b5f6008600180613a5b600260206164bb565b61316791906164bb565b5f601b8290036008028360ff911c1660c58111156110e1576110e1616213565b5f808260c5811115613a9957613a99616213565b60ff1690506061811015613ab357601f1660010192915050565b60618360c5811115613ac757613ac7616213565b03613ad55750601492915050565b505f92915050565b50919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613b1a57613b1a6161d7565b60209081029190910101525f613b597f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612c8b565b90506110ca8160f81c90565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f613b9b8484614f99565b90505f613ba88585614fb5565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f81518110613be057613be06161d7565b60209081029190910101526136677f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006142b2565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110613c6c57613c6c6161d7565b602002602001018181525050610ccc7f746273746f72650000000000000000005265736f7572636549647300000000005f1b825f85604051602001613cb891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6127c5565b5f6110e1613ce38484614fe1565b5490565b613a3160f11b876001600160f01b03191614613d1757613a3160f11b8788604051602001611d3991815260200190565b5f613d31828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683613d4991906164bb565b613d5391906161c4565b9050808214158015613d75575081613d6b86886167c5565b64ffffffffff1614155b15613dc5576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401611d7b565b818664ffffffffff161115613e16576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401611d7b565b5f613e22848984615036565b90505f613e2e8b614bb4565b90505f5b8151811015613ef2575f828281518110613e4e57613e4e6161d7565b60200260200101519050613e7a6010826affffffffffffffffffffff1916614c3990919063ffffffff16565b15613ee957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401613ebb97969594939291906167ea565b5f604051808303815f87803b158015613ed2575f80fd5b505af1158015613ee4573d5f803e3d5ffd5b505050505b50600101613e32565b5064ffffffffff88165f5b8a60ff168160ff161015613f3057613f24878260ff166028026038011c64ffffffffff1690565b90910190600101613efd565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613f6b96959493929190616847565b60405180910390a250828414613f8b575f613f868c8c614fe1565b839055505b5f613f978c8c8c61407c565b9050613fab818a64ffffffffff1689614c56565b505f5b815181101561406e575f828281518110613fca57613fca6161d7565b60200260200101519050613ff66020826affffffffffffffffffffff1916614c3990919063ffffffff16565b1561406557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161403797969594939291906167ea565b5f604051808303815f87803b15801561404e575f80fd5b505af1158015614060573d5f803e3d5ffd5b505050505b50600101613fae565b505050505050505050505050565b5f8383604051602001614090929190616895565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b60405160208101601f19603f848401011660405282825261411d8585858461476b565b509392505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061415c5761415c6161d7565b60209081029190910101525f6141b37f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000615103565b60601c949350505050565b6109087f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b0316636900a3ae601d84604051614202919061615d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261424b9160040190815260200190565b5f60405180830381865afa158015614265573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261428c91908101906168cf565b8260405160200161429e929190616938565b6040516020818303038152906040526151b5565b611bdd60f21b866001600160f01b0319160361430b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516142fe94939291906169b8565b60405180910390a261077a565b5f61431587614bb4565b90505f5b81518110156143e7575f828281518110614335576143356161d7565b602002602001015190506143616001826affffffffffffffffffffff1916614c3990919063ffffffff16565b156143de576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906143b0908c908c908c908c908c908c906004016169f6565b5f604051808303815f87803b1580156143c7575f80fd5b505af11580156143d9573d5f803e3d5ffd5b505050505b50600101614319565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161441e94939291906169b8565b60405180910390a25f6144318888614ba0565b90505f602087019050614447825f895184615226565b5f61445185613a49565b11156144d1575f6144628a8a614fe1565b87815590506020860191505f805f5b61447a88613a49565b8160ff1610156144cc5761448f8d8d8361407c565b92506144aa8a8260ff166028026038011c64ffffffffff1690565b91506144b8835f8488615226565b6144c282866161c4565b9450600101614471565b505050505b5f5b8351811015613667575f8482815181106144ef576144ef6161d7565b6020026020010151905061451b6002826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614598576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061456a908e908e908e908e908e908e906004016169f6565b5f604051808303815f87803b158015614581575f80fd5b505af1158015614593573d5f803e3d5ffd5b505050505b506001016144d3565b5f80805b8360ff1681101561411d576145c760ff601b83900360080287901c16836161c4565b91506001016145a5565b60408051602081018490529081018290525f906060015b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f6020821061464e5760208204840193506020828161464a5761464a616a4e565b0691505b508254600882021b60208290038084111561411d576001850154600882021c82179150509392505050565b5f614686607060106161c4565b9190911b919050565b60605f5b60108110156146e4576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156146e457600101614693565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806110ca565b5f6008614723600260206164bb565b61472d919061672c565b9190911c919050565b6060815f03614753575060408051602081019091525f81526110e1565b5f61475e8585614ba0565b9050610833815f856140fa565b82156147ef57602083106147955760208304840193506020838161479157614791616a4e565b0692505b82156147ef5760208390035f818410156147b657505f19600884021c6147bf565b505f19600882021c5b8554600886021b8184511682198216178452508184116147e0575050611ce6565b50600194909401939182900391015b5b602082106148115783548152600190930192601f19909101906020016147f0565b8115611ce6575f5f19600884021c8251865482191691161782525050505050565b611bdd60f21b836001600160f01b0319160361488557827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516148789190616a62565b60405180910390a2505050565b5f61488f84614bb4565b90505f5b815181101561495b575f8282815181106148af576148af6161d7565b602002602001015190506148db6040826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614952576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061492490899089908990600401616a74565b5f604051808303815f87803b15801561493b575f80fd5b505af115801561494d573d5f803e3d5ffd5b505050505b50600101614893565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161498c9190616a62565b60405180910390a25f61499f8585614ba0565b90506149f7815f6149af86614714565b67ffffffffffffffff8111156149c7576149c7615aec565b6040519080825280601f01601f1916602001820160405280156149f1576020820181803683370190505b50614c56565b5f614a0184613a49565b1115614a21575f614a128686614fe1565b9050614a1f8160206152e1565b505b5f5b825181101561077a575f838281518110614a3f57614a3f6161d7565b60200260200101519050614a6b6080826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614ae2576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614ab4908a908a908a90600401616a74565b5f604051808303815f87803b158015614acb575f80fd5b505af1158015614add573d5f803e3d5ffd5b505050505b50600101614a23565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614b1f57614b1f6161d7565b602002602001018181525050610ccc7f746273746f726500000000000000000053746f7265486f6f6b730000000000005f1b825f85604051602001614b8c91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612167565b5f82826040516020016145e8929190616895565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614bec57614bec6161d7565b60209081029190910101525f614c237f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361219f565b90506110ca614c34825f845161531c565b6153a8565b5f8160ff1682614c498560581c90565b1660ff1614905092915050565b610ccc83838351614c678560200190565b615226565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110614ca357614ca36161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110614cce57614cce6161d7565b60209081029190910101525f614d0d7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b615103565b90506108338160f81c90565b80610908577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614d7d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16109086153b7565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614dc457614dc46161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614e5357614e536161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614ee357614ee36161d7565b6020026020010181815250505f614efb85835f61219f565b9050610833614c34825f845161531c565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614f4057614f406161d7565b602002602001018181525050611ce684825f614f5b866154f1565b61311e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611359573391505090565b815181515f9181810160389190911b1760609190911b176110e1565b60608282604051602001614fca929190616a9c565b604051602081830303815290604052905092915050565b5f8282604051602001614ff5929190616895565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff821115615079576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106150ab57808503820191506150b3565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5f8061510d614f60565b9050306001600160a01b0382160361512b57612ce286868686612c8b565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990615176908990899089908990600401616aca565b602060405180830381865afa158015615191573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce29190616af8565b610908816040516024016151c991906156f0565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052615500565b821561529e57602083106152505760208304840193506020838161524c5761524c616a4e565b0692505b821561529e5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161528f575050611ce6565b50600194909401939182900391015b5b602082106152c05780518455600190930192601f199091019060200161529f565b8115611ce6575f5f19600884021c8554835182191691161785555050505050565b5f60206152ef83601f6161c4565b6152f99190616b0f565b61530390846161c4565b90505b80831015610ccc575f8355600183019250615306565b5f8183118061532b5750835182115b15615368578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401611d7b93929190616b2e565b6020840161537684826161c4565b90505f61538385856164bb565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f6110e18360155f615520565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156154c45760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000092820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526154679291602001616116565b60408051601f19818403018152908290526154819161615d565b5f604051808303815f865af19150503d805f81146154ba576040519150601f19603f3d011682016040523d82523d5f602084013e6154bf565b606091505b505050505b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060816110e18160155f615598565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b60605f61552d8560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161555257615552616a4e565b0490506040519350602084016020820281016040528185525f5b8281101561558c578451871c82529387019360209091019060010161556c565b50505050509392505050565b82516060905f6155a8858361672c565b9050604051925060208301601f19603f83860101166040528184525f602088015b8482101561558c578051871b835291870191600191909101906020016155c9565b5f8083601f8401126155fa575f80fd5b50813567ffffffffffffffff811115615611575f80fd5b6020830191508360208260051b850101111561562b575f80fd5b9250929050565b803560ff81168114611359575f80fd5b5f805f805f60808688031215615656575f80fd5b85359450602086013567ffffffffffffffff811115615673575f80fd5b61567f888289016155ea565b9095509350615692905060408701615632565b949793965091946060013592915050565b5f5b838110156156bd5781810151838201526020016156a5565b50505f910152565b5f81518084526156dc8160208601602086016156a3565b601f01601f19169290920160200192915050565b602081525f6110e160208301846156c5565b80356001600160a01b0381168114611359575f80fd5b5f8060408385031215615729575f80fd5b8235915061573960208401615702565b90509250929050565b5f805f805f805f8060c0898b031215615759575f80fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff8082111561578c575f80fd5b6157988c838d016155ea565b909650945060a08b01359150808211156157b0575f80fd5b506157bd8b828c016155ea565b999c989b5096995094979396929594505050565b5f8083601f8401126157e1575f80fd5b50813567ffffffffffffffff8111156157f8575f80fd5b60208301915083602082850101111561562b575f80fd5b5f805f805f8060808789031215615824575f80fd5b86359550602087013567ffffffffffffffff80821115615842575f80fd5b61584e8a838b016155ea565b909750955085915061586260408a01615632565b94506060890135915080821115615877575f80fd5b5061588489828a016157d1565b979a9699509497509295939492505050565b5f805f80606085870312156158a9575f80fd5b84359350602085013567ffffffffffffffff8111156158c6575f80fd5b6158d2878288016155ea565b90945092506158e5905060408601615632565b905092959194509250565b602080825282518282018190525f9190848201906040850190845b818110156159305783516001600160a01b03168352928401929184019160010161590b565b50909695505050505050565b5f805f805f805f8060a0898b031215615953575f80fd5b88359750602089013567ffffffffffffffff80821115615971575f80fd5b61597d8c838d016155ea565b909950975060408b0135915080821115615995575f80fd5b6159a18c838d016157d1565b909750955060608b0135945060808b01359150808211156159c0575f80fd5b506157bd8b828c016157d1565b5f805f805f805f60a0888a0312156159e3575f80fd5b87359650602088013567ffffffffffffffff80821115615a01575f80fd5b615a0d8b838c016155ea565b9098509650869150615a2160408b01615632565b955060608a0135915080821115615a36575f80fd5b50615a438a828b016157d1565b989b979a50959894979596608090950135949350505050565b5f60208284031215615a6c575f80fd5b5035919050565b5f805f8060608587031215615a86575f80fd5b84359350602085013567ffffffffffffffff811115615aa3575f80fd5b615aaf878288016155ea565b9598909750949560400135949350505050565b606081525f615ad460608301866156c5565b846020840152828103604084015261062281856156c5565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715615b2957615b29615aec565b604052919050565b5f67ffffffffffffffff821115615b4a57615b4a615aec565b5060051b60200190565b5f82601f830112615b63575f80fd5b81356020615b78615b7383615b31565b615b00565b8083825260208201915060208460051b870101935086841115615b99575f80fd5b602086015b84811015615bb55780358352918301918301615b9e565b509695505050505050565b5f805f805f60a08688031215615bd4575f80fd5b85359450602086013567ffffffffffffffff811115615bf1575f80fd5b615bfd88828901615b54565b945050615c0c60408701615632565b94979396509394606081013594506080013592915050565b5f8060408385031215615c35575f80fd5b82359150602083013567ffffffffffffffff811115615c52575f80fd5b615c5e85828601615b54565b9150509250929050565b5f805f60608486031215615c7a575f80fd5b83359250615c8a60208501615702565b9150615c9860408501615632565b90509250925092565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015615d7a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b80831015615d655783517fffffffff00000000000000000000000000000000000000000000000000000000168252928a019260019290920191908a0190615d23565b50968901969450505090860190600101615cc8565b509098975050505050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015615dd357601f19868403018952615dc18383516156c5565b98840198925090830190600101615da5565b5090979650505050505050565b602081525f6110e16020830184615d88565b5f805f8060808587031215615e05575f80fd5b84359350602085013567ffffffffffffffff811115615e22575f80fd5b615e2e87828801615b54565b935050615e3d60408601615632565b9396929550929360600135925050565b5f805f60608486031215615e5f575f80fd5b83359250602084013567ffffffffffffffff811115615e7c575f80fd5b615e8886828701615b54565b925050615c9860408501615632565b5f805f805f8060808789031215615eac575f80fd5b86359550602087013567ffffffffffffffff80821115615eca575f80fd5b615ed68a838b016155ea565b90975095506040890135915065ffffffffffff82168214615ef5575f80fd5b90935060608801359080821115615877575f80fd5b803564ffffffffff81168114611359575f80fd5b5f805f805f805f8060c0898b031215615f35575f80fd5b88359750602089013567ffffffffffffffff80821115615f53575f80fd5b615f5f8c838d016155ea565b9099509750879150615f7360408c01615632565b9650615f8160608c01615f0a565b9550615f8f60808c01615f0a565b945060a08b01359150808211156159c0575f80fd5b5f805f60408486031215615fb6575f80fd5b83359250602084013567ffffffffffffffff811115615fd3575f80fd5b615fdf868287016155ea565b9497909650939450505050565b5f67ffffffffffffffff82111561600557616005615aec565b50601f01601f191660200190565b5f616020615b7384615b31565b80848252602080830192508560051b85013681111561603d575f80fd5b855b818110156160ae57803567ffffffffffffffff81111561605d575f80fd5b870136601f82011261606d575f80fd5b803561607b615b7382615fec565b818152368683850101111561608e575f80fd5b81868401878301375f91810186019190915286525093820193820161603f565b50919695505050505050565b604081525f6160cc60408301856156c5565b90506001600160a01b03831660208301529392505050565b600181811c908216806160f857607f821691505b602082108103613add57634e487b7160e01b5f52602260045260245ffd5b7fffffffff00000000000000000000000000000000000000000000000000000000831681525f825161614f8160048501602087016156a3565b919091016004019392505050565b5f825161616e8184602087016156a3565b9190910192915050565b5f60208284031215616188575f80fd5b815180151581146110e1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115610aa857610aa8616197565b80820180821115610aa857610aa8616197565b634e487b7160e01b5f52603260045260245ffd5b6001600160f01b031984168152826020820152606060408201525f61083360608301846156c5565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f6110de60408301846156c5565b5f815461624b816160e4565b600182811680156162635760018114616296576162c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506162c2565b855f526020805f205f5b858110156162b95781548a8201529084019082016162a0565b50505082870194505b5050505092915050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f6162fd600c83018461623f565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f825161638781600c8501602087016156a3565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115610ccc57805f5260205f20601f840160051c810160208510156163e05750805b601f840160051c820191505b81811015611683575f81556001016163ec565b815167ffffffffffffffff81111561641957616419615aec565b61642d8161642784546160e4565b846163bb565b602080601f831160018114616460575f84156164495750858301515b5f19600386901b1c1916600185901b17855561077a565b5f85815260208120601f198616915b8281101561648e5788860151825594840194600190910190840161646f565b50858210156164ab57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610aa857610aa8616197565b5f6110e1828461623f565b8181036164e4575050565b6164ee82546160e4565b67ffffffffffffffff81111561650657616506615aec565b6165148161642784546160e4565b5f601f821160018114616545575f831561652e5750848201545b5f19600385901b1c1916600184901b178455611683565b5f8581526020808220868352908220601f198616925b8381101561657b578286015482556001958601959091019060200161655b565b50858310156164ab579301545f1960f8600387901b161c19169092555050600190811b01905550565b6001600160f01b0319841681525f7f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516165ec8160038601602089016156a3565b80840190508160038201528451915061660c8260048301602088016156a3565b0160040195945050505050565b5f60ff821660ff810361662e5761662e616197565b60010192915050565b5f815180845260208085019450602084015f5b838110156166665781518752958201959082019060010161664a565b509495945050505050565b606081525f6166836060830186616637565b65ffffffffffff85166020840152828103604084015261062281856156c5565b848152608060208201525f6166bb6080830186616637565b65ffffffffffff8516604084015282810360608401526166db81856156c5565b979650505050505050565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201525f6110e160808301846156c5565b8082028115828204841417610aa857610aa8616197565b86815285602082015284604082015283606082015260c060808201525f61676d60c0830185615d88565b82810360a0840152612b7e8185615d88565b85815260a060208201525f61679760a0830187616637565b60ff8616604084015282810360608401526167b281866156c5565b9150508260808301529695505050505050565b64ffffffffff8181168382160190808211156167e3576167e3616197565b5092915050565b87815260e060208201525f61680260e0830189616637565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261683981856156c5565b9a9950505050505050505050565b60c081525f61685960c0830189616637565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152612b7e81856156c5565b8281525f60208083018451602086015f5b828110156168c2578151845292840192908401906001016168a6565b5091979650505050505050565b5f602082840312156168df575f80fd5b815167ffffffffffffffff8111156168f5575f80fd5b8201601f81018413616905575f80fd5b8051616913615b7382615fec565b818152856020838501011115616927575f80fd5b6108338260208301602086016156a3565b7f474153205245504f52543a20000000000000000000000000000000000000000081525f835161696f81600c8501602088016156a3565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516169ac81600d8401602088016156a3565b01600d01949350505050565b608081525f6169ca6080830187616637565b82810360208401526169dc81876156c5565b905084604084015282810360608401526166db81856156c5565b86815260c060208201525f616a0e60c0830188616637565b8281036040840152616a2081886156c5565b90508560608401528281036080840152616a3a81866156c5565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b602081525f6110e16020830184616637565b838152606060208201525f616a8c6060830185616637565b9050826040830152949350505050565b5f8351616aad8184602088016156a3565b835190830190616ac18183602088016156a3565b01949350505050565b848152608060208201525f616ae26080830186616637565b60ff949094166040830152506060015292915050565b5f60208284031215616b08575f80fd5b5051919050565b5f82616b2957634e487b7160e01b5f52601260045260245ffd5b500490565b606081525f616b4060608301866156c5565b6020830194909452506040015291905056fe416363657373436f6e74726f6c3a20726571756972654f776e657220287761726d29416363657373436f6e74726f6c3a207265717569726541636365737320287761726d2963616c6c65722073686f756c6420686176652061636365737320746f20746865206e616d657370616365416363657373436f6e74726f6c3a2068617341636365737320287761726d2c206e616d657370616365206f6e6c792961636365737320746f20746865207461626c652073686f756c642068617665206265656e206772616e746564416363657373436f6e74726f6c3a20726571756972654f776e65722028636f6c6429416363657373436f6e74726f6c3a20726571756972654163636573732028636f6c642963616c6c65722073686f756c64206e6f7420686176652061636365737320746f20746865207461626c6561636365737320746f20746865207461626c652073686f756c642068617665206265656e207265766f6b6564416363657373436f6e74726f6c3a207265717569726541636365737320287468697320616464726573732961636365737320746f20746865206e616d6573706163652073686f756c642068617665206265656e207265766f6b6564a164736f6c6343000818000a","sourceMap":"703:4117:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4012:258:28;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4413:150:47;;;;;;:::i;:::-;;:::i;:::-;;1087:369:137;;;:::i;3756:309:47:-;;;;;;:::i;:::-;;:::i;1840:207::-;;;;;;:::i;:::-;;:::i;2987:253::-;;;;;;:::i;:::-;;:::i;5279:244:28:-;;;;;;:::i;:::-;;:::i;2170:134:54:-;;;:::i;:::-;;;;;;;:::i;4159:345:137:-;;;:::i;878:275:47:-;;;;;;:::i;:::-;;:::i;2088:249::-;;;;;;:::i;:::-;;:::i;2378:261::-;;;;;;:::i;:::-;;:::i;779:156:28:-;;;;;;:::i;:::-;;:::i;:::-;;;9023:25:162;;;9011:2;8996:18;779:156:28;8845:209:162;4572:246:137;;;:::i;2939:133:54:-;;;:::i;2640:141::-;;;:::i;2673:289:28:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7802:295::-;;;;;;:::i;:::-;;:::i;3616:136:47:-;;;;;;:::i;:::-;;:::i;4142:192::-;;;;;;:::i;:::-;;:::i;3907:248:137:-;;;:::i;2456:178:54:-;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;4667:265:28:-;;;;;;:::i;:::-;;:::i;2787:146:54:-;;;:::i;6537:258:28:-;;;;;;:::i;:::-;;:::i;5985:216::-;;;;;;:::i;:::-;;:::i;1207:214:47:-;;;;;;:::i;:::-;;:::i;1875:141:54:-;;;:::i;1819:584:48:-;;;:::i;:::-;;;18393:14:162;;18386:22;18368:41;;18356:2;18341:18;1819:584:48;18228:187:162;1476:323:47;;;;;;:::i;:::-;;:::i;1093:85:27:-;1160:13;1093:85;;1974:247:28;;;;;;:::i;:::-;;:::i;1460:1662:137:-;;;:::i;3441:216:28:-;;;;;;:::i;:::-;;:::i;1454:143::-;;;;;;:::i;:::-;;:::i;3303:258:47:-;;;;;;:::i;:::-;;:::i;7118:244:28:-;;;;;;:::i;:::-;;:::i;2022:142:54:-;;;:::i;1122:151:28:-;;;;;;:::i;:::-;;:::i;3190:649:137:-;;;:::i;2688:235:47:-;;;;;;:::i;:::-;;:::i;1572:26:48:-;;;;;;;;;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;:::-;4196:69;4012:258;-1:-1:-1;;;;;;4012:258:28:o;4413:150:47:-;4507:51;4537:7;4546:11;4507:29;:51::i;:::-;4413:150;;:::o;1087:369:137:-;1117:25;:23;:25::i;:::-;1148;:23;:25::i;:::-;1190:87;-1:-1:-1;;;1253:9:137;1270:4;1190:25;:87::i;:::-;1179:8;:98;1589:65:95;1283:12:137;:60;;;1350:47;;1391:4;1350:18;:47::i;:::-;1403:48;1422:8;;957:6;1446:4;1403:18;:48::i;:::-;1087:369::o;3756:309:47:-;3969:91;3993:7;4002:11;4015:9;4026:11;3969:91;4039:8;;3969:91;:::i;:::-;;4049:10;;3969:91;:::i;:::-;:23;:91::i;:::-;3756:309;;;;;;;;:::o;1840:207::-;1987:55;2006:7;2015:8;;1987:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1987:55:47;;;;;;;;;;;;;;;;;;;;;;2025:10;;-1:-1:-1;1987:55:47;-1:-1:-1;2037:4:47;;;;;;1987:55;;2037:4;;;;1987:55;;;;;;;;;-1:-1:-1;1987:18:47;;-1:-1:-1;;;1987:55:47:i;:::-;1840:207;;;;;;:::o;2987:253::-;3157:78;3186:7;3195:8;;3157:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3157:78:47;;;;;;;;;;;;;;;;;;;;;;3205:17;;-1:-1:-1;3157:78:47;-1:-1:-1;3224:10:47;;;;;;3157:78;;3224:10;;;;3157:78;;;;;;;;;-1:-1:-1;3157:28:47;;-1:-1:-1;;;3157:78:47:i;5279:244:28:-;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;2170:134:54:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:54;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;4159:345:137:-;4200:18;4221:8;;4200:29;;4236:52;;;;;;;;;;;;;;;;;;:14;:52::i;:::-;4294:50;4321:7;4338:4;4294:26;:50::i;:::-;4350:14;:12;:14::i;:::-;4371:52;;;;;;;;;;;;;;;;;;:14;:52::i;:::-;4429:50;4456:7;4473:4;4429:26;:50::i;:::-;4485:14;:12;:14::i;:::-;4194:310;4159:345::o;878:275:47:-;1069:79;1089:7;1098:8;;1069:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1069:79:47;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1108:10:47;;-1:-1:-1;1108:10:47;;;;1069:79;;1108:10;;;;1069:79;;;;;;;;;-1:-1:-1;;1069:79:47;;;;;;;;;;;;;;;;;;;;;;1120:14;;-1:-1:-1;1069:79:47;-1:-1:-1;1136:11:47;;;;;;1069:79;;1136:11;;;;1069:79;;;;;;;;;-1:-1:-1;1069:19:47;;-1:-1:-1;;;1069:79:47:i;2088:249::-;2264:68;2283:7;2292:8;;2264:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2264:68:47;;;;;;;;;;;;;;;;;;;;;;2302:10;;-1:-1:-1;2264:68:47;-1:-1:-1;2314:4:47;;;;;;2264:68;;2314:4;;;;2264:68;;;;;;;;;-1:-1:-1;2320:11:47;;-1:-1:-1;2264:18:47;;-1:-1:-1;;2264:68:47:i;:::-;2088:249;;;;;;;:::o;2378:261::-;2560:74;2585:7;2594:8;;2560:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2560:74:47;;;;;;;;;;;;;;;;;;;;;;2604:10;;-1:-1:-1;2560:74:47;-1:-1:-1;2616:4:47;;;;;;2560:74;;2616:4;;;;2560:74;;;;;;;;;-1:-1:-1;2622:11:47;;-1:-1:-1;2560:24:47;;-1:-1:-1;;2560:74:47:i;779:156:28:-;852:23;897:33;922:7;897:24;:33::i;:::-;883:47;779:156;-1:-1:-1;;779:156:28:o;4572:246:137:-;4640:8;;4655:15;;-1:-1:-1;;;4736:18:137;4640:8;4736:16;:18::i;:::-;1010:4;4671:92;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4671:92:137;;;;;;;;;;;;;;;;;;;;;;;4655:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:43;4797:7;1010:4;4770:26;:43::i;2939:133:54:-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:54;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:54;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;2673:289:28:-;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;3616:136:47:-;3706:41;3729:7;3738:8;3706:22;:41::i;4142:192::-;4260:69;4288:7;4297:11;4310:18;4260:27;:69::i;:::-;4142:192;;;:::o;3907:248:137:-;3976:8;;3991:15;;-1:-1:-1;;;4072:18:137;3976:8;4072:16;:18::i;:::-;1010:4;4007:92;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4007:92:137;;;;;;;;;;;;;;;;;;;;;;;3991:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4106:44;4134:7;1010:4;4106:27;:44::i;2456:178:54:-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2787:146:54:-;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6537:258:28;6700:7;6722:68;6747:7;6756:8;6766:10;6778:11;6722:24;:68::i;6537:258::-;;;;;;;:::o;5985:216::-;6119:7;6141:55;6166:7;6175:8;6185:10;6141:24;:55::i;:::-;6134:62;;5985:216;;;;;;:::o;1207:214:47:-;1358:58;1385:7;1394:8;;1358:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1358:58:47;;;;;;;;;;;;;;;;;;;;;;1404:5;;-1:-1:-1;1358:58:47;-1:-1:-1;1411:4:47;;;;;;1358:58;;1411:4;;;;1358:58;;;;;;;;;-1:-1:-1;1358:26:47;;-1:-1:-1;;;1358:58:47:i;1875:141:54:-;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:48;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23504:74:162;;;2221:17:48;23594:18:162;;;23587:34;2196:43:48;;;;;;;;;23477:18:162;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;1476:323:47:-;1692:102;1720:7;1729:8;;1692:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1692:102:47;;;;;;;;;;;;;;;;;;;;;;1739:17;;-1:-1:-1;1758:16:47;;-1:-1:-1;1776:11:47;;1789:4;;;;;;1692:102;;1789:4;;;;1692:102;;;;;;;;;-1:-1:-1;1692:27:47;;-1:-1:-1;;;1692:102:47:i;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;1460:1662:137:-;1502:18;1523:8;;1502:29;;1537:22;1562:12;;1537:37;;1580:14;1669:49;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;1736:40;1760:7;1010:4;1736:23;:40::i;:::-;1724:52;;1782:14;:12;:14::i;:::-;1802:68;1814:9;1802:68;;;;;;;;;;;;;;;;;:11;:68::i;:::-;1914:45;1933:11;1010:4;1954;1914:18;:45::i;:::-;2031:65;;;;;;;;;;;;;;;;;;:14;:65::i;:::-;2114:40;2138:7;1010:4;2114:23;:40::i;:::-;2102:52;;2160:14;:12;:14::i;:::-;2180:67;2191:9;2180:67;;;;;;;;;;;;;;;;;:10;:67::i;:::-;2292:46;2311:11;1010:4;2332:5;2292:18;:46::i;:::-;2413:49;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;2480:40;2504:7;1010:4;2480:23;:40::i;:::-;2468:52;;2526:14;:12;:14::i;:::-;2546:74;2558:9;2546:74;;;;;;;;;;;;;;;;;:11;:74::i;:::-;2659:41;2678:7;1010:4;2695;2659:18;:41::i;:::-;2759:100;2770:40;2794:7;1010:4;2770:23;:40::i;:::-;2759:100;;;;;;;;;;;;;;;;;:10;:100::i;:::-;2899:42;2918:7;1010:4;2935:5;2899:18;:42::i;:::-;3016:101;3028:40;3052:7;1010:4;3028:23;:40::i;:::-;3016:101;;;;;;;;;;;;;;;;;:11;:101::i;3441:216:28:-;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;3303:258:47:-;3472:84;3502:7;3511:8;;3472:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3521:17:47;;-1:-1:-1;3540:15:47;;-1:-1:-1;3472:29:47;;-1:-1:-1;3472:84:47:i;:::-;3303:258;;;;;:::o;7118:244:28:-;7266:7;7288:69;7320:7;7329:8;7339:17;7288:31;:69::i;2022:142:54:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:54;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;1122:151:28:-;1195:18;1235:33;1260:7;1235:24;:33::i;3190:649:137:-;3232:18;3253:8;;3232:29;;3268:53;;;;;;;;;;;;;;;;;;:14;:53::i;:::-;3327:50;3355:7;957:6;3327:27;:50::i;:::-;3383:14;:12;:14::i;:::-;3404:53;;;;;;;;;;;;;;;;;;:14;:53::i;:::-;3463:50;3491:7;957:6;3463:27;:50::i;:::-;3519:14;:12;:14::i;:::-;3540:16;;;;;1010:4;3540:16;;;24787:74:162;3540:8:137;;;;24760:18:162;;3540:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3562:15:137;;-1:-1:-1;3562:15:137;;-1:-1:-1;;;;3608:40:137;-1:-1:-1;3650:18:137;:7;:16;:18::i;:::-;3678:4;3585:99;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3585:99:137;;;;;;;;;;;;;;;;;;;;;;;3562:128;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3696:61;;;;;;;;;;;;;;;;;;:14;:61::i;:::-;3763:51;3791:7;3808:4;3763:27;:51::i;2688:235:47:-;2849:69;2875:7;2884:8;;2849:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2849:69:47;;;;;;;;;;;;;;;;;;;;;;2894:17;;-1:-1:-1;2849:69:47;-1:-1:-1;2913:4:47;;;;;;2849:69;;2913:4;;;;2849:69;;;;;;;;;-1:-1:-1;2849:25:47;;-1:-1:-1;;;2849:69:47:i;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;10984:172::-;11072:79;969:66:33;11121:7:25;11138:11;11072:27;:79::i;2336:147:111:-;2371:107;1169:66;-1:-1:-1;;;1461:66:111;1615;2447:13;:11;:13::i;:::-;2462:15;:13;:15::i;:::-;2371:25;:107::i;2302:147:110:-;2337:107;1169:66;1298;1452;1609;2413:13;:11;:13::i;:::-;2428:15;:13;:15::i;1046:257:95:-;1133:10;1262:26;438:6;451:5:20;1262:26:95;:::i;:::-;-1:-1:-1;;;;;;1189:15:95;;1208:31;451:5:20;1208:31:95;;;;1189:51;-1:-1:-1;;1244:13:95;;:45;;;1189:101;;-1:-1:-1;1046:257:95;;;;;:::o;4717:266:110:-;4813:16;;;4827:1;4813:16;;;;;;;;;4784:26;;4813:16;;;;;;;;;;;-1:-1:-1;4813:16:110;4784:45;;4868:11;4835:9;4845:1;4835:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;4887:91;1169:66;1153:83;;4924:9;4935:1;4956:5;4938:25;;;;;;;25685:2:162;25681:15;;;;25698:66;25677:88;25665:101;;25791:2;25782:12;;25536:264;4938:25:110;;;;-1:-1:-1;;4938:25:110;;;;;;;;;1298:66;4887:26;:91::i;5184:333:111:-;5293:16;;;5307:1;5293:16;;;;;;;;5264:26;;5293:16;;;;;;;;;;-1:-1:-1;5293:16:111;5264:45;;5348:10;5315:9;5325:1;5315:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5404:6;-1:-1:-1;;;;;5388:24:111;5380:33;;5365:9;5375:1;5365:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5420:92;1169:66;1153:83;;5457:9;5468:1;5489:6;5471:26;;;;;;25956:14:162;25949:22;25944:3;25940:32;25928:45;;25998:1;25989:11;;25805:201;5471:26:111;;;;-1:-1:-1;;5471:26:111;;;;;;;;;-1:-1:-1;;;5420:26:111;:92::i;:::-;5258:259;5184:333;;;:::o;6637:2917:25:-;-1:-1:-1;;;6924:7:25;-1:-1:-1;;;;;;6924:35:25;;;;;:83;;-1:-1:-1;;;;6963:7:25;-1:-1:-1;;;;;;6963:44:25;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:25;7112;7095:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;7095:25:25;;;;-1:-1:-1;;7095:25:25;;;;;;;;;;7024:98;;;;;;;;;;:::i;:::-;;;;;;;;6920:209;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7415:8:25;:15;:40;7411:148;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7536:15:25;;7472:80;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7472:80:25;26697:248:162;7411:148:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7609:10:25;:17;:44;7605:158;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7738:17:25;;7670:86;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7670:86:25;26697:248:162;7605:158:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7820:50:25;7816:171;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7887:93:25;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7887:93:25;26697:248:162;7816:171:25;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8075:135:25;26697:248:162;7992:225:25;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8307:138:25;26697:248:162;8222:230:25;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:25;8608:244;;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:25;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8701:142:25;26697:248:162;8608:244:25;8595:3;;8544:314;;;;8938:25;8966:63;-1:-1:-1;;;9003:25:25;:7;451:5:20;1899:44;;1798:151;9003:25:25;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:25;8938:91;;9035:26;9064:72;-1:-1:-1;;;9110:25:25;:7;451:5:20;1899:44;;1798:151;9064:72:25;9035:101;;9146:38;9169:14;9146:22;:38::i;:::-;:81;;;;9188:39;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;9298:25:25;;;;-1:-1:-1;;9298:25:25;;;;;;;;;;9244:81;;;;;;;;;:::i;9142:190::-;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9373:11;:103::i;:::-;9512:37;9535:7;9544:4;9512:22;:37::i;20949:192::-;21066:70;21075:7;21084:8;21094:10;21106:4;21112:23;21127:7;21112:14;:23::i;:::-;21066:8;:70::i;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;330:580:0:-;394:39;;;;;;;;;27671:21:162;;;;27728:2;27708:18;;;27701:30;27767:22;27747:18;;;27740:50;309:37:49;27842:20:162;;;27835:52;394:8:0;;;;27807:19:162;;394:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;389:53;;330:580;:::o;389:53::-;468:22;462:36;;;;;:::i;:::-;;;502:1;462:41;558:22;511:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;447:220;;;;;;;;;;;;;;:::i;:::-;;681:12;694:4;681:18;;;;;;:::i;:::-;;;;;;;;;;;;;;703:1;681:23;736:4;706:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;673:101;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;780:22:0;:29;805:4;780:22;:29;:::i;:::-;;317:28:49;309:37;;-1:-1:-1;;;;;815:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:9;842:23;:35;883:22;;;;;;;;:20;;;;:22;;;;;309:37:49;;883:22:0;;;;;;;309:37:49;883:20:0;:22;;;;;;;;;;;;;;;;;;;;;;;;;;3522:232:66;-1:-1:-1;;;;;3607:57:66;;:47;696:18:136;578:36:95;2955:46;;2954:74;3607:18:66;:47::i;:::-;-1:-1:-1;;;;;3607:57:66;;3603:147;;3713:21;:10;:19;:21::i;:::-;3736:6;3681:62;;-1:-1:-1;;;3681:62:66;;;;;;;;;:::i;914:534:0:-;953:11;967:9;987:39;;;;;;;;;27671:21:162;;;;27728:2;27708:18;;;27701:30;27767:22;27747:18;;;27740:50;309:37:49;27842:20:162;;;27835:52;953:23:0;;-1:-1:-1;987:8:0;;;;27807:19:162;;987:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;982:53;;1028:7;914:534::o;982:53::-;1151:15;1201:3;1195;1169:23;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;:39;;1207:1;1169:39;:::i;:::-;1151:57;;1232:1;1222:7;:11;1214:49;;;;;;;33254:2:162;1214:49:0;;;33236:21:162;33293:2;33273:18;;;33266:30;33332:27;33312:18;;;33305:55;33377:18;;1214:49:0;33052:349:162;1214:49:0;1308:7;1269:12;1282:22;1269:36;;;;;;:::i;:::-;;;;;;;;;;;;;;:46;1321:16;:45;;;;;;;-1:-1:-1;1321:45:0;;;;;;;1343:22;1321:45;;:::i;:::-;;1372:38;1387:22;1372:38;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:38::i;:::-;1416:27;;;;;;;;;-1:-1:-1;1416:27:0;;:22;;:27;;:22;:27;:::i;12066:286:25:-;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;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::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;3486:592:95:-;3550:13;3620:10;451:5:20;1899:44;;;3571:19:95;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;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:95;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;32759:1315:25:-;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;40903:1149::-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;;;;;;;26871:25:162;;;26912:18;;;26905:34;;;26844:18;;41173:44:25;26697: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;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;41668:88:25;26697: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;10156:624::-;-1:-1:-1;;;10340:7:25;-1:-1:-1;;;;;;10340:35:25;;10336:161;;-1:-1:-1;;;10447:7:25;10480;10463:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;10336:161:25;10542:31;10565:7;10542:22;:31::i;:::-;10537:136;;10623:7;10656;10639:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;10639:25:25;;;;-1:-1:-1;;10639:25:25;;;;;;;;;;10590:76;;;;;;;;;:::i;10537:136::-;10679:96;10696:7;1045:29:5;1053:20;;;;1045:29;1077:30;;;;;;1045:62;10679:16:25;:96::i;2262:281:66:-;2424:29;2434:10;2446:6;2424:9;:29::i;:::-;2419:120;;2502:21;:10;:19;:21::i;36171:541:25:-;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;38966:427::-;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;17013:1682::-;-1:-1:-1;;;17192:7:25;-1:-1:-1;;;;;;17192:44:25;;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;31958:254::-;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;955:325:66:-;1036:4;1178:55;696:18:136;578:36:95;2955:46;;2954:74;1226:6:66;1178:18;:55::i;:::-;:97;;;;1237:38;1256:10;1268:6;1237:18;:38::i;676:107:50:-;754:22;766:4;765:5;772:3;3425:191:48;3504:9;3499:111;;3534:30;3560:3;3534:30;;;;;;:::i;:::-;;;;;;;;3578:21;3589:9;3578:10;:21::i;34503:218:25:-;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;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;30235:834:25;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;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;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;4979:171:4:-;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;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;1474:1069:5:-;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:5;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:5;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:5;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;1817:169:111:-;1906:15;;;1919:1;1906:15;;;1863:24;1906:15;;;;;;;;;;;;;;;;;;;;;;;;;;1895:26;;1927;;;;;;;;;;;;;;;;;:8;1936:1;1927:11;;;;;;;;:::i;:::-;;;;;;:26;;;;1959:22;;;;;;;;;;;;;;;;;:8;1968:1;1959:11;;;;;;;;:::i;:::-;;;;;;:22;;;;1817:169;:::o;2126:145::-;2221:15;;;2234:1;2221:15;;;;;;;;;2174:26;;2221:15;;;;;;;;;;;;;;;;;;;;2208:28;;2242:24;;;;;;;;;;;;;;;;;:10;2253:1;2242:13;;;;;;;;:::i;5644:520:29:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:29;-1:-1:-1;;;;;5898:30:29;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;;;;-1:-1:-1;;;;;6050:35:29;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5841:323;5644:520;;;;;;:::o;1811:142:110:-;1900:15;;;1913:1;1900:15;;;;;;;;;1857:24;;1900:15;;;;;;;;;;;;;;;;;;;;1889:26;;1921:27;;;;;;;;;;;;;;;;;:8;1930:1;1921:11;;;;;;;;:::i;2093:144::-;2188:15;;;2201:1;2188:15;;;;;;;;;2141:26;;2188:15;;;;;;;;;;;;;;;;;;;;2175:28;;2209:23;;;;;;;;;;;;;;;;;:10;2220:1;2209:13;;;;;;;;:::i;10761:455:29:-;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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;6618:1665:4:-;5550:35:21;6681:87:4;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:35;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;26871:25:162;;;943:1:35;26912:18:162;;;26905:34;26844:18;;6897:90:4;26697:248:162;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:35;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;26871:25:162;;;689:2:35;26912:18:162;;;26905:34;26844:18;;7185:79:4;26697:248:162;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;9023:25:162;;;8996:18;;7493:52:4;8845:209:162;7449:234:4;376:2:35;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;9023:25:162;;;8996:18;;7611:63:4;8845:209:162;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;;;26844:18;;7887:105:4;26697:248:162;7815:184:4;8055:16;8038:241;689:2:35;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;9023:25:162;;;8996:18;;8209:55:4;8845:209:162;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;5550:35:21;;5881:16;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;9023:25:162;8996:18;;5906:37:21;8845:209:162;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:35;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;9023:25:162;;;8996:18;;6116:53:21;8845:209:162;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:35;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;9023:25:162;;;8996:18;;6412:51:21;8845:209:162;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;9023:25:162;;9011:2;8996:18;;8845:209;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;5377:173:4;5451:7;579:1:35;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;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;-1:-1:-1;;;3059:24:32;:62::i;:::-;3043:78;;3135:29;3156:5;3143:20;;1650:10:20;1541:126;19791:677:34;24359:53;;;;;;48823:19:162;;;48858:12;;;48851:28;;;24332:12:34;48895::162;;;48888:28;;;24359:53:34;;;;;;;;;;48932:12:162;;;;24359:53:34;;;20082:30;20115:55;20129:18;20149:20;20115:13;:55::i;:::-;20082:88;;20176:25;20204:55;20218:18;20238:20;20204:13;:55::i;:::-;20295:16;;;20309:1;20295:16;;;;;;;;;20176:83;;-1:-1:-1;20266:26:34;;20295:16;;;;;;;;;;;;-1:-1:-1;20295:16:34;20266:45;;20350:7;20317:9;20327:1;20317:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20365:98;1207:66;20395:9;20406:11;20419:15;20436:12;1336:66;20365:19;:98::i;4220:268:32:-;4320:16;;;4334:1;4320:16;;;;;;;;;4291:26;;4320:16;;;;;;;;;;;-1:-1:-1;4320:16:32;4291:45;;4375:10;4342:9;4352:1;4342:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4393:90;971:66;955:83;;4428:9;4439:1;4460:6;4442:26;;;;;;25956:14:162;25949:22;25944:3;25940:32;25928:45;;25998:1;25989:11;;25805:201;4442:26:32;;;;-1:-1:-1;;4442:26:32;;;;;;;;;-1:-1:-1;;;4393:24:32;:90::i;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;44254:4001:25;-1:-1:-1;;;44652:7:25;-1:-1:-1;;;;;;44652:35:25;;44648:161;;-1:-1:-1;;;44759:7:25;44792;44775:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;44648:161:25;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;;;;;40672:12:162;40711:15;;;45340:92:25;;;40693:34:162;40763:15;;;40743:18;;;40736:43;40815:15;;40795:18;;;40788:43;40635:18;;45340:92:25;40466:371:162;45221:218:25;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;41015:25:162;;;41088:12;41076:25;;41056:18;;;41049:53;40988:18;;45581:74:25;40842: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;52742:274::-;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;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;:::-;5693:13;5042:669;;;;;:::o;3403:307:110:-;3513:16;;;3527:1;3513:16;;;;;;;;;3463:13;;;;3513:16;;;;;;;;;;;;-1:-1:-1;3513:16:110;3484:45;;3568:11;3535:9;3545:1;3535:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3587:13;3603:64;1169:66;3640:9;3587:13;1298:66;3603:26;:64::i;:::-;3681:23;;;3403:307;-1:-1:-1;;;;3403:307:110:o;1754:155:0:-;1818:86;317:28:49;309:37;;-1:-1:-1;;;;;1860:11:0;;1872:12;1885:4;1872:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;1860:31;;;;;;;;;;;;9023:25:162;;;9011:2;8996:18;;8845:209;1860:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1860:31:0;;;;;;;;;;;;:::i;:::-;1898:4;1830:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1818:11;:86::i;13212:3165:25:-;-1:-1:-1;;;13486:7:25;-1:-1:-1;;;;;;13486:44:25;;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;;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;;51249:282;51494:30;;;;;;46659:19:162;;;46694:12;;;46687:28;;;51337:7:25;;46731:12:162;;51494:30:25;;;;-1:-1:-1;;51494:30:25;;;;;;;;;51484:41;;51494:30;51484:41;;;;42361:22;51477:48;;51249:282;-1:-1:-1;;;51249:282: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;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;;;-1:-1:-1;;2007:37:95;;3261:1:2;3257:13;;3253:24;2007:42:95;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;47084:79:162;;2092:30:95;;;47072:92:162;2092:30:95;;47180:12:162;;;;2092:30:95;;;875:21:2;;;2092:30:95;2142:39;760:164:2;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;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;26296:1804:25:-;-1:-1:-1;;;26463:7:25;-1:-1:-1;;;;;;26463:44:25;;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;;9656:254:33;9753:16;;;9767:1;9753:16;;;;;;;;;9724:26;;9753:16;;;;;;;;;;;-1:-1:-1;9753:16:33;9724:45;;9808:7;9775:9;9785:1;9775:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9823:82;969:66;953:83;;9862:9;9873:1;9894:8;9876:28;;;;;;;48093:66:162;48081:79;;;;48069:92;;48186:2;48177:12;;47940:255;9876:28:33;;;;;;;;;;;;;9823;:82::i;50806:191:25:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::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;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926: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;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;3586:379:111:-;3709:16;;;3723:1;3709:16;;;;;;;;3661:11;;;;3709:16;3723:1;3709:16;;;;;;;;;;-1:-1:-1;3709:16:111;3680:45;;3764:10;3731:9;3741:1;3731:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3820:6;-1:-1:-1;;;;;3804:24:111;3796:33;;3781:9;3791:1;3781:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3836:13;3852:64;1169:66;3889:9;3836:13;-1:-1:-1;;;3852:26:111;:64::i;:::-;3836:80;;3930:29;3951:5;3938:20;;1650:10:20;1541:126;3262:157:48;3322:9;3317:96;;3352:30;;;;;48402:2:162;48384:21;;;48441:2;48421:18;;;48414:30;48480:25;48475:2;48460:18;;48453:53;48538:2;48523:18;;48200:347;3352:30:48;;;;;;;;3396:6;:4;:6::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;6111:316::-;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;3525:369:31:-;3665:16;;;3679:1;3665:16;;;;;;;;;3606:22;;3636:26;;3665:16;;;;;;;;;;;;-1:-1:-1;3665:16:31;3636:45;;3720:10;3687:9;3697:1;3687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3738:18;3759:49;3785:8;3795:9;3806:1;3759:25;:49::i;:::-;3738:70;;3822:66;:44;3843:5;3850:1;3853:5;:12;3822:20;:44::i;4912:282::-;5038:16;;;5052:1;5038:16;;;;;;;;;5009:26;;5038:16;;;;;;;;;;;-1:-1:-1;5038:16:31;5009:45;;5093:10;5060:9;5070:1;5060:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5111:78;5137:8;5147:9;5158:1;5161:27;5181:5;5161:18;:27::i;:::-;5111:25;:78::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;24608:390:34:-;24918:32;;24952:34;;24734:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;24895:92:34;2518:351:3;25163:234:34;25289:12;25340:18;25369:20;25316:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25309:83;;25163:234;;;;:::o;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;7468:1525:3:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;9023:25:162;;;8996:18;;7664:67:3;8845: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;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;5630:121:62:-;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:62;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;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;;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;2409:432:48:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;51037:74:162;;;2677:17:48;51127:18:162;;;51120:34;;;;2712:4:48;51170:18:162;;;51163:34;2489:11:48;;1671:64;2586:43;;51010:18:162;;2652:67:48;;;-1:-1:-1;;2652:67:48;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:48;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:48;2820:7;:14;;;;;;;;2409:432::o;39802:222:40:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;181:376:62:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::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;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:41;1474:15;;-1:-1:-1;;5373:16:23;1531:32:41;;;5373:16:23;5369:32;1503:4:41;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;14:367:162;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:162;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:156::-;452:20;;512:4;501:16;;491:27;;481:55;;532:1;529;522:12;547:707;721:6;729;737;745;753;806:3;794:9;785:7;781:23;777:33;774:53;;;823:1;820;813:12;774:53;859:9;846:23;836:33;;920:2;909:9;905:18;892:32;947:18;939:6;936:30;933:50;;;979:1;976;969:12;933:50;1018:70;1080:7;1071:6;1060:9;1056:22;1018:70;:::i;:::-;1107:8;;-1:-1:-1;992:96:162;-1:-1:-1;1161:36:162;;-1:-1:-1;1193:2:162;1178:18;;1161:36;:::i;:::-;547:707;;;;-1:-1:-1;547:707:162;;1244:2;1229:18;1216:32;;547:707;-1:-1:-1;;547:707:162:o;1259:250::-;1344:1;1354:113;1368:6;1365:1;1362:13;1354:113;;;1444:11;;;1438:18;1425:11;;;1418:39;1390:2;1383:10;1354:113;;;-1:-1:-1;;1501:1:162;1483:16;;1476:27;1259:250::o;1514:329::-;1555:3;1593:5;1587:12;1620:6;1615:3;1608:19;1636:76;1705:6;1698:4;1693:3;1689:14;1682:4;1675:5;1671:16;1636:76;:::i;:::-;1757:2;1745:15;-1:-1:-1;;1741:88:162;1732:98;;;;1832:4;1728:109;;1514:329;-1:-1:-1;;1514:329:162:o;1848:217::-;1995:2;1984:9;1977:21;1958:4;2015:44;2055:2;2044:9;2040:18;2032:6;2015:44;:::i;2070:208::-;2150:20;;-1:-1:-1;;;;;2199:54:162;;2189:65;;2179:93;;2268:1;2265;2258:12;2283:316;2401:6;2409;2462:2;2450:9;2441:7;2437:23;2433:32;2430:52;;;2478:1;2475;2468:12;2430:52;2514:9;2501:23;2491:33;;2543:50;2589:2;2578:9;2574:18;2543:50;:::i;:::-;2533:60;;2283:316;;;;;:::o;2604:1189::-;2903:6;2911;2919;2927;2935;2943;2951;2959;3012:3;3000:9;2991:7;2987:23;2983:33;2980:53;;;3029:1;3026;3019:12;2980:53;3065:9;3052:23;3042:33;;3122:2;3111:9;3107:18;3094:32;3084:42;;3173:2;3162:9;3158:18;3145:32;3135:42;;3224:2;3213:9;3209:18;3196:32;3186:42;;3279:3;3268:9;3264:19;3251:33;3303:18;3344:2;3336:6;3333:14;3330:34;;;3360:1;3357;3350:12;3330:34;3399:70;3461:7;3452:6;3441:9;3437:22;3399:70;:::i;:::-;3488:8;;-1:-1:-1;3373:96:162;-1:-1:-1;3576:3:162;3561:19;;3548:33;;-1:-1:-1;3593:16:162;;;3590:36;;;3622:1;3619;3612:12;3590:36;;3661:72;3725:7;3714:8;3703:9;3699:24;3661:72;:::i;:::-;2604:1189;;;;-1:-1:-1;2604:1189:162;;-1:-1:-1;2604:1189:162;;;;;;3752:8;-1:-1:-1;;;2604:1189:162:o;3798:347::-;3849:8;3859:6;3913:3;3906:4;3898:6;3894:17;3890:27;3880:55;;3931:1;3928;3921:12;3880:55;-1:-1:-1;3954:20:162;;3997:18;3986:30;;3983:50;;;4029:1;4026;4019:12;3983:50;4066:4;4058:6;4054:17;4042:29;;4118:3;4111:4;4102:6;4094;4090:19;4086:30;4083:39;4080:59;;;4135:1;4132;4125:12;4150:915;4303:6;4311;4319;4327;4335;4343;4396:3;4384:9;4375:7;4371:23;4367:33;4364:53;;;4413:1;4410;4403:12;4364:53;4449:9;4436:23;4426:33;;4510:2;4499:9;4495:18;4482:32;4533:18;4574:2;4566:6;4563:14;4560:34;;;4590:1;4587;4580:12;4560:34;4629:70;4691:7;4682:6;4671:9;4667:22;4629:70;:::i;:::-;4718:8;;-1:-1:-1;4603:96:162;-1:-1:-1;4603:96:162;;-1:-1:-1;4772:36:162;4804:2;4789:18;;4772:36;:::i;:::-;4762:46;;4861:2;4850:9;4846:18;4833:32;4817:48;;4890:2;4880:8;4877:16;4874:36;;;4906:1;4903;4896:12;4874:36;;4945:60;4997:7;4986:8;4975:9;4971:24;4945:60;:::i;:::-;4150:915;;;;-1:-1:-1;4150:915:162;;-1:-1:-1;4150:915:162;;5024:8;;4150:915;-1:-1:-1;;;4150:915:162:o;5070:606::-;5203:6;5211;5219;5227;5280:2;5268:9;5259:7;5255:23;5251:32;5248:52;;;5296:1;5293;5286:12;5248:52;5332:9;5319:23;5309:33;;5393:2;5382:9;5378:18;5365:32;5420:18;5412:6;5409:30;5406:50;;;5452:1;5449;5442:12;5406:50;5491:70;5553:7;5544:6;5533:9;5529:22;5491:70;:::i;:::-;5580:8;;-1:-1:-1;5465:96:162;-1:-1:-1;5634:36:162;;-1:-1:-1;5666:2:162;5651:18;;5634:36;:::i;:::-;5624:46;;5070:606;;;;;;;:::o;5681:681::-;5852:2;5904:21;;;5974:13;;5877:18;;;5996:22;;;5823:4;;5852:2;6075:15;;;;6049:2;6034:18;;;5823:4;6118:218;6132:6;6129:1;6126:13;6118:218;;;6197:13;;-1:-1:-1;;;;;6193:62:162;6181:75;;6311:15;;;;6276:12;;;;6154:1;6147:9;6118:218;;;-1:-1:-1;6353:3:162;;5681:681;-1:-1:-1;;;;;;5681:681:162:o;6367:1236::-;6577:6;6585;6593;6601;6609;6617;6625;6633;6686:3;6674:9;6665:7;6661:23;6657:33;6654:53;;;6703:1;6700;6693:12;6654:53;6739:9;6726:23;6716:33;;6800:2;6789:9;6785:18;6772:32;6823:18;6864:2;6856:6;6853:14;6850:34;;;6880:1;6877;6870:12;6850:34;6919:70;6981:7;6972:6;6961:9;6957:22;6919:70;:::i;:::-;7008:8;;-1:-1:-1;6893:96:162;-1:-1:-1;7096:2:162;7081:18;;7068:32;;-1:-1:-1;7112:16:162;;;7109:36;;;7141:1;7138;7131:12;7109:36;7180:60;7232:7;7221:8;7210:9;7206:24;7180:60;:::i;:::-;7259:8;;-1:-1:-1;7154:86:162;-1:-1:-1;7341:2:162;7326:18;;7313:32;;-1:-1:-1;7398:3:162;7383:19;;7370:33;;-1:-1:-1;7415:16:162;;;7412:36;;;7444:1;7441;7434:12;7412:36;;7483:60;7535:7;7524:8;7513:9;7509:24;7483:60;:::i;7608:1016::-;7802:6;7810;7818;7826;7834;7842;7850;7903:3;7891:9;7882:7;7878:23;7874:33;7871:53;;;7920:1;7917;7910:12;7871:53;7956:9;7943:23;7933:33;;8017:2;8006:9;8002:18;7989:32;8040:18;8081:2;8073:6;8070:14;8067:34;;;8097:1;8094;8087:12;8067:34;8136:70;8198:7;8189:6;8178:9;8174:22;8136:70;:::i;:::-;8225:8;;-1:-1:-1;8110:96:162;-1:-1:-1;8110:96:162;;-1:-1:-1;8279:36:162;8311:2;8296:18;;8279:36;:::i;:::-;8269:46;;8368:2;8357:9;8353:18;8340:32;8324:48;;8397:2;8387:8;8384:16;8381:36;;;8413:1;8410;8403:12;8381:36;;8452:60;8504:7;8493:8;8482:9;8478:24;8452:60;:::i;:::-;7608:1016;;;;-1:-1:-1;7608:1016:162;;;;;;8613:3;8598:19;;;8585:33;;7608:1016;-1:-1:-1;;;;7608:1016:162:o;8629:211::-;8719:6;8772:2;8760:9;8751:7;8747:23;8743:32;8740:52;;;8788:1;8785;8778:12;8740:52;-1:-1:-1;8811:23:162;;8629:211;-1:-1:-1;8629:211:162:o;9059:636::-;9226:6;9234;9242;9250;9303:2;9291:9;9282:7;9278:23;9274:32;9271:52;;;9319:1;9316;9309:12;9271:52;9355:9;9342:23;9332:33;;9416:2;9405:9;9401:18;9388:32;9443:18;9435:6;9432:30;9429:50;;;9475:1;9472;9465:12;9429:50;9514:70;9576:7;9567:6;9556:9;9552:22;9514:70;:::i;:::-;9059:636;;9603:8;;-1:-1:-1;9488:96:162;;9685:2;9670:18;9657:32;;9059:636;-1:-1:-1;;;;9059:636:162:o;9700:483::-;9956:2;9945:9;9938:21;9919:4;9982:44;10022:2;10011:9;10007:18;9999:6;9982:44;:::i;:::-;10062:6;10057:2;10046:9;10042:18;10035:34;10117:9;10109:6;10105:22;10100:2;10089:9;10085:18;10078:50;10145:32;10170:6;10162;10145:32;:::i;10188:184::-;-1:-1:-1;;;10237:1:162;10230:88;10337:4;10334:1;10327:15;10361:4;10358:1;10351:15;10377:334;10448:2;10442:9;10504:2;10494:13;;-1:-1:-1;;10490:86:162;10478:99;;10607:18;10592:34;;10628:22;;;10589:62;10586:88;;;10654:18;;:::i;:::-;10690:2;10683:22;10377:334;;-1:-1:-1;10377:334:162:o;10716:183::-;10776:4;10809:18;10801:6;10798:30;10795:56;;;10831:18;;:::i;:::-;-1:-1:-1;10876:1:162;10872:14;10888:4;10868:25;;10716:183::o;10904:668::-;10958:5;11011:3;11004:4;10996:6;10992:17;10988:27;10978:55;;11029:1;11026;11019:12;10978:55;11065:6;11052:20;11091:4;11115:60;11131:43;11171:2;11131:43;:::i;:::-;11115:60;:::i;:::-;11197:3;11221:2;11216:3;11209:15;11249:4;11244:3;11240:14;11233:21;;11306:4;11300:2;11297:1;11293:10;11285:6;11281:23;11277:34;11263:48;;11334:3;11326:6;11323:15;11320:35;;;11351:1;11348;11341:12;11320:35;11387:4;11379:6;11375:17;11401:142;11417:6;11412:3;11409:15;11401:142;;;11483:17;;11471:30;;11521:12;;;;11434;;11401:142;;;-1:-1:-1;11561:5:162;10904:668;-1:-1:-1;;;;;;10904:668:162:o;11577:655::-;11726:6;11734;11742;11750;11758;11811:3;11799:9;11790:7;11786:23;11782:33;11779:53;;;11828:1;11825;11818:12;11779:53;11864:9;11851:23;11841:33;;11925:2;11914:9;11910:18;11897:32;11952:18;11944:6;11941:30;11938:50;;;11984:1;11981;11974:12;11938:50;12007:61;12060:7;12051:6;12040:9;12036:22;12007:61;:::i;:::-;11997:71;;;12087:36;12119:2;12108:9;12104:18;12087:36;:::i;:::-;11577:655;;;;-1:-1:-1;12077:46:162;;12170:2;12155:18;;12142:32;;-1:-1:-1;12221:3:162;12206:19;12193:33;;11577:655;-1:-1:-1;;11577:655:162:o;12237:447::-;12361:6;12369;12422:2;12410:9;12401:7;12397:23;12393:32;12390:52;;;12438:1;12435;12428:12;12390:52;12474:9;12461:23;12451:33;;12535:2;12524:9;12520:18;12507:32;12562:18;12554:6;12551:30;12548:50;;;12594:1;12591;12584:12;12548:50;12617:61;12670:7;12661:6;12650:9;12646:22;12617:61;:::i;:::-;12607:71;;;12237:447;;;;;:::o;12689:386::-;12814:6;12822;12830;12883:2;12871:9;12862:7;12858:23;12854:32;12851:52;;;12899:1;12896;12889:12;12851:52;12935:9;12922:23;12912:33;;12964:50;13010:2;12999:9;12995:18;12964:50;:::i;:::-;12954:60;;13033:36;13065:2;13054:9;13050:18;13033:36;:::i;:::-;13023:46;;12689:386;;;;;:::o;13080:1670::-;13284:4;13313:2;13353;13342:9;13338:18;13383:2;13372:9;13365:21;13406:6;13441;13435:13;13472:6;13464;13457:22;13498:2;13488:12;;13531:2;13520:9;13516:18;13509:25;;13593:2;13583:6;13580:1;13576:14;13565:9;13561:30;13557:39;13631:2;13623:6;13619:15;13652:1;13662:1059;13676:6;13673:1;13670:13;13662:1059;;;13741:22;;;13765:66;13737:95;13725:108;;13856:13;;13943:9;;-1:-1:-1;;;;;13939:58:162;13924:74;;14037:11;;14031:18;14069:15;;;14062:27;;;14150:19;;13896:15;;;14182:24;;;14272:21;;;;14317:1;;14240:2;14228:15;;;14331:282;14347:8;14342:3;14339:17;14331:282;;;14428:15;;14445:66;14424:88;14410:103;;14582:17;;;;14375:1;14366:11;;;;;14539:14;;;;14331:282;;;-1:-1:-1;14699:12:162;;;;14636:5;-1:-1:-1;;;14664:15:162;;;;13698:1;13691:9;13662:1059;;;-1:-1:-1;14738:6:162;;13080:1670;-1:-1:-1;;;;;;;;13080:1670:162:o;14755:656::-;14807:3;14838;14870:5;14864:12;14897:6;14892:3;14885:19;14923:4;14952;14947:3;14943:14;14936:21;;15010:4;15000:6;14997:1;14993:14;14986:5;14982:26;14978:37;15049:4;15042:5;15038:16;15072:1;15082:303;15096:6;15093:1;15090:13;15082:303;;;-1:-1:-1;;15171:5:162;15165:4;15161:16;15157:89;15152:3;15145:102;15268:37;15300:4;15291:6;15285:13;15268:37;:::i;:::-;15363:12;;;;15260:45;-1:-1:-1;15328:15:162;;;;15118:1;15111:9;15082:303;;;-1:-1:-1;15401:4:162;;14755:656;-1:-1:-1;;;;;;;14755:656:162:o;15416:280::-;15615:2;15604:9;15597:21;15578:4;15635:55;15686:2;15675:9;15671:18;15663:6;15635:55;:::i;15883:618::-;16055:6;16063;16071;16079;16132:3;16120:9;16111:7;16107:23;16103:33;16100:53;;;16149:1;16146;16139:12;16100:53;16185:9;16172:23;16162:33;;16246:2;16235:9;16231:18;16218:32;16273:18;16265:6;16262:30;16259:50;;;16305:1;16302;16295:12;16259:50;16328:61;16381:7;16372:6;16361:9;16357:22;16328:61;:::i;:::-;16318:71;;;16408:36;16440:2;16429:9;16425:18;16408:36;:::i;:::-;15883:618;;;;-1:-1:-1;16398:46:162;;16491:2;16476:18;16463:32;;-1:-1:-1;;15883:618:162:o;16688:517::-;16819:6;16827;16835;16888:2;16876:9;16867:7;16863:23;16859:32;16856:52;;;16904:1;16901;16894:12;16856:52;16940:9;16927:23;16917:33;;17001:2;16990:9;16986:18;16973:32;17028:18;17020:6;17017:30;17014:50;;;17060:1;17057;17050:12;17014:50;17083:61;17136:7;17127:6;17116:9;17112:22;17083:61;:::i;:::-;17073:71;;;17163:36;17195:2;17184:9;17180:18;17163:36;:::i;17210:1013::-;17364:6;17372;17380;17388;17396;17404;17457:3;17445:9;17436:7;17432:23;17428:33;17425:53;;;17474:1;17471;17464:12;17425:53;17510:9;17497:23;17487:33;;17571:2;17560:9;17556:18;17543:32;17594:18;17635:2;17627:6;17624:14;17621:34;;;17651:1;17648;17641:12;17621:34;17690:70;17752:7;17743:6;17732:9;17728:22;17690:70;:::i;:::-;17779:8;;-1:-1:-1;17664:96:162;-1:-1:-1;17864:2:162;17849:18;;17836:32;;-1:-1:-1;17908:14:162;17897:26;;17887:37;;17877:65;;17938:1;17935;17928:12;17877:65;17961:5;;-1:-1:-1;18019:2:162;18004:18;;17991:32;;18035:16;;;18032:36;;;18064:1;18061;18054:12;18420:165;18487:20;;18547:12;18536:24;;18526:35;;18516:63;;18575:1;18572;18565:12;18590:1061;18759:6;18767;18775;18783;18791;18799;18807;18815;18868:3;18856:9;18847:7;18843:23;18839:33;18836:53;;;18885:1;18882;18875:12;18836:53;18921:9;18908:23;18898:33;;18982:2;18971:9;18967:18;18954:32;19005:18;19046:2;19038:6;19035:14;19032:34;;;19062:1;19059;19052:12;19032:34;19101:70;19163:7;19154:6;19143:9;19139:22;19101:70;:::i;:::-;19190:8;;-1:-1:-1;19075:96:162;-1:-1:-1;19075:96:162;;-1:-1:-1;19244:36:162;19276:2;19261:18;;19244:36;:::i;:::-;19234:46;;19299:37;19332:2;19321:9;19317:18;19299:37;:::i;:::-;19289:47;;19355:38;19388:3;19377:9;19373:19;19355:38;:::i;:::-;19345:48;;19446:3;19435:9;19431:19;19418:33;19402:49;;19476:2;19466:8;19463:16;19460:36;;;19492:1;19489;19482:12;19656:536;19782:6;19790;19798;19851:2;19839:9;19830:7;19826:23;19822:32;19819:52;;;19867:1;19864;19857:12;19819:52;19903:9;19890:23;19880:33;;19964:2;19953:9;19949:18;19936:32;19991:18;19983:6;19980:30;19977:50;;;20023:1;20020;20013:12;19977:50;20062:70;20124:7;20115:6;20104:9;20100:22;20062:70;:::i;:::-;19656:536;;20151:8;;-1:-1:-1;20036:96:162;;-1:-1:-1;;;;19656:536:162:o;21086:246::-;21135:4;21168:18;21160:6;21157:30;21154:56;;;21190:18;;:::i;:::-;-1:-1:-1;21247:2:162;21235:15;-1:-1:-1;;21231:88:162;21321:4;21227:99;;21086:246::o;21337:1202::-;21475:9;21510:64;21526:47;21566:6;21526:47;:::i;21510:64::-;21596:3;21620:6;21615:3;21608:19;21646:4;21675:2;21670:3;21666:12;21659:19;;21719:6;21716:1;21712:14;21705:5;21701:26;21750:14;21742:6;21739:26;21736:46;;;21778:1;21775;21768:12;21736:46;21802:5;21816:690;21832:6;21827:3;21824:15;21816:690;;;21918:3;21905:17;21954:18;21941:11;21938:35;21935:55;;;21986:1;21983;21976:12;21935:55;22013:23;;22078:14;22071:4;22063:13;;22059:34;22049:62;;22107:1;22104;22097:12;22049:62;22147:2;22134:16;22176:49;22192:32;22221:2;22192:32;:::i;22176:49::-;22252:2;22245:5;22238:17;22296:14;22291:2;22286;22282;22278:11;22274:20;22271:40;22268:60;;;22324:1;22321;22314:12;22268:60;22383:2;22378;22374;22370:11;22365:2;22358:5;22354:14;22341:45;22431:1;22410:14;;;22406:23;;22399:34;;;;22446:18;;-1:-1:-1;22484:12:162;;;;21849;;21816:690;;;-1:-1:-1;22528:5:162;;21337:1202;-1:-1:-1;;;;;;21337:1202:162:o;22544:339::-;22721:2;22710:9;22703:21;22684:4;22741:44;22781:2;22770:9;22766:18;22758:6;22741:44;:::i;:::-;22733:52;;-1:-1:-1;;;;;22825:6:162;22821:55;22816:2;22805:9;22801:18;22794:83;22544:339;;;;;:::o;22888:437::-;22967:1;22963:12;;;;23010;;;23031:61;;23085:4;23077:6;23073:17;23063:27;;23031:61;23138:2;23130:6;23127:14;23107:18;23104:38;23101:218;;-1:-1:-1;;;23172:1:162;23165:88;23276:4;23273:1;23266:15;23304:4;23301:1;23294:15;23632:430;23829:66;23821:6;23817:79;23812:3;23805:92;23787:3;23926:6;23920:13;23942:74;24009:6;24005:1;24000:3;23996:11;23989:4;23981:6;23977:17;23942:74;:::i;:::-;24036:16;;;;24054:1;24032:24;;23632:430;-1:-1:-1;;;23632:430:162:o;24067:287::-;24196:3;24234:6;24228:13;24250:66;24309:6;24304:3;24297:4;24289:6;24285:17;24250:66;:::i;:::-;24332:16;;;;;24067:287;-1:-1:-1;;24067:287:162:o;24359:277::-;24426:6;24479:2;24467:9;24458:7;24454:23;24450:32;24447:52;;;24495:1;24492;24485:12;24447:52;24527:9;24521:16;24580:5;24573:13;24566:21;24559:5;24556:32;24546:60;;24602:1;24599;24592:12;24872:184;-1:-1:-1;;;24921:1:162;24914:88;25021:4;25018:1;25011:15;25045:4;25042:1;25035:15;25061:151;25151:4;25144:12;;;25130;;;25126:31;;25169:14;;25166:40;;;25186:18;;:::i;25217:125::-;25282:9;;;25303:10;;;25300:36;;;25316:18;;:::i;25347:184::-;-1:-1:-1;;;25396:1:162;25389:88;25496:4;25493:1;25486:15;25520:4;25517:1;25510:15;26229:463;-1:-1:-1;;;;;;26467:6:162;26463:79;26452:9;26445:98;26579:6;26574:2;26563:9;26559:18;26552:34;26622:2;26617;26606:9;26602:18;26595:30;26426:4;26642:44;26682:2;26671:9;26667:18;26659:6;26642:44;:::i;26950:184::-;-1:-1:-1;;;26999:1:162;26992:88;27099:4;27096:1;27089:15;27123:4;27120:1;27113:15;27139:321;27347:6;27336:9;27329:25;27390:2;27385;27374:9;27370:18;27363:30;27310:4;27410:44;27450:2;27439:9;27435:18;27427:6;27410:44;:::i;28024:781::-;28074:3;28115:5;28109:12;28144:36;28170:9;28144:36;:::i;:::-;28199:1;28216:17;;;28242:191;;;;28447:1;28442:357;;;;28209:590;;28242:191;28290:66;28279:9;28275:82;28270:3;28263:95;28413:6;28406:14;28399:22;28391:6;28387:35;28382:3;28378:45;28371:52;;28242:191;;28442:357;28473:5;28470:1;28463:16;28502:4;28547;28544:1;28534:18;28574:1;28588:165;28602:6;28599:1;28596:13;28588:165;;;28680:14;;28667:11;;;28660:35;28723:16;;;;28617:10;;28588:165;;;28592:3;;;28782:6;28777:3;28773:16;28766:23;;28209:590;;;;;28024:781;;;;:::o;28810:664::-;29160:66;29155:3;29148:79;29130:3;29246:47;29289:2;29284:3;29280:12;29272:6;29246:47;:::i;:::-;29313:66;29302:78;;29409:31;29404:2;29396:11;;29389:52;29465:2;29457:11;;28810:664;-1:-1:-1;;;28810:664:162:o;29997:694::-;30340:66;30335:3;30328:79;30310:3;30436:6;30430:13;30452:75;30520:6;30515:2;30510:3;30506:12;30499:4;30491:6;30487:17;30452:75;:::i;:::-;30591:66;30586:2;30546:16;;;;30578:11;;;30571:87;-1:-1:-1;30682:2:162;30674:11;;29997:694;-1:-1:-1;29997:694:162:o;30696:518::-;30798:2;30793:3;30790:11;30787:421;;;30834:5;30831:1;30824:16;30878:4;30875:1;30865:18;30948:2;30936:10;30932:19;30929:1;30925:27;30919:4;30915:38;30984:4;30972:10;30969:20;30966:47;;;-1:-1:-1;31007:4:162;30966:47;31062:2;31057:3;31053:12;31050:1;31046:20;31040:4;31036:31;31026:41;;31117:81;31135:2;31128:5;31125:13;31117:81;;;31194:1;31180:16;;31161:1;31150:13;31117:81;;31450:1464;31576:3;31570:10;31603:18;31595:6;31592:30;31589:56;;;31625:18;;:::i;:::-;31654:97;31744:6;31704:38;31736:4;31730:11;31704:38;:::i;:::-;31698:4;31654:97;:::i;:::-;31806:4;;31863:2;31852:14;;31880:1;31875:782;;;;32701:1;32718:6;32715:89;;;-1:-1:-1;32770:19:162;;;32764:26;32715:89;-1:-1:-1;;31347:1:162;31343:11;;;31339:84;31335:89;31325:100;31431:1;31427:11;;;31322:117;32817:81;;31845:1063;;31875:782;27971:1;27964:14;;;28008:4;27995:18;;-1:-1:-1;;31911:79:162;;;32088:236;32102:7;32099:1;32096:14;32088:236;;;32191:19;;;32185:26;32170:42;;32283:27;;;;32251:1;32239:14;;;;32118:19;;32088:236;;;32092:3;32352:6;32343:7;32340:19;32337:261;;;32413:19;;;32407:26;-1:-1:-1;;32496:1:162;32492:14;;;32508:3;32488:24;32484:97;32480:102;32465:118;32450:134;;32337:261;-1:-1:-1;;;;;32644:1:162;32628:14;;;32624:22;32611:36;;-1:-1:-1;31450:1464:162:o;32919:128::-;32986:9;;;33007:11;;;33004:37;;;33021:18;;:::i;33406:197::-;33534:3;33559:38;33593:3;33585:6;33559:38;:::i;33608:1546::-;33727:3;33721:4;33718:13;33715:26;;33734:5;;33608:1546::o;33715:26::-;33764:37;33796:3;33790:10;33764:37;:::i;:::-;33824:18;33816:6;33813:30;33810:56;;;33846:18;;:::i;:::-;33875:97;33965:6;33925:38;33957:4;33951:11;33925:38;:::i;33875:97::-;33998:1;34026:2;34018:6;34015:14;34043:1;34038:859;;;;34941:1;34958:6;34955:89;;;-1:-1:-1;35010:19:162;;;35004:26;34955:89;-1:-1:-1;;31347:1:162;31343:11;;;31339:84;31335:89;31325:100;31431:1;31427:11;;;31322:117;35057:81;;34008:1140;;34038:859;27971:1;27964:14;;;28008:4;27995:18;;;27964:14;;;27995:18;;;-1:-1:-1;;34074:79:162;;;34311:251;34325:7;34322:1;34319:14;34311:251;;;34407:21;;;34401:28;34386:44;;34457:1;34530:18;;;;34485:15;;;;34348:4;34341:12;34311:251;;;34315:3;34590:6;34581:7;34578:19;34575:263;;;34651:21;;34645:28;-1:-1:-1;;34748:3:162;34736:1;34732:14;;;34728:24;34724:97;34720:102;34705:118;34690:134;;;-1:-1:-1;;34884:1:162;34868:14;;;34864:22;34851:36;;-1:-1:-1;33608:1546:162:o;35159:925::-;-1:-1:-1;;;;;;35600:6:162;35596:79;35591:3;35584:92;35566:3;35695;35727:2;35723:1;35718:3;35714:11;35707:23;35759:6;35753:13;35775:74;35842:6;35838:1;35833:3;35829:11;35822:4;35814:6;35810:17;35775:74;:::i;:::-;35877:6;35872:3;35868:16;35858:26;;35912:2;35908:1;35904:2;35900:10;35893:22;35946:6;35940:13;35924:29;;35962:75;36028:8;36024:1;36020:2;36016:10;36009:4;36001:6;35997:17;35962:75;:::i;:::-;36057:17;36076:1;36053:25;;35159:925;-1:-1:-1;;;;;35159:925:162:o;36089:175::-;36126:3;36170:4;36163:5;36159:16;36199:4;36190:7;36187:17;36184:43;;36207:18;;:::i;:::-;36256:1;36243:15;;36089:175;-1:-1:-1;;36089:175:162:o;36269:439::-;36322:3;36360:5;36354:12;36387:6;36382:3;36375:19;36413:4;36442;36437:3;36433:14;36426:21;;36481:4;36474:5;36470:16;36504:1;36514:169;36528:6;36525:1;36522:13;36514:169;;;36589:13;;36577:26;;36623:12;;;;36658:15;;;;36550:1;36543:9;36514:169;;;-1:-1:-1;36699:3:162;;36269:439;-1:-1:-1;;;;;36269:439:162:o;36713:511::-;36964:2;36953:9;36946:21;36927:4;36990:56;37042:2;37031:9;37027:18;37019:6;36990:56;:::i;:::-;37094:14;37086:6;37082:27;37077:2;37066:9;37062:18;37055:55;37158:9;37150:6;37146:22;37141:2;37130:9;37126:18;37119:50;37186:32;37211:6;37203;37186:32;:::i;37229:615::-;37539:6;37528:9;37521:25;37582:3;37577:2;37566:9;37562:18;37555:31;37502:4;37609:57;37661:3;37650:9;37646:19;37638:6;37609:57;:::i;:::-;37714:14;37706:6;37702:27;37697:2;37686:9;37682:18;37675:55;37778:9;37770:6;37766:22;37761:2;37750:9;37746:18;37739:50;37806:32;37831:6;37823;37806:32;:::i;:::-;37798:40;37229:615;-1:-1:-1;;;;;;;37229:615:162:o;37849:445::-;38099:2;38088:9;38081:21;38138:1;38133:2;38122:9;38118:18;38111:29;38176:7;38171:2;38160:9;38156:18;38149:35;38222:3;38215:4;38204:9;38200:20;38193:33;38062:4;38243:45;38283:3;38272:9;38268:19;38260:6;38243:45;:::i;38299:168::-;38372:9;;;38403;;38420:15;;;38414:22;;38400:37;38390:71;;38441:18;;:::i;38472:908::-;38998:6;38987:9;38980:25;39041:6;39036:2;39025:9;39021:18;39014:34;39084:6;39079:2;39068:9;39064:18;39057:34;39127:6;39122:2;39111:9;39107:18;39100:34;39171:3;39165;39154:9;39150:19;39143:32;38961:4;39198:56;39249:3;39238:9;39234:19;39226:6;39198:56;:::i;:::-;39303:9;39295:6;39291:22;39285:3;39274:9;39270:19;39263:51;39331:43;39367:6;39359;39331:43;:::i;39385:707::-;39753:6;39742:9;39735:25;39796:3;39791:2;39780:9;39776:18;39769:31;39716:4;39823:57;39875:3;39864:9;39860:19;39852:6;39823:57;:::i;:::-;39928:4;39920:6;39916:17;39911:2;39900:9;39896:18;39889:45;39982:9;39974:6;39970:22;39965:2;39954:9;39950:18;39943:50;40010:32;40035:6;40027;40010:32;:::i;:::-;40002:40;;;40079:6;40073:3;40062:9;40058:19;40051:35;39385:707;;;;;;;;:::o;40287:174::-;40354:12;40386:10;;;40398;;;40382:27;;40421:11;;;40418:37;;;40435:18;;:::i;:::-;40418:37;40287:174;;;;:::o;41113:899::-;41536:6;41525:9;41518:25;41579:3;41574:2;41563:9;41559:18;41552:31;41499:4;41606:57;41658:3;41647:9;41643:19;41635:6;41606:57;:::i;:::-;41711:4;41699:17;;41694:2;41679:18;;41672:45;41736:12;41784:15;;;41779:2;41764:18;;41757:43;41837:15;;41831:3;41816:19;;41809:44;41884:3;41869:19;;41862:35;;;41934:22;;;41928:3;41913:19;;41906:51;41974:32;41938:6;41991;41974:32;:::i;:::-;41966:40;41113:899;-1:-1:-1;;;;;;;;;;41113:899:162:o;42017:787::-;42381:3;42370:9;42363:22;42344:4;42408:57;42460:3;42449:9;42445:19;42437:6;42408:57;:::i;:::-;42513:4;42505:6;42501:17;42496:2;42485:9;42481:18;42474:45;42567:14;42559:6;42555:27;42550:2;42539:9;42535:18;42528:55;42631:12;42623:6;42619:25;42614:2;42603:9;42599:18;42592:53;42682:6;42676:3;42665:9;42661:19;42654:35;42738:9;42730:6;42726:22;42720:3;42709:9;42705:19;42698:51;42766:32;42791:6;42783;42766:32;:::i;42809:639::-;43059:6;43054:3;43047:19;43029:3;43085:2;43118;43113:3;43109:12;43150:6;43144:13;43215:2;43207:6;43203:15;43236:1;43246:175;43260:6;43257:1;43254:13;43246:175;;;43323:13;;43309:28;;43359:14;;;;43396:15;;;;43282:1;43275:9;43246:175;;;-1:-1:-1;43437:5:162;;42809:639;-1:-1:-1;;;;;;;42809:639:162:o;43453:649::-;43533:6;43586:2;43574:9;43565:7;43561:23;43557:32;43554:52;;;43602:1;43599;43592:12;43554:52;43635:9;43629:16;43668:18;43660:6;43657:30;43654:50;;;43700:1;43697;43690:12;43654:50;43723:22;;43776:4;43768:13;;43764:27;-1:-1:-1;43754:55:162;;43805:1;43802;43795:12;43754:55;43834:2;43828:9;43859:49;43875:32;43904:2;43875:32;:::i;43859:49::-;43931:2;43924:5;43917:17;43971:7;43966:2;43961;43957;43953:11;43949:20;43946:33;43943:53;;;43992:1;43989;43982:12;43943:53;44005:67;44069:2;44064;44057:5;44053:14;44048:2;44044;44040:11;44005:67;:::i;44107:764::-;44497:14;44492:3;44485:27;44467:3;44541:6;44535:13;44557:75;44625:6;44620:2;44615:3;44611:12;44604:4;44596:6;44592:17;44557:75;:::i;:::-;44696:3;44691:2;44651:16;;;44683:11;;;44676:24;44725:13;;44747:76;44725:13;44809:2;44801:11;;44794:4;44782:17;;44747:76;:::i;:::-;44843:17;44862:2;44839:26;;44107:764;-1:-1:-1;;;;44107:764:162:o;44876:689::-;45210:3;45199:9;45192:22;45173:4;45237:57;45289:3;45278:9;45274:19;45266:6;45237:57;:::i;:::-;45342:9;45334:6;45330:22;45325:2;45314:9;45310:18;45303:50;45376:32;45401:6;45393;45376:32;:::i;:::-;45362:46;;45444:6;45439:2;45428:9;45424:18;45417:34;45499:9;45491:6;45487:22;45482:2;45471:9;45467:18;45460:50;45527:32;45552:6;45544;45527:32;:::i;45570:896::-;46023:6;46012:9;46005:25;46066:3;46061:2;46050:9;46046:18;46039:31;45986:4;46093:57;46145:3;46134:9;46130:19;46122:6;46093:57;:::i;:::-;46198:9;46190:6;46186:22;46181:2;46170:9;46166:18;46159:50;46232:32;46257:6;46249;46232:32;:::i;:::-;46218:46;;46300:6;46295:2;46284:9;46280:18;46273:34;46356:9;46348:6;46344:22;46338:3;46327:9;46323:19;46316:51;46384:32;46409:6;46401;46384:32;:::i;:::-;46376:40;;;46453:6;46447:3;46436:9;46432:19;46425:35;45570:896;;;;;;;;;:::o;46754:184::-;-1:-1:-1;;;46803:1:162;46796:88;46903:4;46900:1;46893:15;46927:4;46924:1;46917:15;47203:261;47382:2;47371:9;47364:21;47345:4;47402:56;47454:2;47443:9;47439:18;47431:6;47402:56;:::i;47469:466::-;47767:6;47756:9;47749:25;47810:2;47805;47794:9;47790:18;47783:30;47730:4;47830:56;47882:2;47871:9;47867:18;47859:6;47830:56;:::i;:::-;47822:64;;47922:6;47917:2;47906:9;47902:18;47895:34;47469:466;;;;;;:::o;48955:492::-;49130:3;49168:6;49162:13;49184:66;49243:6;49238:3;49231:4;49223:6;49219:17;49184:66;:::i;:::-;49313:13;;49272:16;;;;49335:70;49313:13;49272:16;49382:4;49370:17;;49335:70;:::i;:::-;49421:20;;48955:492;-1:-1:-1;;;;48955:492:162:o;49452:546::-;49774:6;49763:9;49756:25;49817:3;49812:2;49801:9;49797:18;49790:31;49737:4;49838:57;49890:3;49879:9;49875:19;49867:6;49838:57;:::i;:::-;49943:4;49931:17;;;;49926:2;49911:18;;49904:45;-1:-1:-1;49980:2:162;49965:18;49958:34;49830:65;49452:546;-1:-1:-1;;49452:546:162:o;50003:184::-;50073:6;50126:2;50114:9;50105:7;50101:23;50097:32;50094:52;;;50142:1;50139;50132:12;50094:52;-1:-1:-1;50165:16:162;;50003:184;-1:-1:-1;50003:184:162:o;50192:274::-;50232:1;50258;50248:189;;-1:-1:-1;;;50290:1:162;50283:88;50394:4;50391:1;50384:15;50422:4;50419:1;50412:15;50248:189;-1:-1:-1;50451:9:162;;50192:274::o;50471:359::-;50674:2;50663:9;50656:21;50637:4;50694:44;50734:2;50723:9;50719:18;50711:6;50694:44;:::i;:::-;50769:2;50754:18;;50747:34;;;;-1:-1:-1;50812:2:162;50797:18;50790:34;50686:52;50471:359;-1:-1:-1;50471:359:162:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","deleteRecord(bytes32,bytes32[])":"505a181d","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","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","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","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","setUp()":"0a9254e4","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAccessControl()":"cd9847bc","testRequireAccess()":"ee982889","testRequireAccessRevert()":"560e0861","testRequireOwner()":"24476f73","testRequireOwnerRevert()":"3b533860","unregisterStoreHook(bytes32,address)":"05609129"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"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\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"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\":[],\"name\":\"setUp\",\"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\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAccessControl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireAccessRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireOwnerRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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.\"}}],\"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.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"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\":{\"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.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The protocol version of the Store.\"}}},\"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.\"}],\"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.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store 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\":{\"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.\"},\"storeVersion()\":{\"notice\":\"Retrieves the protocol version of the Store.\"},\"testRequireAccess()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"},\"testRequireAccessRevert()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"},\"testRequireOwnerRevert()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/AccessControl.t.sol\":\"AccessControlTest\"},\"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/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x60fcfd28b812fcd1e9ead75f0513c70ba36a87e3b2f01fe78f85bd3f3cf8d85e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830b8896c26dd96f9b4c209e4c67910ea31938e8bd5721563e961ef44c88ea0d\",\"dweb:/ipfs/QmSHTDowBnhy7rvbWv9JHAfiLhLvDVRatcpoedHQE4fU1K\"]},\"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/Store.sol\":{\"keccak256\":\"0x8dcf87de5dbb768ea776ba17498a19cf74fbc454b1dfb239d52e42b7eaeeff0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c868cb7b9f67cc71603aa86f1e5a38caff01133434067359fbfe816dd5562116\",\"dweb:/ipfs/QmWo8pkuJYYCzunTw2dHVKyP6DbwHFAD328Xay3tHApeGr\"]},\"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\"]},\"node_modules/@latticexyz/store/test/StoreMock.sol\":{\"keccak256\":\"0x62f8499d3e156cdc90d081afbb836f1425698d24812dd479d6c299d0a2745b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0540c99beddefea43c509ec192f3fa4d8d885fdaf16fedb1e12fca72efd5bd67\",\"dweb:/ipfs/Qmaw9p8gW9RiQVMHM14L6K8TwiHgD7MWMrFbZ3nuW7WdHe\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"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\"]},\"test/AccessControl.t.sol\":{\"keccak256\":\"0x11fd5bee9deef0d8815d39886f6b7bcacf07c210b159e8a4faec88e2a5fd9b3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2688ffdf5bdd138e41b1dda057a3f950401755002b3e648c89efea2944df6490\",\"dweb:/ipfs/QmbxXnxFoFVKtdbLSKtcgxDPTYcYqcAtBUzwcUMukAqy8W\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"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":[{"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":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","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":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"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":"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":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"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":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"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":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAccessControl"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireAccess"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireAccessRevert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireOwner"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireOwnerRevert"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"}],"devdoc":{"kind":"dev","methods":{"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."}},"storeVersion()":{"returns":{"_0":"The protocol version of the Store."}}},"version":1},"userdoc":{"kind":"user","methods":{"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."},"storeVersion()":{"notice":"Retrieves the protocol version of the Store."},"testRequireAccess()":{"notice":"forge-config: default.allow_internal_expect_revert = true"},"testRequireAccessRevert()":{"notice":"forge-config: default.allow_internal_expect_revert = true"},"testRequireOwnerRevert()":{"notice":"forge-config: default.allow_internal_expect_revert = true"}},"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":{"test/AccessControl.t.sol":"AccessControlTest"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x60fcfd28b812fcd1e9ead75f0513c70ba36a87e3b2f01fe78f85bd3f3cf8d85e","urls":["bzz-raw://830b8896c26dd96f9b4c209e4c67910ea31938e8bd5721563e961ef44c88ea0d","dweb:/ipfs/QmSHTDowBnhy7rvbWv9JHAfiLhLvDVRatcpoedHQE4fU1K"],"license":"MIT"},"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/Store.sol":{"keccak256":"0x8dcf87de5dbb768ea776ba17498a19cf74fbc454b1dfb239d52e42b7eaeeff0d","urls":["bzz-raw://c868cb7b9f67cc71603aa86f1e5a38caff01133434067359fbfe816dd5562116","dweb:/ipfs/QmWo8pkuJYYCzunTw2dHVKyP6DbwHFAD328Xay3tHApeGr"],"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"},"node_modules/@latticexyz/store/test/StoreMock.sol":{"keccak256":"0x62f8499d3e156cdc90d081afbb836f1425698d24812dd479d6c299d0a2745b14","urls":["bzz-raw://0540c99beddefea43c509ec192f3fa4d8d885fdaf16fedb1e12fca72efd5bd67","dweb:/ipfs/Qmaw9p8gW9RiQVMHM14L6K8TwiHgD7MWMrFbZ3nuW7WdHe"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"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"},"test/AccessControl.t.sol":{"keccak256":"0x11fd5bee9deef0d8815d39886f6b7bcacf07c210b159e8a4faec88e2a5fd9b3c","urls":["bzz-raw://2688ffdf5bdd138e41b1dda057a3f950401755002b3e648c89efea2944df6490","dweb:/ipfs/QmbxXnxFoFVKtdbLSKtcgxDPTYcYqcAtBUzwcUMukAqy8W"],"license":"MIT"}},"version":1},"id":137}
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"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":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"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":"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":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"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":"setUp","inputs":[],"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":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAccessControl","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireAccess","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireAccessRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireOwner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequireOwnerRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","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":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","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":"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"}]}],"bytecode":{"object":"0x60806040525f8054600160ff1991821681179092556004805490911690911790555a601c5534801562000030575f80fd5b50620000565f8051602062008d8083398151915280546001600160a01b03191630179055565b60405164191718171960d91b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c005905f90a2620000ad5f8051602062008d8083398151915280546001600160a01b03191630179055565b620000b7620000de565b5f8051602062008d8083398151915280546001600160a01b0319163017905562002013565b565b620001097f746273746f72650000000000000000005461626c65730000000000000000000062000305565b156200017157604080517f746273746f72650000000000000000005461626c6573000000000000000000006020820181905291015b60408051601f198184030181529082905263dfaaf9cf60e01b825262000168929160040162001c86565b60405180910390fd5b6200018a5f8051602062008da083398151915262000305565b15620001b257604080515f8051602062008da08339815191526020820181905291016200013e565b620002537f746273746f72650000000000000000005461626c6573000000000000000000006503001811010160cd1b632001005f60d81b671800c097d7d7f13160ba1b620001ff6200037e565b60405160200162000211919062001cfc565b60408051601f198184030181529190526200022b620003f0565b6040516020016200023d919062001cfc565b60408051601f1981840301815291905262000584565b620002b35f8051602062008da0833981519152630101000160d81b632001005f60d81b6208080360dd1b6200028762000656565b60405160200162000299919062001cfc565b60408051601f198184030181529190526200022b620006bd565b620002e07f746273746f72650000000000000000005461626c657300000000000000000000600162000720565b620002fb5f8051602062008da0833981519152600162000720565b620000dc620007b6565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106200033f576200033f62001d10565b60209081029190910101525f6200036e5f8051602062008da08339815191528383630101000160d81b62000807565b905060f881901c5b949350505050565b604080516001808252818301909252606091816020015b606081526020019060019003908162000395579050509050604051806040016040528060078152602001661d18589b19525960ca1b815250815f81518110620003e257620003e262001d10565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081620004085790505090506040518060400160405280600b81526020016a199a595b1913185e5bdd5d60aa1b815250815f8151811062000459576200045962001d10565b6020026020010181905250604051806040016040528060098152602001686b6579536368656d6160b81b815250816001815181106200049c576200049c62001d10565b60200260200101819052506040518060400160405280600b81526020016a76616c7565536368656d6160a81b81525081600281518110620004e157620004e162001d10565b602002602001018190525060405180604001604052806012815260200171616269456e636f6465644b65794e616d657360701b815250816003815181106200052d576200052d62001d10565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600481518110620003e257620003e262001d10565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f620005bc848462000842565b90505f620005cb85856200085e565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f8151811062000606576200060662001d10565b60209081029190910101526200064a7f746273746f72650000000000000000005461626c657300000000000000000000828686866503001811010160cd1b6200088d565b50505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816200066d5790505090506040518060400160405280600a8152602001691c995cdbdd5c98d9525960b21b815250815f81518110620003e257620003e262001d10565b604080516001808252818301909252606091816020015b6060815260200190600190039081620006d45790505090506040518060400160405280600681526020016565786973747360d01b815250815f81518110620003e257620003e262001d10565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811062000757576200075762001d10565b602002602001018181525050620007b15f8051602062008da08339815191525f1b825f856040516020016200079391151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b62000b54565b505050565b620000dc7f746273746f726500000000000000000053746f7265486f6f6b73000000000000600160e01b632001005f60d81b60db60d91b620007f76200037e565b6200080162000b74565b62000bd6565b5f6200083962000818868662000c7b565b60ff858116601b0360080285901c1662000833858762000cd2565b62000d0e565b95945050505050565b5f620008578351835162000d6360201b60201c565b9392505050565b606082826040516020016200087592919062001d24565b60405160208183030381529060405290505b92915050565b611bdd60f21b866001600160f01b03191603620008d857855f8051602062008d6083398151915286868686604051620008ca949392919062001d92565b60405180910390a262000b4c565b5f620008e48762000d78565b90505f5b81518110156200099f575f82828151811062000908576200090862001d10565b602090810291909101015190506200092c6001600160581b03198216600162000e0c565b1562000995576040516315c19b2760e21b8152606082901c906357066c9c9062000965908c908c908c908c908c908c9060040162001de1565b5f604051808303815f87803b1580156200097d575f80fd5b505af115801562000990573d5f803e3d5ffd5b505050505b50600101620008e8565b50865f8051602062008d6083398151915287878787604051620009c6949392919062001d92565b60405180910390a25f620009db888862000c7b565b90505f602087019050620009f9825f89518462000e3060201b60201c565b5f62000a058562000ef6565b111562000a93575f62000a198a8a62000f3a565b87815590506020860191505f805f5b62000a338862000ef6565b8160ff16101562000a8e5762000a4b8d8d8362000f91565b925062000a678a8260ff166028026038011c64ffffffffff1690565b915062000a77835f848862000e30565b62000a83828662001e53565b945060010162000a28565b505050505b5f5b83518110156200064a575f84828151811062000ab55762000ab562001d10565b6020908102919091010151905062000ad96001600160581b03198216600262000e0c565b1562000b4257604051635b28cdaf60e01b8152606082901c90635b28cdaf9062000b12908e908e908e908e908e908e9060040162001de1565b5f604051808303815f87803b15801562000b2a575f80fd5b505af115801562000b3d573d5f803e3d5ffd5b505050505b5060010162000a95565b505050505050565b62000b6d858562000b66848762000cd2565b8562000ff9565b5050505050565b604080516001808252818301909252606091816020015b606081526020019060019003908162000b8b57905050905060405180604001604052806005815260200164686f6f6b7360d81b815250815f81518110620003e257620003e262001d10565b5f62000be16200120b565b9050306001600160a01b0382160362000c0a5762000c0487878787878762001238565b62000c72565b604051630ba51f4960e01b81526001600160a01b03821690630ba51f499062000c42908a908a908a908a908a908a9060040162001e69565b5f604051808303815f87803b15801562000c5a575f80fd5b505af115801562000c6d573d5f803e3d5ffd5b505050505b50505050505050565b5f828260405160200162000c9192919062001eb6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff1681101562000d065762000cfb60ff601b83900360080287901c168362001e53565b915060010162000cd6565b509392505050565b5f6020821062000d375760208204840193506020828162000d335762000d3362001ef2565b0691505b508254600882021b60208290038084111562000d06576001850154600882021c82179150509392505050565b606081901b603883901b838301171792915050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811062000db35762000db362001d10565b60209081029190910101525f62000dec7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383620015e1565b90506200037662000e06825f84516200162160201b60201c565b62001693565b5f60ff82168262000e1d8560581c90565b1660ff1614905092915050565b60200190565b821562000eb0576020831062000e5f5760208304840193506020838162000e5b5762000e5b62001ef2565b0692505b821562000eb05760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841162000ea157505062000ef0565b50600194909401939182900391015b5b6020821062000ed45780518455600190930192601f199091019060200162000eb1565b811562000ef057835481515f19600885021c9182169119161784555b50505050565b5f600860018062000f0a6002602062001f06565b62000f16919062001f06565b62000f22919062001f06565b62000f2e919062001f1c565b8260ff911c1692915050565b5f828260405160200162000f5092919062001eb6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f838360405160200162000fa792919062001eb6565b604051602081830303815290604052805190602001208260f81b6001600160f81b0319167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b611bdd60f21b846001600160f01b031916036200104257835f8051602062008d40833981519152848484604051620010349392919062001f36565b60405180910390a262000ef0565b5f6200104f858562000c7b565b90505f6200105d8662000d78565b90505f5b815181101562001114575f82828151811062001081576200108162001d10565b60209081029190910101519050620010a56001600160581b03198216600462000e0c565b156200110a5760405163964f667d60e01b8152606082901c9063964f667d90620010da908b908b908b908b9060040162001f76565b5f604051808303815f87803b158015620010f2575f80fd5b505af115801562001105573d5f803e3d5ffd5b505050505b5060010162001061565b50855f8051602062008d40833981519152868686604051620011399392919062001f36565b60405180910390a2620011568265ffffffffffff861685620016a4565b5f5b815181101562000c72575f82828151811062001178576200117862001d10565b602090810291909101015190506200119c6001600160581b03198216600862000e0c565b15620012015760405163a8ba872160e01b8152606082901c9063a8ba872190620011d1908b908b908b908b9060040162001f76565b5f604051808303815f87803b158015620011e9575f80fd5b505af1158015620011fc573d5f803e3d5ffd5b505050505b5060010162001158565b5f8051602062008d80833981519152545f906001600160a01b03168062001233573391505090565b919050565b613a3160f11b866001600160f01b03191614801590620012675750611bdd60f21b866001600160f01b03191614155b15620012b357613a3160f11b86876040516020016200128891815260200190565b60408051601f19818403018152908290526331b4668360e01b82526200016893929160040162001fb2565b620012be85620016c3565b620012cb84600162001873565b620012d7835f62001873565b60e084901c60e885901c0160ff16825114620013205760e084901c60e885901c0160ff1682516040516301ee597360e31b81526004810192909252602482015260440162000168565b60e085901c60e886901c0160ff16815114620013685760e085901c60e886901c0160ff168151604051621f7b1360ea1b81526004810192909252602482015260440162000168565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614620013c95760e085901c60e886901c0160ff1660e084901c60e885901c0160ff16604051631e53a9b160e31b81526004810192909252602482015260440162000168565b620013d485620019f6565b620013df84620019f6565b146200141e57620013f085620019f6565b620013fb84620019f6565b6040516365cc0adf60e01b81526004810192909252602482015260440162000168565b620014298562000ef6565b620014348462000ef6565b146200147357620014458562000ef6565b620014508462000ef6565b60405163edea958760e01b81526004810192909252602482015260440162000168565b5f5b6200148086620019f6565b8110156200151057620014b262001498858362001a09565b60c5811115620014ac57620014ac62001fd9565b62001a2c565b6008601b8390030287901c60ff161462001507576008601b8290030286901c60ff16620014e462001498868462001a09565b6040516309531f6d60e21b81526004810192909252602482015260440162000168565b60010162001475565b505f6200153b613a3160f11b620015278960101b90565b60101c6001600160f01b0319919091161790565b90505f62001553611bdd60f21b620015278a60101b90565b9050620015608262000305565b80620015725750620015728162000305565b156200158d5787886040516020016200013e91815260200190565b620015ca8888888888604051602001620015a8919062001cfc565b604051602081830303815290604052886040516020016200023d919062001cfc565b620015d788600162000720565b5050505050505050565b606062000376620015f485858562000f91565b5f6200161b8562001606898962001a8c565b9060ff166028026038011c64ffffffffff1690565b62001aa1565b5f81831180620016315750835182115b1562001658578383836040516323230fa360e01b8152600401620001689392919062001fed565b6020840162001668848262001e53565b90505f62001677858562001f06565b6001600160801b031660809290921b9190911795945050505050565b60605f620008578360158362001ac6565b620007b183838351620016bd8562000e2a60201b60201c565b62000e30565b80620016e25760405163500cf26d60e11b815260040160405180910390fd5b5f620016ee8262000ef6565b905060058111156200171e576040516333c9efb160e11b8152600481018290526005602482015260440162000168565b5f6200172a83620019f6565b90505f62001739838362001e53565b9050601c811115620017695760405163ecd893b960e01b815260048101829052601c602482015260440162000168565b5f805b83811015620017e85760ff601b82900360080287901c165f819003620017a9576040516353b2dd0560e01b81526004810183905260240162000168565b6020811115620017d057604051637237f23760e01b81526004810183905260240162000168565b620017dc818462001e53565b9250506001016200176c565b50620017f48562001b3b565b81146200182b57620018068562001b3b565b6040516375d4b26f60e11b815260048101919091526024810182905260440162000168565b825b601c81101562000b4c5760ff601b82900360080287901c1680156200186957604051631d8d44db60e01b81526004810183905260240162000168565b506001016200182d565b8015801562001880575081155b15620018a25760405163d498615960e01b81525f600482015260240162000168565b5f620018ae8362000ef6565b90506005811115620018d75760405163d498615960e01b81526004810182905260240162000168565b5f620018e384620019f6565b90505f620018f2838362001e53565b9050601c8111156200191b5760405163d498615960e01b81526004810182905260240162000168565b5f805b8381101562001973575f6200193862001498898462001a09565b9050805f036200195b576040516307a25a1160e51b815260040160405180910390fd5b62001967818462001e53565b9250506001016200191e565b506200197f8662001b3b565b8114620019ae57620019918662001b3b565b60405163d498615960e01b81526004016200016891815260200190565b825b8281101562000c72575f620019ca62001498898462001a09565b90508015620019ec576040516307a25a1160e51b815260040160405180910390fd5b50600101620019b0565b5f6008600162000f166002602062001f06565b5f601b8290036008028360ff911c1660c581111562000857576200085762001fd9565b5f808260c581111562001a435762001a4362001fd9565b60ff169050606181101562001a5e57601f1660010192915050565b60618360c581111562001a755762001a7562001fd9565b0362001a845750601492915050565b505f92915050565b5f6200085762001a9d848462000f3a565b5490565b60405160208101601f19603f848401011660405282825262000d068585858462001b61565b60605f62001ad48560801c90565b90506001600160801b0385165f85828162001af35762001af362001ef2565b0490506040519350602084016020820281016040528185525f5b8281101562001b2f578451871c82529387019360209091019060010162001b0d565b50505050509392505050565b5f600862001b4c6002602062001f06565b62001b58919062001f1c565b9190911c919050565b821562001bef576020831062001b905760208304840193506020838162001b8c5762001b8c62001ef2565b0692505b821562001bef5760208390035f8184101562001bb457505f19600884021c62001bbd565b505f19600882021c5b8554600886021b81845116821982161784525081841162001be057505062000ef0565b50600194909401939182900391015b5b6020821062001c135783548152600190930192601f199091019060200162001bf0565b811562000ef0575f5f19600884021c8251865482191691161782525050505050565b5f5b8381101562001c5157818101518382015260200162001c37565b50505f910152565b5f815180845262001c7281602086016020860162001c35565b601f01601f19169290920160200192915050565b828152604060208201525f62000376604083018462001c59565b5f8282518085526020808601955060208260051b840101602086015f5b8481101562001cef57601f1986840301895262001cdc83835162001c59565b9884019892509083019060010162001cbd565b5090979650505050505050565b602081525f62000857602083018462001ca0565b634e487b7160e01b5f52603260045260245ffd5b5f835162001d3781846020880162001c35565b83519083019062001d4d81836020880162001c35565b01949350505050565b5f815180845260208085019450602084015f5b8381101562001d875781518752958201959082019060010162001d69565b509495945050505050565b608081525f62001da6608083018762001d56565b828103602084015262001dba818762001c59565b9050846040840152828103606084015262001dd6818562001c59565b979650505050505050565b86815260c060208201525f62001dfb60c083018862001d56565b828103604084015262001e0f818862001c59565b9050856060840152828103608084015262001e2b818662001c59565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562000887576200088762001e3f565b86815285602082015284604082015283606082015260c060808201525f62001e9560c083018562001ca0565b82810360a084015262001ea9818562001ca0565b9998505050505050505050565b8281525f60208083018451602086015f5b8281101562001ee55781518452928401929084019060010162001ec7565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8181038181111562000887576200088762001e3f565b808202811582820484141762000887576200088762001e3f565b606081525f62001f4a606083018662001d56565b65ffffffffffff85166020840152828103604084015262001f6c818562001c59565b9695505050505050565b848152608060208201525f62001f90608083018662001d56565b65ffffffffffff85166040840152828103606084015262001dd6818562001c59565b61ffff60f01b84168152826020820152606060408201525f62000839606083018462001c59565b634e487b7160e01b5f52602160045260245ffd5b606081525f62002001606083018662001c59565b60208301949094525060400152919050565b616d1f80620020215f395ff3fe608060405234801561000f575f80fd5b50600436106102d8575f3560e01c806366d9a9a011610187578063cc49db7e116100dd578063dbbf0e2111610093578063ee9828891161006e578063ee982889146105b9578063ef6ea862146105c1578063fa7626d4146105d4575f80fd5b8063dbbf0e211461058b578063e20c9f711461059e578063e228a4a3146105a6575f80fd5b8063d03edb8c116100c3578063d03edb8c14610552578063d4285dc214610565578063d9c03a0414610578575f80fd5b8063cc49db7e14610537578063cd9847bc1461054a575f80fd5b8063a53417ed1161013d578063ba414fa611610118578063ba414fa6146104e6578063c0a2895a146104fe578063c112222914610511575f80fd5b8063a53417ed146104b8578063b047c1eb146104cb578063b5508aa9146104de575f80fd5b80638c364d591161016d5780638c364d591461048a578063916a17c61461049d5780639f1fcf0a146104a5575f80fd5b806366d9a9a01461046057806385226c8114610475575f80fd5b80633708196e1161023c5780633f7286f4116101f2578063505a181d116101cd578063505a181d14610432578063530f4b6014610445578063560e086114610458575f80fd5b80633f7286f4146103f5578063419b58fd146103fd5780634dc77d971461041f575f80fd5b80633a77c2c2116102225780633a77c2c2146103c45780633b533860146103e55780633e5e3c23146103ed575f80fd5b80633708196e1461039e578063390baae0146103b1575f80fd5b8063150f3262116102915780631ed7831c116102775780631ed7831c1461036e57806324476f7314610383578063298314fb1461038b575f80fd5b8063150f3262146103485780631e7889771461035b575f80fd5b80630a9254e4116102c15780630a9254e41461031a5780630ba51f4914610322578063114a726614610335575f80fd5b806305242d2f146102dc5780630560912914610305575b5f80fd5b6102ef6102ea366004615642565b6105e0565b6040516102fc91906156f0565b60405180910390f35b610318610313366004615718565b61062c565b005b61031861063a565b610318610330366004615742565b6106df565b61031861034336600461580f565b610709565b61031861035636600461580f565b610782565b6102ef610369366004615896565b6107f3565b61037661083c565b6040516102fc91906158f0565b61031861089c565b61031861039936600461593c565b61090b565b6103186103ac3660046159cd565b6109af565b6103186103bf3660046159cd565b610a2b565b6103d76103d2366004615a5c565b610a9e565b6040519081526020016102fc565b610318610aae565b610376610b99565b610376610bf7565b61041061040b366004615a73565b610c55565b6040516102fc93929190615ac2565b6102ef61042d366004615bc0565b610ca8565b610318610440366004615c24565b610cb7565b610318610453366004615c68565b610cc1565b610318610cd1565b610468610dbc565b6040516102fc9190615ca1565b61047d610ebb565b6040516102fc9190615de0565b6103d7610498366004615642565b610f86565b610468610fc7565b6103d76104b3366004615df2565b6110bd565b6103d76104c6366004615e4d565b6110d2565b6103186104d9366004615e97565b6110e8565b61047d611159565b6104ee611224565b60405190151581526020016102fc565b61031861050c366004615f1e565b61135e565b7f322e302e320000000000000000000000000000000000000000000000000000006103d7565b610410610545366004615fa4565b6113d2565b610318611422565b6102ef610560366004615896565b6115f9565b6103d7610573366004615a5c565b611639565b610318610586366004615642565b611643565b6103d7610599366004615e4d565b61168a565b610376611696565b6103d76105b4366004615a5c565b6116f4565b6103186116fe565b6103186105cf36600461580f565b6118f1565b5f546104ee9060ff1681565b6060610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506119629050565b9695505050505050565b61063682826119a7565b5050565b6106426119d2565b61064a611a53565b61069a613a3160f11b7f6e616d65737061636500000000000000000000000000000000000000000000007f6e616d6500000000000000000000000000000000000000000000000000000000611ae7565b601f557f6e736e616d65737061636500000000000000000000000000000000000000000060208190556106cd9030611b46565b6106dd601f546101236001611c1f565b565b6106ff888888886106f0888a616013565b6106fa8789616013565b611cec565b5050505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215292505050565b505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061216792505050565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061219f915050565b95945050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610874575b5050505050905090565b5f601f5490506108c3604051806060016040528060228152602001616c1d602291396121d8565b6108cd813061247b565b6108d5612503565b6108f6604051806060016040528060228152602001616b53602291396121d8565b610900813061247b565b610908612503565b50565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061276c92505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250612782915050565b50505050505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f920191909152508892506127c5915050565b5f610aa8826127da565b92915050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610adc8461285d565b6001604051602401610aef9291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610b61916004016156f0565b5f604051808303815f87803b158015610b78575f80fd5b505af1158015610b8a573d5f803e3d5ffd5b5050505061090881600161247b565b6060600f80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b60605f6060610c98878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061298a915050565b9250925092509450945094915050565b60606106228686868686612a8b565b6106368282612b8b565b610ccc838383612b9e565b505050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610cff8461285d565b6001604051602401610d129291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610d84916004016156f0565b5f604051808303815f87803b158015610d9b575f80fd5b505af1158015610dad573d5f803e3d5ffd5b50505050610908816001612c74565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e9a57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e475790505b50505050508152505081526020019060010190610ddf565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054610efb906160e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f27906160e4565b8015610f725780601f10610f4957610100808354040283529160200191610f72565b820191905f5260205f20905b815481529060010190602001808311610f5557829003601f168201915b505050505081526020019060010190610ede565b5f610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150612c8b9050565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a557602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110525790505b50505050508152505081526020019060010190610fea565b5f61083385858585612cb7565b949350505050565b5f6110de848484612cfe565b90505b9392505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250612d1392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054611199906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546111c5906160e4565b80156112105780601f106111e757610100808354040283529160200191611210565b820191905f5260205f20905b8154815290600101906020018083116111f357829003601f168201915b50505050508152602001906001019061117c565b5f8054610100900460ff161561124257505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156113595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093525f9290916112e5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616116565b60408051601f19818403018152908290526112ff9161615d565b5f604051808303815f865af19150503d805f8114611338576040519150601f19603f3d011682016040523d82523d5f602084013e61133d565b606091505b50915050808060200190518101906113559190616178565b9150505b919050565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f92019190915250612f6b92505050565b60605f6060611413868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612f8392505050565b92509250925093509350939050565b5f601f5490505f60205490505f61146d6040518060400160405280601f81526020017f416363657373436f6e74726f6c3a206861734163636573732028636f6c6429008152506121d8565b611478836001612fa8565b9050611482612503565b6114a4816040518060600160405280602a8152602001616c62602a9139613005565b6114b082600180611c1f565b6114d16040518060600160405280602f8152602001616bc2602f91396121d8565b6114dc836001612fa8565b90506114e6612503565b611508816040518060600160405280602a8152602001616b98602a913961300c565b6115148260015f611c1f565b6115526040518060400160405280601f81526020017f416363657373436f6e74726f6c3a2068617341636365737320287761726d29008152506121d8565b61155d836001612fa8565b9050611567612503565b61158981604051806060016040528060308152602001616ce360309139613005565b61159583600180611c1f565b6115c16115a3846001612fa8565b6040518060600160405280602c8152602001616bf1602c913961300c565b6115cd8360015f611c1f565b610ccc6115db846001612fa8565b6040518060600160405280602c8152602001616c8c602c9139613005565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250613051915050565b5f610aa882613067565b611683858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506130949050565b5050505050565b5f6110de8484846130ea565b6060600c80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b5f610aa8826130f9565b5f601f549050611725604051806060016040528060238152602001616c3f602391396121d8565b61173181610123612c74565b611739612503565b61175a604051806060016040528060238152602001616b75602391396121d8565b61176681610123612c74565b61176e612503565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156117d1575f80fd5b505af11580156117e3573d5f803e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb3915063d787b73760e01b90506118158461285d565b306040516024016118279291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252611899916004016156f0565b5f604051808303815f87803b1580156118b0575f80fd5b505af11580156118c2573d5f803e3d5ffd5b505050506118e76040518060600160405280602b8152602001616cb8602b91396121d8565b6109008130612c74565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061311e92505050565b606061196d82613156565b8360ff16101561198a5761198385858585613187565b90506110ca565b611983858561199885613156565b6119a290876161ab565b61219f565b6106367f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b4565b6106dd7f7462776f726c640000000000000000005265736f757263654163636573730000630101000160d81b7e3402005f6100000000000000000000000000000000000000000000000000007e01010060000000000000000000000000000000000000000000000000000000611a466132d8565b611a4e6133af565b613425565b6106dd7f7462776f726c640000000000000000004e616d6573706163654f776e657200007e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000611adf6134d8565b611a4e61354e565b5f611af4607060106161c4565b6001600160f01b031985167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110611b7a57611b7a6161d7565b602002602001018181525050610ccc7f7462776f726c640000000000000000004e616d6573706163654f776e657200005f1b825f85604051602001611bea919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006135c4565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110611c5257611c526161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110611c7d57611c7d6161d7565b602002602001018181525050611ce67f7462776f726c640000000000000000005265736f7572636541636365737300005f1b825f85604051602001611cc991151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6135c4565b50505050565b613a3160f11b866001600160f01b03191614801590611d1a5750611bdd60f21b866001600160f01b03191614155b15611d8457613a3160f11b8687604051602001611d3991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611d7b9392916004016161eb565b60405180910390fd5b611d8d85613673565b611d988460016138b5565b611da2835f6138b5565b60e084901c60e885901c0160ff16825114611e025760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff16815114611e625760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614611eda5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611ee385613156565b611eec84613156565b14611f3e57611efa85613156565b611f0384613156565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611f4785613a49565b611f5084613a49565b14611fa257611f5e85613a49565b611f6784613a49565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f5b611fad86613156565b81101561204857611fd7611fc18583613a65565b60c5811115611fd257611fd2616213565b613a85565b6008601b8390030287901c60ff1614612040576008601b8290030286901c60ff16612005611fc18684613a65565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b600101611fa4565b505f612071613a3160f11b61205d8960101b90565b60101c6001600160f01b0319919091161790565b90505f612087611bdd60f21b61205d8a60101b90565b905061209282613ae3565b806120a157506120a181613ae3565b156120fb5787886040516020016120ba91815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b61214788888888886040516020016121139190615de0565b604051602081830303815290604052886040516020016121339190615de0565b604051602081830303815290604052613b65565b6106ff886001613c38565b611ce684848484612162896127da565b612782565b5f6121728585613cd5565b90505f61218e828560ff166028026038011c64ffffffffff1690565b905061077a868686845f8888613ce7565b60606110de6121af85858561407c565b5f6121d3856121be8989613cd5565b9060ff166028026038011c64ffffffffff1690565b6140fa565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af1158015612275573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122999190616178565b6122a05750565b601b80546122ad906160e4565b90505f14601b6040516020016122c391906162cc565b6040516020818303038152906040529061230a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601d8160405161231b919061615d565b9081526020016040518091039020545f148160405160200161233d9190616350565b60405160208183030381529060405290612384576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601b61239182826163ff565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156123ec575f80fd5b505af11580156123fe573d5f803e3d5ffd5b505050505a601c55604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e0916004808301925f92919082900301818387803b158015612469575f80fd5b505af1158015611683573d5f803e3d5ffd5b6001600160a01b0381166124d07f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617614125565b6001600160a01b031614610636576124e78261285d565b8160405163d787b73760e01b8152600401611d7b9291906160ba565b5f5a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af11580156125a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c99190616178565b6125d05750565b5f609f82601c546125e191906164bb565b6125eb91906164bb565b6125f69060016161c4565b90505f8111612661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401611d7b565b80601d601b60405161267391906164ce565b90815260405190819003602001902055601e80546001810182555f919091527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350016126bf601b826164d9565b50612751601b80546126d0906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546126fc906160e4565b80156127475780601f1061271e57610100808354040283529160200191612747565b820191905f5260205f20905b81548152906001019060200180831161272a57829003601f168201915b50505050506141be565b60408051602081019091525f8152601b90610ccc90826163ff565b611683858585858561277d8b6127da565b6142b2565b61278b81613156565b8360ff1610156127a7576127a285858585856127c5565b611683565b61168385856127b584613156565b6127bf90876161ab565b8561311e565b61168385856127d484876145a1565b85612d13565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161282857507e60030220202000000000000000000000000000000000000000000000000000919050565b610aa86128557f746273746f72650000000000000000005461626c657300000000000000000000846145d1565b60205f614629565b606081601081901b5f61286f83614679565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156128ca576128c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661468f565b612901565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612928576129238361468f565b61295f565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612971939291906165a4565b6040516020818303038152906040529350505050919050565b60605f60605f61299985614714565b90506129a6878783614736565b93505f6129b286613a49565b90508015612a80576129c48888613cd5565b935066ffffffffffffff841667ffffffffffffffff8111156129e8576129e8615aec565b6040519080825280601f01601f191660200182016040528015612a12576020820181803683370190505b509250602083015f5b828160ff161015612a7d575f612a328b8b8461407c565b90505f612a4e888460ff166028026038011c64ffffffffff1690565b9050612a5c825f838761476b565b612a6681856161c4565b935050508080612a7590616619565b915050612a1b565b50505b505093509350939050565b606081831115612ad1576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401611d7b565b5f612adc8787613cd5565b90505f612af8828760ff166028026038011c64ffffffffff1690565b90508085101580612b0857508084115b15612b63578081861015612b2657612b216001866164bb565b612b28565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f612b6f89898961407c565b9050612b7e81878888036140fa565b9998505050505050505050565b6106368282612b99856127da565b614832565b613a3160f11b836001600160f01b03191614612bce57613a3160f11b8384604051602001611d3991815260200190565b612bd783613ae3565b612c30578283604051602001612bef91815260200190565b60408051601f19818403018152908290527f41e713ad000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b610ccc837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617614aeb565b612c7e8282612fa8565b610636576124e78261285d565b5f610833612c998686614ba0565b60ff858116601b0360080285901c16612cb285876145a1565b614629565b5f80612cc283613156565b90508060ff168460ff161015612cea5760ff848116601b0360080284901c165b9150506110ca565b612ce28686612cf984886161ab565b6130ea565b5f6110de848484612d0e886127da565b612cb7565b611bdd60f21b846001600160f01b03191603612d6a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612d5d93929190616671565b60405180910390a2611ce6565b5f612d758585614ba0565b90505f612d8186614bb4565b90505f5b8151811015612e4f575f828281518110612da157612da16161d7565b60200260200101519050612dcd6004826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612e46576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612e18908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612e2f575f80fd5b505af1158015612e41573d5f803e3d5ffd5b505050505b50600101612d85565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612e8493929190616671565b60405180910390a2612e9f828565ffffffffffff1685614c56565b5f5b8151811015610a22575f828281518110612ebd57612ebd6161d7565b60200260200101519050612ee96008826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612f62576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612f34908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612f4b575f80fd5b505af1158015612f5d573d5f803e3d5ffd5b505050505b50600101612ea1565b61077a868686868686612f7e8d8d613cd5565b613ce7565b60605f6060612f9b8585612f96886127da565b61298a565b9250925092509250925092565b5f612ff57f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614c6c565b806110e157506110e18383614c6c565b6106368215825b81610636577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161304091906166e6565b60405180910390a161063682614d19565b60606110de848484613062886127da565b611962565b5f61307182614d8d565b905061307c82613ae3565b611359578182604051602001612bef91815260200190565b5f61309f8585613cd5565b90505f6130bb828560ff166028026038011c64ffffffffff1690565b905061077a8686866130d48764ffffffffff87166164bb565b604080515f815260208101909152889088613ce7565b5f6110de826121be8686613cd5565b5f61310382614e1c565b905080611359578182604051602001612bef91815260200190565b5f6131298585613cd5565b90505f613145828560ff166028026038011c64ffffffffff1690565b905061077a8686865f858888613ce7565b5f60086001613167600260206164bb565b61317191906164bb565b61317b919061672c565b8260ff911c1692915050565b60606108336131968686614ba0565b6131a084866145a1565b60ff868116601b0360080286901c166140fa565b5f6131bf8484614eab565b90505f815167ffffffffffffffff8111156131dc576131dc615aec565b604051908082528060200260200182016040528015613205578160200160208202803683370190505b5090505f805b83518110156132c957846001600160a01b031661324f858381518110613233576132336161d7565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146132c15783818151811061326f5761326f6161d7565b6020026020010151838381518110613289576132896161d7565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b60010161320b565b5080825261077a868684614f0c565b6040805160028082526060828101909352816020015b60608152602001906001900390816132ee5790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250815f8151811061334d5761334d6161d7565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106133a1576133a16161d7565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816133c65790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f61342e614f60565b9050306001600160a01b038216036134535761344e878787878787611cec565b610a22565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906134a2908a908a908a908a908a908a90600401616743565b5f604051808303815f87803b1580156134b9575f80fd5b505af11580156134cb573d5f803e3d5ffd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816134ef5790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b604080516001808252818301909252606091816020015b60608152602001906001900390816135655790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f6135cd614f60565b9050306001600160a01b038216036135f1576135ec86868686866127c5565b61077a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061363e908990899089908990899060040161677f565b5f604051808303815f87803b158015613655575f80fd5b505af1158015613667573d5f803e3d5ffd5b50505050505050505050565b806136aa576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6136b482613a49565b905060058111156136fb576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611d7b565b5f61370583613156565b90505f61371283836161c4565b9050601c811115613759576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611d7b565b5f805b838110156138025760ff601b82900360080287901c165f8190036137af576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b60208111156137ed576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b6137f781846161c4565b92505060010161375c565b5061380c85614714565b81146138585761381b85614714565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611d7b565b825b601c81101561077a5760ff601b82900360080287901c1680156138ac576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b5060010161385a565b801580156138c1575081155b156138e15760405163d498615960e01b81525f6004820152602401611d7b565b5f6138eb83613a49565b905060058111156139125760405163d498615960e01b815260048101829052602401611d7b565b5f61391c84613156565b90505f61392983836161c4565b9050601c8111156139505760405163d498615960e01b815260048101829052602401611d7b565b5f805b838110156139b9575f613969611fc18984613a65565b9050805f036139a4576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139ae81846161c4565b925050600101613953565b506139c386614714565b81146139ee576139d286614714565b60405163d498615960e01b8152600401611d7b91815260200190565b825b82811015610a22575f613a06611fc18984613a65565b90508015613a40576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016139f0565b5f6008600180613a5b600260206164bb565b61316791906164bb565b5f601b8290036008028360ff911c1660c58111156110e1576110e1616213565b5f808260c5811115613a9957613a99616213565b60ff1690506061811015613ab357601f1660010192915050565b60618360c5811115613ac757613ac7616213565b03613ad55750601492915050565b505f92915050565b50919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613b1a57613b1a6161d7565b60209081029190910101525f613b597f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612c8b565b90506110ca8160f81c90565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f613b9b8484614f99565b90505f613ba88585614fb5565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f81518110613be057613be06161d7565b60209081029190910101526136677f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006142b2565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110613c6c57613c6c6161d7565b602002602001018181525050610ccc7f746273746f72650000000000000000005265736f7572636549647300000000005f1b825f85604051602001613cb891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6127c5565b5f6110e1613ce38484614fe1565b5490565b613a3160f11b876001600160f01b03191614613d1757613a3160f11b8788604051602001611d3991815260200190565b5f613d31828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683613d4991906164bb565b613d5391906161c4565b9050808214158015613d75575081613d6b86886167c5565b64ffffffffff1614155b15613dc5576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401611d7b565b818664ffffffffff161115613e16576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401611d7b565b5f613e22848984615036565b90505f613e2e8b614bb4565b90505f5b8151811015613ef2575f828281518110613e4e57613e4e6161d7565b60200260200101519050613e7a6010826affffffffffffffffffffff1916614c3990919063ffffffff16565b15613ee957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401613ebb97969594939291906167ea565b5f604051808303815f87803b158015613ed2575f80fd5b505af1158015613ee4573d5f803e3d5ffd5b505050505b50600101613e32565b5064ffffffffff88165f5b8a60ff168160ff161015613f3057613f24878260ff166028026038011c64ffffffffff1690565b90910190600101613efd565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613f6b96959493929190616847565b60405180910390a250828414613f8b575f613f868c8c614fe1565b839055505b5f613f978c8c8c61407c565b9050613fab818a64ffffffffff1689614c56565b505f5b815181101561406e575f828281518110613fca57613fca6161d7565b60200260200101519050613ff66020826affffffffffffffffffffff1916614c3990919063ffffffff16565b1561406557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161403797969594939291906167ea565b5f604051808303815f87803b15801561404e575f80fd5b505af1158015614060573d5f803e3d5ffd5b505050505b50600101613fae565b505050505050505050505050565b5f8383604051602001614090929190616895565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b60405160208101601f19603f848401011660405282825261411d8585858461476b565b509392505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061415c5761415c6161d7565b60209081029190910101525f6141b37f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000615103565b60601c949350505050565b6109087f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b0316636900a3ae601d84604051614202919061615d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261424b9160040190815260200190565b5f60405180830381865afa158015614265573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261428c91908101906168cf565b8260405160200161429e929190616938565b6040516020818303038152906040526151b5565b611bdd60f21b866001600160f01b0319160361430b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516142fe94939291906169b8565b60405180910390a261077a565b5f61431587614bb4565b90505f5b81518110156143e7575f828281518110614335576143356161d7565b602002602001015190506143616001826affffffffffffffffffffff1916614c3990919063ffffffff16565b156143de576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906143b0908c908c908c908c908c908c906004016169f6565b5f604051808303815f87803b1580156143c7575f80fd5b505af11580156143d9573d5f803e3d5ffd5b505050505b50600101614319565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161441e94939291906169b8565b60405180910390a25f6144318888614ba0565b90505f602087019050614447825f895184615226565b5f61445185613a49565b11156144d1575f6144628a8a614fe1565b87815590506020860191505f805f5b61447a88613a49565b8160ff1610156144cc5761448f8d8d8361407c565b92506144aa8a8260ff166028026038011c64ffffffffff1690565b91506144b8835f8488615226565b6144c282866161c4565b9450600101614471565b505050505b5f5b8351811015613667575f8482815181106144ef576144ef6161d7565b6020026020010151905061451b6002826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614598576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061456a908e908e908e908e908e908e906004016169f6565b5f604051808303815f87803b158015614581575f80fd5b505af1158015614593573d5f803e3d5ffd5b505050505b506001016144d3565b5f80805b8360ff1681101561411d576145c760ff601b83900360080287901c16836161c4565b91506001016145a5565b60408051602081018490529081018290525f906060015b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f6020821061464e5760208204840193506020828161464a5761464a616a4e565b0691505b508254600882021b60208290038084111561411d576001850154600882021c82179150509392505050565b5f614686607060106161c4565b9190911b919050565b60605f5b60108110156146e4576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156146e457600101614693565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806110ca565b5f6008614723600260206164bb565b61472d919061672c565b9190911c919050565b6060815f03614753575060408051602081019091525f81526110e1565b5f61475e8585614ba0565b9050610833815f856140fa565b82156147ef57602083106147955760208304840193506020838161479157614791616a4e565b0692505b82156147ef5760208390035f818410156147b657505f19600884021c6147bf565b505f19600882021c5b8554600886021b8184511682198216178452508184116147e0575050611ce6565b50600194909401939182900391015b5b602082106148115783548152600190930192601f19909101906020016147f0565b8115611ce6575f5f19600884021c8251865482191691161782525050505050565b611bdd60f21b836001600160f01b0319160361488557827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516148789190616a62565b60405180910390a2505050565b5f61488f84614bb4565b90505f5b815181101561495b575f8282815181106148af576148af6161d7565b602002602001015190506148db6040826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614952576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061492490899089908990600401616a74565b5f604051808303815f87803b15801561493b575f80fd5b505af115801561494d573d5f803e3d5ffd5b505050505b50600101614893565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161498c9190616a62565b60405180910390a25f61499f8585614ba0565b90506149f7815f6149af86614714565b67ffffffffffffffff8111156149c7576149c7615aec565b6040519080825280601f01601f1916602001820160405280156149f1576020820181803683370190505b50614c56565b5f614a0184613a49565b1115614a21575f614a128686614fe1565b9050614a1f8160206152e1565b505b5f5b825181101561077a575f838281518110614a3f57614a3f6161d7565b60200260200101519050614a6b6080826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614ae2576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614ab4908a908a908a90600401616a74565b5f604051808303815f87803b158015614acb575f80fd5b505af1158015614add573d5f803e3d5ffd5b505050505b50600101614a23565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614b1f57614b1f6161d7565b602002602001018181525050610ccc7f746273746f726500000000000000000053746f7265486f6f6b730000000000005f1b825f85604051602001614b8c91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612167565b5f82826040516020016145e8929190616895565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614bec57614bec6161d7565b60209081029190910101525f614c237f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361219f565b90506110ca614c34825f845161531c565b6153a8565b5f8160ff1682614c498560581c90565b1660ff1614905092915050565b610ccc83838351614c678560200190565b615226565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110614ca357614ca36161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110614cce57614cce6161d7565b60209081029190910101525f614d0d7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b615103565b90506108338160f81c90565b80610908577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614d7d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16109086153b7565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614dc457614dc46161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614e5357614e536161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614ee357614ee36161d7565b6020026020010181815250505f614efb85835f61219f565b9050610833614c34825f845161531c565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614f4057614f406161d7565b602002602001018181525050611ce684825f614f5b866154f1565b61311e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611359573391505090565b815181515f9181810160389190911b1760609190911b176110e1565b60608282604051602001614fca929190616a9c565b604051602081830303815290604052905092915050565b5f8282604051602001614ff5929190616895565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff821115615079576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106150ab57808503820191506150b3565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5f8061510d614f60565b9050306001600160a01b0382160361512b57612ce286868686612c8b565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990615176908990899089908990600401616aca565b602060405180830381865afa158015615191573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce29190616af8565b610908816040516024016151c991906156f0565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052615500565b821561529e57602083106152505760208304840193506020838161524c5761524c616a4e565b0692505b821561529e5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161528f575050611ce6565b50600194909401939182900391015b5b602082106152c05780518455600190930192601f199091019060200161529f565b8115611ce6575f5f19600884021c8554835182191691161785555050505050565b5f60206152ef83601f6161c4565b6152f99190616b0f565b61530390846161c4565b90505b80831015610ccc575f8355600183019250615306565b5f8183118061532b5750835182115b15615368578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401611d7b93929190616b2e565b6020840161537684826161c4565b90505f61538385856164bb565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f6110e18360155f615520565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156154c45760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000092820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526154679291602001616116565b60408051601f19818403018152908290526154819161615d565b5f604051808303815f865af19150503d805f81146154ba576040519150601f19603f3d011682016040523d82523d5f602084013e6154bf565b606091505b505050505b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060816110e18160155f615598565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b60605f61552d8560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161555257615552616a4e565b0490506040519350602084016020820281016040528185525f5b8281101561558c578451871c82529387019360209091019060010161556c565b50505050509392505050565b82516060905f6155a8858361672c565b9050604051925060208301601f19603f83860101166040528184525f602088015b8482101561558c578051871b835291870191600191909101906020016155c9565b5f8083601f8401126155fa575f80fd5b50813567ffffffffffffffff811115615611575f80fd5b6020830191508360208260051b850101111561562b575f80fd5b9250929050565b803560ff81168114611359575f80fd5b5f805f805f60808688031215615656575f80fd5b85359450602086013567ffffffffffffffff811115615673575f80fd5b61567f888289016155ea565b9095509350615692905060408701615632565b949793965091946060013592915050565b5f5b838110156156bd5781810151838201526020016156a5565b50505f910152565b5f81518084526156dc8160208601602086016156a3565b601f01601f19169290920160200192915050565b602081525f6110e160208301846156c5565b80356001600160a01b0381168114611359575f80fd5b5f8060408385031215615729575f80fd5b8235915061573960208401615702565b90509250929050565b5f805f805f805f8060c0898b031215615759575f80fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff8082111561578c575f80fd5b6157988c838d016155ea565b909650945060a08b01359150808211156157b0575f80fd5b506157bd8b828c016155ea565b999c989b5096995094979396929594505050565b5f8083601f8401126157e1575f80fd5b50813567ffffffffffffffff8111156157f8575f80fd5b60208301915083602082850101111561562b575f80fd5b5f805f805f8060808789031215615824575f80fd5b86359550602087013567ffffffffffffffff80821115615842575f80fd5b61584e8a838b016155ea565b909750955085915061586260408a01615632565b94506060890135915080821115615877575f80fd5b5061588489828a016157d1565b979a9699509497509295939492505050565b5f805f80606085870312156158a9575f80fd5b84359350602085013567ffffffffffffffff8111156158c6575f80fd5b6158d2878288016155ea565b90945092506158e5905060408601615632565b905092959194509250565b602080825282518282018190525f9190848201906040850190845b818110156159305783516001600160a01b03168352928401929184019160010161590b565b50909695505050505050565b5f805f805f805f8060a0898b031215615953575f80fd5b88359750602089013567ffffffffffffffff80821115615971575f80fd5b61597d8c838d016155ea565b909950975060408b0135915080821115615995575f80fd5b6159a18c838d016157d1565b909750955060608b0135945060808b01359150808211156159c0575f80fd5b506157bd8b828c016157d1565b5f805f805f805f60a0888a0312156159e3575f80fd5b87359650602088013567ffffffffffffffff80821115615a01575f80fd5b615a0d8b838c016155ea565b9098509650869150615a2160408b01615632565b955060608a0135915080821115615a36575f80fd5b50615a438a828b016157d1565b989b979a50959894979596608090950135949350505050565b5f60208284031215615a6c575f80fd5b5035919050565b5f805f8060608587031215615a86575f80fd5b84359350602085013567ffffffffffffffff811115615aa3575f80fd5b615aaf878288016155ea565b9598909750949560400135949350505050565b606081525f615ad460608301866156c5565b846020840152828103604084015261062281856156c5565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715615b2957615b29615aec565b604052919050565b5f67ffffffffffffffff821115615b4a57615b4a615aec565b5060051b60200190565b5f82601f830112615b63575f80fd5b81356020615b78615b7383615b31565b615b00565b8083825260208201915060208460051b870101935086841115615b99575f80fd5b602086015b84811015615bb55780358352918301918301615b9e565b509695505050505050565b5f805f805f60a08688031215615bd4575f80fd5b85359450602086013567ffffffffffffffff811115615bf1575f80fd5b615bfd88828901615b54565b945050615c0c60408701615632565b94979396509394606081013594506080013592915050565b5f8060408385031215615c35575f80fd5b82359150602083013567ffffffffffffffff811115615c52575f80fd5b615c5e85828601615b54565b9150509250929050565b5f805f60608486031215615c7a575f80fd5b83359250615c8a60208501615702565b9150615c9860408501615632565b90509250925092565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015615d7a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b80831015615d655783517fffffffff00000000000000000000000000000000000000000000000000000000168252928a019260019290920191908a0190615d23565b50968901969450505090860190600101615cc8565b509098975050505050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015615dd357601f19868403018952615dc18383516156c5565b98840198925090830190600101615da5565b5090979650505050505050565b602081525f6110e16020830184615d88565b5f805f8060808587031215615e05575f80fd5b84359350602085013567ffffffffffffffff811115615e22575f80fd5b615e2e87828801615b54565b935050615e3d60408601615632565b9396929550929360600135925050565b5f805f60608486031215615e5f575f80fd5b83359250602084013567ffffffffffffffff811115615e7c575f80fd5b615e8886828701615b54565b925050615c9860408501615632565b5f805f805f8060808789031215615eac575f80fd5b86359550602087013567ffffffffffffffff80821115615eca575f80fd5b615ed68a838b016155ea565b90975095506040890135915065ffffffffffff82168214615ef5575f80fd5b90935060608801359080821115615877575f80fd5b803564ffffffffff81168114611359575f80fd5b5f805f805f805f8060c0898b031215615f35575f80fd5b88359750602089013567ffffffffffffffff80821115615f53575f80fd5b615f5f8c838d016155ea565b9099509750879150615f7360408c01615632565b9650615f8160608c01615f0a565b9550615f8f60808c01615f0a565b945060a08b01359150808211156159c0575f80fd5b5f805f60408486031215615fb6575f80fd5b83359250602084013567ffffffffffffffff811115615fd3575f80fd5b615fdf868287016155ea565b9497909650939450505050565b5f67ffffffffffffffff82111561600557616005615aec565b50601f01601f191660200190565b5f616020615b7384615b31565b80848252602080830192508560051b85013681111561603d575f80fd5b855b818110156160ae57803567ffffffffffffffff81111561605d575f80fd5b870136601f82011261606d575f80fd5b803561607b615b7382615fec565b818152368683850101111561608e575f80fd5b81868401878301375f91810186019190915286525093820193820161603f565b50919695505050505050565b604081525f6160cc60408301856156c5565b90506001600160a01b03831660208301529392505050565b600181811c908216806160f857607f821691505b602082108103613add57634e487b7160e01b5f52602260045260245ffd5b7fffffffff00000000000000000000000000000000000000000000000000000000831681525f825161614f8160048501602087016156a3565b919091016004019392505050565b5f825161616e8184602087016156a3565b9190910192915050565b5f60208284031215616188575f80fd5b815180151581146110e1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115610aa857610aa8616197565b80820180821115610aa857610aa8616197565b634e487b7160e01b5f52603260045260245ffd5b6001600160f01b031984168152826020820152606060408201525f61083360608301846156c5565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f6110de60408301846156c5565b5f815461624b816160e4565b600182811680156162635760018114616296576162c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506162c2565b855f526020805f205f5b858110156162b95781548a8201529084019082016162a0565b50505082870194505b5050505092915050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f6162fd600c83018461623f565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f825161638781600c8501602087016156a3565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115610ccc57805f5260205f20601f840160051c810160208510156163e05750805b601f840160051c820191505b81811015611683575f81556001016163ec565b815167ffffffffffffffff81111561641957616419615aec565b61642d8161642784546160e4565b846163bb565b602080601f831160018114616460575f84156164495750858301515b5f19600386901b1c1916600185901b17855561077a565b5f85815260208120601f198616915b8281101561648e5788860151825594840194600190910190840161646f565b50858210156164ab57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610aa857610aa8616197565b5f6110e1828461623f565b8181036164e4575050565b6164ee82546160e4565b67ffffffffffffffff81111561650657616506615aec565b6165148161642784546160e4565b5f601f821160018114616545575f831561652e5750848201545b5f19600385901b1c1916600184901b178455611683565b5f8581526020808220868352908220601f198616925b8381101561657b578286015482556001958601959091019060200161655b565b50858310156164ab579301545f1960f8600387901b161c19169092555050600190811b01905550565b6001600160f01b0319841681525f7f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516165ec8160038601602089016156a3565b80840190508160038201528451915061660c8260048301602088016156a3565b0160040195945050505050565b5f60ff821660ff810361662e5761662e616197565b60010192915050565b5f815180845260208085019450602084015f5b838110156166665781518752958201959082019060010161664a565b509495945050505050565b606081525f6166836060830186616637565b65ffffffffffff85166020840152828103604084015261062281856156c5565b848152608060208201525f6166bb6080830186616637565b65ffffffffffff8516604084015282810360608401526166db81856156c5565b979650505050505050565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201525f6110e160808301846156c5565b8082028115828204841417610aa857610aa8616197565b86815285602082015284604082015283606082015260c060808201525f61676d60c0830185615d88565b82810360a0840152612b7e8185615d88565b85815260a060208201525f61679760a0830187616637565b60ff8616604084015282810360608401526167b281866156c5565b9150508260808301529695505050505050565b64ffffffffff8181168382160190808211156167e3576167e3616197565b5092915050565b87815260e060208201525f61680260e0830189616637565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261683981856156c5565b9a9950505050505050505050565b60c081525f61685960c0830189616637565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152612b7e81856156c5565b8281525f60208083018451602086015f5b828110156168c2578151845292840192908401906001016168a6565b5091979650505050505050565b5f602082840312156168df575f80fd5b815167ffffffffffffffff8111156168f5575f80fd5b8201601f81018413616905575f80fd5b8051616913615b7382615fec565b818152856020838501011115616927575f80fd5b6108338260208301602086016156a3565b7f474153205245504f52543a20000000000000000000000000000000000000000081525f835161696f81600c8501602088016156a3565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516169ac81600d8401602088016156a3565b01600d01949350505050565b608081525f6169ca6080830187616637565b82810360208401526169dc81876156c5565b905084604084015282810360608401526166db81856156c5565b86815260c060208201525f616a0e60c0830188616637565b8281036040840152616a2081886156c5565b90508560608401528281036080840152616a3a81866156c5565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b602081525f6110e16020830184616637565b838152606060208201525f616a8c6060830185616637565b9050826040830152949350505050565b5f8351616aad8184602088016156a3565b835190830190616ac18183602088016156a3565b01949350505050565b848152608060208201525f616ae26080830186616637565b60ff949094166040830152506060015292915050565b5f60208284031215616b08575f80fd5b5051919050565b5f82616b2957634e487b7160e01b5f52601260045260245ffd5b500490565b606081525f616b4060608301866156c5565b6020830194909452506040015291905056fe416363657373436f6e74726f6c3a20726571756972654f776e657220287761726d29416363657373436f6e74726f6c3a207265717569726541636365737320287761726d2963616c6c65722073686f756c6420686176652061636365737320746f20746865206e616d657370616365416363657373436f6e74726f6c3a2068617341636365737320287761726d2c206e616d657370616365206f6e6c792961636365737320746f20746865207461626c652073686f756c642068617665206265656e206772616e746564416363657373436f6e74726f6c3a20726571756972654f776e65722028636f6c6429416363657373436f6e74726f6c3a20726571756972654163636573732028636f6c642963616c6c65722073686f756c64206e6f7420686176652061636365737320746f20746865207461626c6561636365737320746f20746865207461626c652073686f756c642068617665206265656e207265766f6b6564416363657373436f6e74726f6c3a207265717569726541636365737320287468697320616464726573732961636365737320746f20746865206e616d6573706163652073686f756c642068617665206265656e207265766f6b6564a164736f6c6343000818000a8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175746273746f72650000000000000000005265736f757263654964730000000000","sourceMap":"703:4117:137:-:0;;;1572:26:48;;;1594:4;-1:-1:-1;;1572:26:48;;;;;;;;3126:44:51;;;;;;;;;;;228:9:0;186:51;;703:4117:137;;;;;;;;;-1:-1:-1;895:22:27;-1:-1:-1;;;;;;;;;;;2374:38:29;;-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;;;;;708:22:47;-1:-1:-1;;;;;;;;;;;2374:38:29;;-1:-1:-1;;;;;;2374:38:29;1824:4:25;2374:38:29;;;1751:84:25;708:22:47;736:34;:32;:34::i;:::-;-1:-1:-1;;;;;;;;;;;2374:38:29;;-1:-1:-1;;;;;;2374:38:29;812:4:47;2374:38:29;;;703:4117:137;;1788:42:25;1751:84::o;2062:1571::-;2608:39;1207:66:34;2608:22:25;:39::i;:::-;2604:164;;;2726:33;;;1207:66:34;2726:33:25;;;174:19:162;;;1207:66:34;209:12:162;2726:33:25;;;;-1:-1:-1;;2726:33:25;;;;;;;;;;-1:-1:-1;;;2664:97:25;;;;;;;;:::i;:::-;;;;;;;;2604:164;2777:44;-1:-1:-1;;;;;;;;;;;2777:22:25;:44::i;:::-;2773:203;;;2922:38;;;-1:-1:-1;;;;;;;;;;;2922:38:25;;;174:19:162;;;971:66:32;209:12:162;2922:38:25;14:213:162;2773:203:25;2981:201;1207:66:34;-1:-1:-1;;;;;;;;;3113:20:25;:18;:20::i;:::-;3102:32;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3102:32:25;;;;;;;;;3153:22;:20;:22::i;:::-;3142:34;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3142:34:25;;;;;;;;;2981:11;:201::i;:::-;3188:231;-1:-1:-1;;;;;;;;;;;;;;;;;;;;3340:25:25;:23;:25::i;:::-;3329:37;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3329:37:25;;;;;;;;;3385:27;:25;:27::i;3188:231::-;3425:45;1207:66:34;3465:4:25;3425:22;:45::i;:::-;3476:50;-1:-1:-1;;;;;;;;;;;3521:4:25;3476:22;:50::i;:::-;3607:21;:19;:21::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;-1:-1:-1;;;;;;;;;;;3094:9:32;3043:13;-1:-1:-1;;;3059:24:32;:62::i;:::-;3043:78;-1:-1:-1;3143:20:32;;;;3135:29;3127:38;2856:314;-1:-1:-1;;;;2856:314:32:o;1881:138:34:-;1970:15;;;1983:1;1970:15;;;;;;;;;1927:24;;1970:15;;;;;;;;;;;;;;;;;;;;1959:26;;1991:23;;;;;;;;;;;;;-1:-1:-1;;;1991:23:34;;;:8;2000:1;1991:11;;;;;;;;:::i;:::-;;;;;;:23;;;;1881:138;:::o;2159:304::-;2254:15;;;2267:1;2254:15;;;;;;;;;2207:26;;2254:15;;;;;;;;;;;;;;;;;;;;2241:28;;2275:29;;;;;;;;;;;;;-1:-1:-1;;;2275:29:34;;;:10;2286:1;2275:13;;;;;;;;:::i;:::-;;;;;;:29;;;;2310:27;;;;;;;;;;;;;-1:-1:-1;;;2310:27:34;;;:10;2321:1;2310:13;;;;;;;;:::i;:::-;;;;;;:27;;;;2343:29;;;;;;;;;;;;;-1:-1:-1;;;2343:29:34;;;:10;2354:1;2343:13;;;;;;;;:::i;:::-;;;;;;:29;;;;2378:36;;;;;;;;;;;;;-1:-1:-1;;;2378:36:34;;;:10;2389:1;2378:13;;;;;;;;:::i;:::-;;;;;;:36;;;;2420:38;;;;;;;;;;;;;;;;;:10;2431:1;2420:13;;;;;;;;:::i;19791:677::-;24359:53;;;;;;2719:19:162;;;2754:12;;;2747:28;;;24332:12:34;2791::162;;;2784:28;;;24359:53:34;;;;;;;;;;2828:12:162;;;;24359:53:34;;;20082:30;20115:55;20129:18;20149:20;20115:13;:55::i;:::-;20082:88;-1:-1:-1;20176:25:34;20204:55;20218:18;20238:20;20204:13;:55::i;:::-;20295:16;;;20309:1;20295:16;;;;;;;;;20176:83;;-1:-1:-1;20266:26:34;;20295:16;;;;;;;;;;;;-1:-1:-1;20295:16:34;20266:45;;20350:7;20317:9;20327:1;20317:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20365:98;1207:66;20395:9;20406:11;20419:15;20436:12;-1:-1:-1;;;20365:19:34;:98::i;:::-;19993:475;;;;19791:677;;;;;;:::o;1610:141:32:-;1699:15;;;1712:1;1699:15;;;;;;;;;1656:24;;1699:15;;;;;;;;;;;;;;;;;;;;1688:26;;1720;;;;;;;;;;;;;-1:-1:-1;;;1720:26:32;;;:8;1729:1;1720:11;;;;;;;;:::i;1891:145::-;1986:15;;;1999:1;1986:15;;;;;;;;;1939:26;;1986:15;;;;;;;;;;;;;;;;;;;;1973:28;;2007:24;;;;;;;;;;;;;-1:-1:-1;;;2007:24:32;;;:10;2018:1;2007:13;;;;;;;;:::i;4220:268::-;4320:16;;;4334:1;4320:16;;;;;;;;;4291:26;;4320:16;;;;;;;;;;;-1:-1:-1;4320:16:32;4291:45;;4375:10;4342:9;4352:1;4342:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4393:90;-1:-1:-1;;;;;;;;;;;955:83:32;;4428:9;4439:1;4460:6;4442:26;;;;;;2393:14:162;2386:22;2381:3;2377:32;2365:45;;2435:1;2426:11;;2242:201;4442:26:32;;;;-1:-1:-1;;4442:26:32;;;;;;;;;-1:-1:-1;;;4393:24:32;:90::i;:::-;4285:203;4220:268;;:::o;2100:147:33:-;2135:107;969:66;-1:-1:-1;;;;;;;;;2211:13:33;:11;:13::i;:::-;2226:15;:13;:15::i;:::-;2135:25;:107::i;36171:541:25:-;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;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:25:o;24608:390:34:-;24734:30;24895:92;24924:18;24918:32;24958:20;24952:34;24895:22;;;:92;;:::i;:::-;24877:110;24608:390;-1:-1:-1;;;24608:390:34:o;25163:234::-;25289:12;25340:18;25369:20;25316:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25309:83;;25163:234;;;;;:::o;13212:3165:25:-;-1:-1:-1;;;13486:7:25;-1:-1:-1;;;;;;13486:44:25;;13482:211;;13613:7;-1:-1:-1;;;;;;;;;;;13622:8:25;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;:::-;;;;;;;;;;;;-1:-1:-1;13976:33:25;-1:-1:-1;;;;;;13976:14:25;;409:6:37;13976:14:25;:33::i;:::-;13972:248;;;14021:190;;-1:-1:-1;;;14021:190:25;;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;-1:-1:-1;;;;;;;;;;;14312:8:25;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;-1:-1:-1;15627:170:25;15669:19;15708:1;15572:45;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;:::-;;;;;;;;;;;;-1:-1:-1;16125:32:25;-1:-1:-1;;;;;;16125:14:25;;503:6:37;16125:14:25;:32::i;:::-;16121:246;;;16169:189;;-1:-1:-1;;;16169:189:25;;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;;13212:3165;;;;;;;:::o;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;:::-;23107:355;;;;;:::o;1891:144:33:-;1986:15;;;1999:1;1986:15;;;;;;;;;1939:26;;1986:15;;;;;;;;;;;;;;;;;;;;1973:28;;2007:23;;;;;;;;;;;;;-1:-1:-1;;;2007:23:33;;;:10;2018:1;2007:13;;;;;;;;:::i;5644:520:29:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:29;-1:-1:-1;;;;;5898:30:29;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;-1:-1:-1;;;6050:103:29;;-1:-1:-1;;;;;6050:35:29;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:266;5841:323;5644:520;;;;;;:::o;50806:191:25:-;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;2518:351:3:-;2776:23;2761:39;;;975:16;2694:39;;;2662:5;;;2675:59;2742;2518:351;;;;:::o;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;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926:20;;;:44;;:::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3124:42;;;3157:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;758:151:19:-;894:4;884:15;;758:151::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;;3761:21;;3672:20;;-1:-1:-1;;579:1:35;804:25:36;;782:48;3757:32:23;;;3694:9;;3668:36;3617:184;3573:238;;3449:376;1489:2340;;;;:::o;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;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;52742:274::-;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;-1:-1:-1;;;;;52916:45:25;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;17013:1682::-;-1:-1:-1;;;17192:7:25;-1:-1:-1;;;;;;17192:44:25;;17188:235;;17346:7;-1:-1:-1;;;;;;;;;;;17365:8:25;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;-1:-1:-1;17653:22:25;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;:::-;;;;;;;;;;;;-1:-1:-1;17798:41:25;-1:-1:-1;;;;;;17798:14:25;;614:6:37;17798:14:25;:41::i;:::-;17794:236;;;17851:170;;-1:-1:-1;;;17851:170:25;;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;-1:-1:-1;;;;;;;;;;;18159:8:25;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;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;:::-;;;;;;;;;;;;-1:-1:-1;18455:40:25;-1:-1:-1;;;;;;18455:14:25;;723:6:37;18455:14:25;:40::i;:::-;18451:234;;;18507:169;;-1:-1:-1;;;18507:169:25;;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;;1836:227:29;-1:-1:-1;;;;;;;;;;;1925:22:29;1886:7;;-1:-1:-1;;;;;1925:22:29;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:29:o;6637:2917:25:-;-1:-1:-1;;;6924:7:25;-1:-1:-1;;;;;;6924:35:25;;;;;:83;;-1:-1:-1;;;;6963:7:25;-1:-1:-1;;;;;;6963:44:25;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:25;7112;7095:25;;;;;;174:19:162;;218:2;209:12;;14:213;7095:25:25;;;;-1:-1:-1;;7095:25:25;;;;;;;;;;-1:-1:-1;;;7024:98:25;;;;;;;;;:::i;6920:209::-;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7415:8:25;:15;:40;7411:148;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7536:15:25;;7472:80;;-1:-1:-1;;;7472:80:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7472:80:25;9204:248:162;7411:148:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7609:10:25;:17;:44;7605:158;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7738:17:25;;7670:86;;-1:-1:-1;;;7670:86:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7670:86:25;9204:248:162;7605:158:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7820:50:25;7816:171;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7887:93:25;;-1:-1:-1;;;7887:93:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;7887:93:25;9204:248:162;7816:171:25;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;-1:-1:-1;;;8075:135:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8075:135:25;9204:248:162;7992:225:25;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;-1:-1:-1;;;8307:138:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8307:138:25;9204:248:162;8222:230:25;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:25;8608:244;;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:25;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;-1:-1:-1;;;8701:142:25;;;;;9378:25:162;;;;9419:18;;;9412:34;9351:18;;8701:142:25;9204:248:162;8608:244:25;8595:3;;8544:314;;;-1:-1:-1;8938:25:25;8966:63;-1:-1:-1;;;9003:25:25;:7;451:5:20;1899:44;;1798:151;9003:25:25;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:25;8938:91;-1:-1:-1;9035:26:25;9064:72;-1:-1:-1;;;9110:25:25;:7;451:5:20;1899:44;;1798:151;9064:72:25;9035:101;-1:-1:-1;9146:38:25;9169:14;9146:22;:38::i;:::-;:81;;;-1:-1:-1;9188:39:25;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;174:19:162;;218:2;209:12;;14:213;9142:190:25;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;9373:103::-;9512:37;9535:7;9544:4;9512:22;:37::i;:::-;6834:2720;;6637:2917;;;;;;:::o;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;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;;-1:-1:-1;;;2222:48:22;;;;;;;;;;:::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;:::-;-1:-1:-1;;;;;2555:15:22;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;40201:30;40234:17;:32::i;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;1098:18;;;:24;;:::i;:::-;1055:5;:68::i;6618:1665:4:-;6301:45;6681:87;;6723:38;;-1:-1:-1;;;6723:38:4;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:35;6842:17:4;:38;6838:156;;;6897:90;;-1:-1:-1;;;6897:90:4;;;;;9378:25:162;;;943:1:35;9419:18:162;;;9412:34;9351:18;;6897:90:4;9204:248:162;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:35;7134:15:4;:34;7130:141;;;7185:79;;-1:-1:-1;;;7185:79:4;;;;;9378:25:162;;;689:2:35;9419:18:162;;;9412:34;9351:18;;7185:79:4;9204:248:162;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;-1:-1:-1;;;7493:52:4;;;;;10100:25:162;;;10073:18;;7493:52:4;9954:177:162;7449:234:4;376:2:35;7564:16:4;:28;7560:123;;;7611:63;;-1:-1:-1;;;7611:63:4;;;;;10100:25:162;;;10073:18;;7611:63:4;9954:177:162;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;-1:-1:-1;7840:30:4;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;-1:-1:-1;;;7887:105:4;;;;;9378:25:162;;;;9419:18;;;9412:34;;;9351:18;;7887:105:4;9204:248:162;7815:184:4;8055:16;8038:241;689:2:35;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;-1:-1:-1;;;8209:55:4;;;;;10100:25:162;;;10073:18;;8209:55:4;9954:177:162;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;10100:25:162;10073:18;;5906:37:21;9954:177:162;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:35;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;10100:25:162;;;10073:18;;6116:53:21;9954:177:162;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:35;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;10100:25:162;;;10073:18;;6412:51:21;9954:177:162;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;-1:-1:-1;;;6721:49:21;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;-1:-1:-1;6937:25:21;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;10100:25:162;;10088:2;10073:18;;9954:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;-1:-1:-1;;;7288:49:21;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4979:171:4;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5603:22;;;5636:51;5641:14;5657:6;5618;5673:13;5636:4;:51::i;2681:1129:41:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:41;2831:45;-1:-1:-1;;;;;;3238:38:22;;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;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;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;232:250:162:-;317:1;327:113;341:6;338:1;335:13;327:113;;;417:11;;;411:18;398:11;;;391:39;363:2;356:10;327:113;;;-1:-1:-1;;474:1:162;456:16;;449:27;232:250::o;487:271::-;529:3;567:5;561:12;594:6;589:3;582:19;610:76;679:6;672:4;667:3;663:14;656:4;649:5;645:16;610:76;:::i;:::-;740:2;719:15;-1:-1:-1;;715:29:162;706:39;;;;747:4;702:50;;487:271;-1:-1:-1;;487:271:162:o;763:322::-;971:6;960:9;953:25;1014:2;1009;998:9;994:18;987:30;934:4;1034:45;1075:2;1064:9;1060:18;1052:6;1034:45;:::i;1090:598::-;1142:3;1173;1205:5;1199:12;1232:6;1227:3;1220:19;1258:4;1287;1282:3;1278:14;1271:21;;1345:4;1335:6;1332:1;1328:14;1321:5;1317:26;1313:37;1384:4;1377:5;1373:16;1407:1;1417:245;1431:6;1428:1;1425:13;1417:245;;;1518:2;1514:7;1506:5;1500:4;1496:16;1492:30;1487:3;1480:43;1544:38;1577:4;1568:6;1562:13;1544:38;:::i;:::-;1640:12;;;;1536:46;-1:-1:-1;1605:15:162;;;;1453:1;1446:9;1417:245;;;-1:-1:-1;1678:4:162;;1090:598;-1:-1:-1;;;;;;;1090:598:162:o;1693:280::-;1892:2;1881:9;1874:21;1855:4;1912:55;1963:2;1952:9;1948:18;1940:6;1912:55;:::i;2110:127::-;2171:10;2166:3;2162:20;2159:1;2152:31;2202:4;2199:1;2192:15;2226:4;2223:1;2216:15;2851:492;3026:3;3064:6;3058:13;3080:66;3139:6;3134:3;3127:4;3119:6;3115:17;3080:66;:::i;:::-;3209:13;;3168:16;;;;3231:70;3209:13;3168:16;3278:4;3266:17;;3231:70;:::i;:::-;3317:20;;2851:492;-1:-1:-1;;;;2851:492:162:o;3348:439::-;3401:3;3439:5;3433:12;3466:6;3461:3;3454:19;3492:4;3521;3516:3;3512:14;3505:21;;3560:4;3553:5;3549:16;3583:1;3593:169;3607:6;3604:1;3601:13;3593:169;;;3668:13;;3656:26;;3702:12;;;;3737:15;;;;3629:1;3622:9;3593:169;;;-1:-1:-1;3778:3:162;;3348:439;-1:-1:-1;;;;;3348:439:162:o;3792:691::-;4126:3;4115:9;4108:22;4089:4;4153:57;4205:3;4194:9;4190:19;4182:6;4153:57;:::i;:::-;4258:9;4250:6;4246:22;4241:2;4230:9;4226:18;4219:50;4292:33;4318:6;4310;4292:33;:::i;:::-;4278:47;;4361:6;4356:2;4345:9;4341:18;4334:34;4416:9;4408:6;4404:22;4399:2;4388:9;4384:18;4377:50;4444:33;4470:6;4462;4444:33;:::i;:::-;4436:41;3792:691;-1:-1:-1;;;;;;;3792:691:162:o;4488:898::-;4941:6;4930:9;4923:25;4984:3;4979:2;4968:9;4964:18;4957:31;4904:4;5011:57;5063:3;5052:9;5048:19;5040:6;5011:57;:::i;:::-;5116:9;5108:6;5104:22;5099:2;5088:9;5084:18;5077:50;5150:33;5176:6;5168;5150:33;:::i;:::-;5136:47;;5219:6;5214:2;5203:9;5199:18;5192:34;5275:9;5267:6;5263:22;5257:3;5246:9;5242:19;5235:51;5303:33;5329:6;5321;5303:33;:::i;:::-;5295:41;;;5373:6;5367:3;5356:9;5352:19;5345:35;4488:898;;;;;;;;;:::o;5391:127::-;5452:10;5447:3;5443:20;5440:1;5433:31;5483:4;5480:1;5473:15;5507:4;5504:1;5497:15;5523:125;5588:9;;;5609:10;;;5606:36;;;5622:18;;:::i;5653:908::-;6179:6;6168:9;6161:25;6222:6;6217:2;6206:9;6202:18;6195:34;6265:6;6260:2;6249:9;6245:18;6238:34;6308:6;6303:2;6292:9;6288:18;6281:34;6352:3;6346;6335:9;6331:19;6324:32;6142:4;6379:56;6430:3;6419:9;6415:19;6407:6;6379:56;:::i;:::-;6484:9;6476:6;6472:22;6466:3;6455:9;6451:19;6444:51;6512:43;6548:6;6540;6512:43;:::i;:::-;6504:51;5653:908;-1:-1:-1;;;;;;;;;5653:908:162:o;6566:639::-;6816:6;6811:3;6804:19;6786:3;6842:2;6875;6870:3;6866:12;6907:6;6901:13;6972:2;6964:6;6960:15;6993:1;7003:175;7017:6;7014:1;7011:13;7003:175;;;7080:13;;7066:28;;7116:14;;;;7153:15;;;;7039:1;7032:9;7003:175;;;-1:-1:-1;7194:5:162;;6566:639;-1:-1:-1;;;;;;;6566:639:162:o;7210:127::-;7271:10;7266:3;7262:20;7259:1;7252:31;7302:4;7299:1;7292:15;7326:4;7323:1;7316:15;7342:128;7409:9;;;7430:11;;;7427:37;;;7444:18;;:::i;7475:168::-;7548:9;;;7579;;7596:15;;;7590:22;;7576:37;7566:71;;7617:18;;:::i;7648:512::-;7899:2;7888:9;7881:21;7862:4;7925:56;7977:2;7966:9;7962:18;7954:6;7925:56;:::i;:::-;8029:14;8021:6;8017:27;8012:2;8001:9;7997:18;7990:55;8093:9;8085:6;8081:22;8076:2;8065:9;8061:18;8054:50;8121:33;8147:6;8139;8121:33;:::i;:::-;8113:41;7648:512;-1:-1:-1;;;;;;7648:512:162:o;8165:616::-;8475:6;8464:9;8457:25;8518:3;8513:2;8502:9;8498:18;8491:31;8438:4;8545:57;8597:3;8586:9;8582:19;8574:6;8545:57;:::i;:::-;8650:14;8642:6;8638:27;8633:2;8622:9;8618:18;8611:55;8714:9;8706:6;8702:22;8697:2;8686:9;8682:18;8675:50;8742:33;8768:6;8760;8742:33;:::i;8786:413::-;9041:5;9036:3;9032:15;9024:6;9020:28;9009:9;9002:47;9085:6;9080:2;9069:9;9065:18;9058:34;9128:2;9123;9112:9;9108:18;9101:30;8983:4;9148:45;9189:2;9178:9;9174:18;9166:6;9148:45;:::i;9457:127::-;9518:10;9513:3;9509:20;9506:1;9499:31;9549:4;9546:1;9539:15;9573:4;9570:1;9563:15;9589:360;9792:2;9781:9;9774:21;9755:4;9812:45;9853:2;9842:9;9838:18;9830:6;9812:45;:::i;:::-;9888:2;9873:18;;9866:34;;;;-1:-1:-1;9931:2:162;9916:18;9909:34;9804:53;9589:360;-1:-1:-1;9589:360:162:o;10136:185::-;703:4117:137;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106102d8575f3560e01c806366d9a9a011610187578063cc49db7e116100dd578063dbbf0e2111610093578063ee9828891161006e578063ee982889146105b9578063ef6ea862146105c1578063fa7626d4146105d4575f80fd5b8063dbbf0e211461058b578063e20c9f711461059e578063e228a4a3146105a6575f80fd5b8063d03edb8c116100c3578063d03edb8c14610552578063d4285dc214610565578063d9c03a0414610578575f80fd5b8063cc49db7e14610537578063cd9847bc1461054a575f80fd5b8063a53417ed1161013d578063ba414fa611610118578063ba414fa6146104e6578063c0a2895a146104fe578063c112222914610511575f80fd5b8063a53417ed146104b8578063b047c1eb146104cb578063b5508aa9146104de575f80fd5b80638c364d591161016d5780638c364d591461048a578063916a17c61461049d5780639f1fcf0a146104a5575f80fd5b806366d9a9a01461046057806385226c8114610475575f80fd5b80633708196e1161023c5780633f7286f4116101f2578063505a181d116101cd578063505a181d14610432578063530f4b6014610445578063560e086114610458575f80fd5b80633f7286f4146103f5578063419b58fd146103fd5780634dc77d971461041f575f80fd5b80633a77c2c2116102225780633a77c2c2146103c45780633b533860146103e55780633e5e3c23146103ed575f80fd5b80633708196e1461039e578063390baae0146103b1575f80fd5b8063150f3262116102915780631ed7831c116102775780631ed7831c1461036e57806324476f7314610383578063298314fb1461038b575f80fd5b8063150f3262146103485780631e7889771461035b575f80fd5b80630a9254e4116102c15780630a9254e41461031a5780630ba51f4914610322578063114a726614610335575f80fd5b806305242d2f146102dc5780630560912914610305575b5f80fd5b6102ef6102ea366004615642565b6105e0565b6040516102fc91906156f0565b60405180910390f35b610318610313366004615718565b61062c565b005b61031861063a565b610318610330366004615742565b6106df565b61031861034336600461580f565b610709565b61031861035636600461580f565b610782565b6102ef610369366004615896565b6107f3565b61037661083c565b6040516102fc91906158f0565b61031861089c565b61031861039936600461593c565b61090b565b6103186103ac3660046159cd565b6109af565b6103186103bf3660046159cd565b610a2b565b6103d76103d2366004615a5c565b610a9e565b6040519081526020016102fc565b610318610aae565b610376610b99565b610376610bf7565b61041061040b366004615a73565b610c55565b6040516102fc93929190615ac2565b6102ef61042d366004615bc0565b610ca8565b610318610440366004615c24565b610cb7565b610318610453366004615c68565b610cc1565b610318610cd1565b610468610dbc565b6040516102fc9190615ca1565b61047d610ebb565b6040516102fc9190615de0565b6103d7610498366004615642565b610f86565b610468610fc7565b6103d76104b3366004615df2565b6110bd565b6103d76104c6366004615e4d565b6110d2565b6103186104d9366004615e97565b6110e8565b61047d611159565b6104ee611224565b60405190151581526020016102fc565b61031861050c366004615f1e565b61135e565b7f322e302e320000000000000000000000000000000000000000000000000000006103d7565b610410610545366004615fa4565b6113d2565b610318611422565b6102ef610560366004615896565b6115f9565b6103d7610573366004615a5c565b611639565b610318610586366004615642565b611643565b6103d7610599366004615e4d565b61168a565b610376611696565b6103d76105b4366004615a5c565b6116f4565b6103186116fe565b6103186105cf36600461580f565b6118f1565b5f546104ee9060ff1681565b6060610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508892508791506119629050565b9695505050505050565b61063682826119a7565b5050565b6106426119d2565b61064a611a53565b61069a613a3160f11b7f6e616d65737061636500000000000000000000000000000000000000000000007f6e616d6500000000000000000000000000000000000000000000000000000000611ae7565b601f557f6e736e616d65737061636500000000000000000000000000000000000000000060208190556106cd9030611b46565b6106dd601f546101236001611c1f565b565b6106ff888888886106f0888a616013565b6106fa8789616013565b611cec565b5050505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215292505050565b505050505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061216792505050565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525087925061219f915050565b95945050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610874575b5050505050905090565b5f601f5490506108c3604051806060016040528060228152602001616c1d602291396121d8565b6108cd813061247b565b6108d5612503565b6108f6604051806060016040528060228152602001616b53602291396121d8565b610900813061247b565b610908612503565b50565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525061276c92505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250612782915050565b50505050505050565b610a22878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f920191909152508892506127c5915050565b5f610aa8826127da565b92915050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610adc8461285d565b6001604051602401610aef9291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610b61916004016156f0565b5f604051808303815f87803b158015610b78575f80fd5b505af1158015610b8a573d5f803e3d5ffd5b5050505061090881600161247b565b6060600f80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b60605f6060610c98878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061298a915050565b9250925092509450945094915050565b60606106228686868686612a8b565b6106368282612b8b565b610ccc838383612b9e565b505050565b601f54737109709ecfa91a80626ff3989d68f67f5b1dd12d63f28dceb363d787b73760e01b610cff8461285d565b6001604051602401610d129291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252610d84916004016156f0565b5f604051808303815f87803b158015610d9b575f80fd5b505af1158015610dad573d5f803e3d5ffd5b50505050610908816001612c74565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e9a57602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e475790505b50505050508152505081526020019060010190610ddf565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054610efb906160e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610f27906160e4565b8015610f725780601f10610f4957610100808354040283529160200191610f72565b820191905f5260205f20905b815481529060010190602001808311610f5557829003601f168201915b505050505081526020019060010190610ede565b5f610622868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150612c8b9050565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610eb2575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a557602002820191905f5260205f20905f905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110525790505b50505050508152505081526020019060010190610fea565b5f61083385858585612cb7565b949350505050565b5f6110de848484612cfe565b90505b9392505050565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250612d1392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610eb2578382905f5260205f20018054611199906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546111c5906160e4565b80156112105780601f106111e757610100808354040283529160200191611210565b820191905f5260205f20905b8154815290600101906020018083116111f357829003601f168201915b50505050508152602001906001019061117c565b5f8054610100900460ff161561124257505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156113595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093525f9290916112e5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001616116565b60408051601f19818403018152908290526112ff9161615d565b5f604051808303815f865af19150503d805f8114611338576040519150601f19603f3d011682016040523d82523d5f602084013e61133d565b606091505b50915050808060200190518101906113559190616178565b9150505b919050565b6106ff888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f92019190915250612f6b92505050565b60605f6060611413868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250612f8392505050565b92509250925093509350939050565b5f601f5490505f60205490505f61146d6040518060400160405280601f81526020017f416363657373436f6e74726f6c3a206861734163636573732028636f6c6429008152506121d8565b611478836001612fa8565b9050611482612503565b6114a4816040518060600160405280602a8152602001616c62602a9139613005565b6114b082600180611c1f565b6114d16040518060600160405280602f8152602001616bc2602f91396121d8565b6114dc836001612fa8565b90506114e6612503565b611508816040518060600160405280602a8152602001616b98602a913961300c565b6115148260015f611c1f565b6115526040518060400160405280601f81526020017f416363657373436f6e74726f6c3a2068617341636365737320287761726d29008152506121d8565b61155d836001612fa8565b9050611567612503565b61158981604051806060016040528060308152602001616ce360309139613005565b61159583600180611c1f565b6115c16115a3846001612fa8565b6040518060600160405280602c8152602001616bf1602c913961300c565b6115cd8360015f611c1f565b610ccc6115db846001612fa8565b6040518060600160405280602c8152602001616c8c602c9139613005565b6060610833858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250613051915050565b5f610aa882613067565b611683858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506130949050565b5050505050565b5f6110de8484846130ea565b6060600c80548060200260200160405190810160405280929190818152602001828054801561089257602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610874575050505050905090565b5f610aa8826130f9565b5f601f549050611725604051806060016040528060238152602001616c3f602391396121d8565b61173181610123612c74565b611739612503565b61175a604051806060016040528060238152602001616b75602391396121d8565b61176681610123612c74565b61176e612503565b6040517fca669fa700000000000000000000000000000000000000000000000000000000815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156117d1575f80fd5b505af11580156117e3573d5f803e3d5ffd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb3915063d787b73760e01b90506118158461285d565b306040516024016118279291906160ba565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e084901b9092168252611899916004016156f0565b5f604051808303815f87803b1580156118b0575f80fd5b505af11580156118c2573d5f803e3d5ffd5b505050506118e76040518060600160405280602b8152602001616cb8602b91396121d8565b6109008130612c74565b61077a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061311e92505050565b606061196d82613156565b8360ff16101561198a5761198385858585613187565b90506110ca565b611983858561199885613156565b6119a290876161ab565b61219f565b6106367f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836131b4565b6106dd7f7462776f726c640000000000000000005265736f757263654163636573730000630101000160d81b7e3402005f6100000000000000000000000000000000000000000000000000007e01010060000000000000000000000000000000000000000000000000000000611a466132d8565b611a4e6133af565b613425565b6106dd7f7462776f726c640000000000000000004e616d6573706163654f776e657200007e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000611adf6134d8565b611a4e61354e565b5f611af4607060106161c4565b6001600160f01b031985167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110611b7a57611b7a6161d7565b602002602001018181525050610ccc7f7462776f726c640000000000000000004e616d6573706163654f776e657200005f1b825f85604051602001611bea919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006135c4565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110611c5257611c526161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110611c7d57611c7d6161d7565b602002602001018181525050611ce67f7462776f726c640000000000000000005265736f7572636541636365737300005f1b825f85604051602001611cc991151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6135c4565b50505050565b613a3160f11b866001600160f01b03191614801590611d1a5750611bdd60f21b866001600160f01b03191614155b15611d8457613a3160f11b8687604051602001611d3991815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611d7b9392916004016161eb565b60405180910390fd5b611d8d85613673565b611d988460016138b5565b611da2835f6138b5565b60e084901c60e885901c0160ff16825114611e025760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff16815114611e625760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614611eda5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611ee385613156565b611eec84613156565b14611f3e57611efa85613156565b611f0384613156565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b611f4785613a49565b611f5084613a49565b14611fa257611f5e85613a49565b611f6784613a49565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f5b611fad86613156565b81101561204857611fd7611fc18583613a65565b60c5811115611fd257611fd2616213565b613a85565b6008601b8390030287901c60ff1614612040576008601b8290030286901c60ff16612005611fc18684613a65565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b600101611fa4565b505f612071613a3160f11b61205d8960101b90565b60101c6001600160f01b0319919091161790565b90505f612087611bdd60f21b61205d8a60101b90565b905061209282613ae3565b806120a157506120a181613ae3565b156120fb5787886040516020016120ba91815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b61214788888888886040516020016121139190615de0565b604051602081830303815290604052886040516020016121339190615de0565b604051602081830303815290604052613b65565b6106ff886001613c38565b611ce684848484612162896127da565b612782565b5f6121728585613cd5565b90505f61218e828560ff166028026038011c64ffffffffff1690565b905061077a868686845f8888613ce7565b60606110de6121af85858561407c565b5f6121d3856121be8989613cd5565b9060ff166028026038011c64ffffffffff1690565b6140fa565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af1158015612275573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122999190616178565b6122a05750565b601b80546122ad906160e4565b90505f14601b6040516020016122c391906162cc565b6040516020818303038152906040529061230a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601d8160405161231b919061615d565b9081526020016040518091039020545f148160405160200161233d9190616350565b60405160208183030381529060405290612384576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b91906156f0565b50601b61239182826163ff565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156123ec575f80fd5b505af11580156123fe573d5f803e3d5ffd5b505050505a601c55604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e0916004808301925f92919082900301818387803b158015612469575f80fd5b505af1158015611683573d5f803e3d5ffd5b6001600160a01b0381166124d07f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617614125565b6001600160a01b031614610636576124e78261285d565b8160405163d787b73760e01b8152600401611d7b9291906160ba565b5f5a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c454400000000000000000000000060648201525f6024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303815f875af11580156125a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125c99190616178565b6125d05750565b5f609f82601c546125e191906164bb565b6125eb91906164bb565b6125f69060016161c4565b90505f8111612661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401611d7b565b80601d601b60405161267391906164ce565b90815260405190819003602001902055601e80546001810182555f919091527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350016126bf601b826164d9565b50612751601b80546126d0906160e4565b80601f01602080910402602001604051908101604052809291908181526020018280546126fc906160e4565b80156127475780601f1061271e57610100808354040283529160200191612747565b820191905f5260205f20905b81548152906001019060200180831161272a57829003601f168201915b50505050506141be565b60408051602081019091525f8152601b90610ccc90826163ff565b611683858585858561277d8b6127da565b6142b2565b61278b81613156565b8360ff1610156127a7576127a285858585856127c5565b611683565b61168385856127b584613156565b6127bf90876161ab565b8561311e565b61168385856127d484876145a1565b85612d13565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161282857507e60030220202000000000000000000000000000000000000000000000000000919050565b610aa86128557f746273746f72650000000000000000005461626c657300000000000000000000846145d1565b60205f614629565b606081601081901b5f61286f83614679565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156128ca576128c57fffffffffffffffffffffffffffff000000000000000000000000000000000000841661468f565b612901565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612928576129238361468f565b61295f565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612971939291906165a4565b6040516020818303038152906040529350505050919050565b60605f60605f61299985614714565b90506129a6878783614736565b93505f6129b286613a49565b90508015612a80576129c48888613cd5565b935066ffffffffffffff841667ffffffffffffffff8111156129e8576129e8615aec565b6040519080825280601f01601f191660200182016040528015612a12576020820181803683370190505b509250602083015f5b828160ff161015612a7d575f612a328b8b8461407c565b90505f612a4e888460ff166028026038011c64ffffffffff1690565b9050612a5c825f838761476b565b612a6681856161c4565b935050508080612a7590616619565b915050612a1b565b50505b505093509350939050565b606081831115612ad1576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401611d7b565b5f612adc8787613cd5565b90505f612af8828760ff166028026038011c64ffffffffff1690565b90508085101580612b0857508084115b15612b63578081861015612b2657612b216001866164bb565b612b28565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611d7b565b5f612b6f89898961407c565b9050612b7e81878888036140fa565b9998505050505050505050565b6106368282612b99856127da565b614832565b613a3160f11b836001600160f01b03191614612bce57613a3160f11b8384604051602001611d3991815260200190565b612bd783613ae3565b612c30578283604051602001612bef91815260200190565b60408051601f19818403018152908290527f41e713ad000000000000000000000000000000000000000000000000000000008252611d7b9291600401616227565b610ccc837fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166bff0000000000000000000000605885901b1617614aeb565b612c7e8282612fa8565b610636576124e78261285d565b5f610833612c998686614ba0565b60ff858116601b0360080285901c16612cb285876145a1565b614629565b5f80612cc283613156565b90508060ff168460ff161015612cea5760ff848116601b0360080284901c165b9150506110ca565b612ce28686612cf984886161ab565b6130ea565b5f6110de848484612d0e886127da565b612cb7565b611bdd60f21b846001600160f01b03191603612d6a57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612d5d93929190616671565b60405180910390a2611ce6565b5f612d758585614ba0565b90505f612d8186614bb4565b90505f5b8151811015612e4f575f828281518110612da157612da16161d7565b60200260200101519050612dcd6004826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612e46576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612e18908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612e2f575f80fd5b505af1158015612e41573d5f803e3d5ffd5b505050505b50600101612d85565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612e8493929190616671565b60405180910390a2612e9f828565ffffffffffff1685614c56565b5f5b8151811015610a22575f828281518110612ebd57612ebd6161d7565b60200260200101519050612ee96008826affffffffffffffffffffff1916614c3990919063ffffffff16565b15612f62576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612f34908b908b908b908b906004016166a3565b5f604051808303815f87803b158015612f4b575f80fd5b505af1158015612f5d573d5f803e3d5ffd5b505050505b50600101612ea1565b61077a868686868686612f7e8d8d613cd5565b613ce7565b60605f6060612f9b8585612f96886127da565b61298a565b9250925092509250925092565b5f612ff57f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614c6c565b806110e157506110e18383614c6c565b6106368215825b81610636577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405161304091906166e6565b60405180910390a161063682614d19565b60606110de848484613062886127da565b611962565b5f61307182614d8d565b905061307c82613ae3565b611359578182604051602001612bef91815260200190565b5f61309f8585613cd5565b90505f6130bb828560ff166028026038011c64ffffffffff1690565b905061077a8686866130d48764ffffffffff87166164bb565b604080515f815260208101909152889088613ce7565b5f6110de826121be8686613cd5565b5f61310382614e1c565b905080611359578182604051602001612bef91815260200190565b5f6131298585613cd5565b90505f613145828560ff166028026038011c64ffffffffff1690565b905061077a8686865f858888613ce7565b5f60086001613167600260206164bb565b61317191906164bb565b61317b919061672c565b8260ff911c1692915050565b60606108336131968686614ba0565b6131a084866145a1565b60ff868116601b0360080286901c166140fa565b5f6131bf8484614eab565b90505f815167ffffffffffffffff8111156131dc576131dc615aec565b604051908082528060200260200182016040528015613205578160200160208202803683370190505b5090505f805b83518110156132c957846001600160a01b031661324f858381518110613233576132336161d7565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146132c15783818151811061326f5761326f6161d7565b6020026020010151838381518110613289576132896161d7565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b60010161320b565b5080825261077a868684614f0c565b6040805160028082526060828101909352816020015b60608152602001906001900390816132ee5790505090506040518060400160405280600a81526020017f7265736f75726365496400000000000000000000000000000000000000000000815250815f8151811061334d5761334d6161d7565b60200260200101819052506040518060400160405280600681526020017f63616c6c65720000000000000000000000000000000000000000000000000000815250816001815181106133a1576133a16161d7565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816133c65790505090506040518060400160405280600681526020017f6163636573730000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f61342e614f60565b9050306001600160a01b038216036134535761344e878787878787611cec565b610a22565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906134a2908a908a908a908a908a908a90600401616743565b5f604051808303815f87803b1580156134b9575f80fd5b505af11580156134cb573d5f803e3d5ffd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816134ef5790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b604080516001808252818301909252606091816020015b60608152602001906001900390816135655790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250815f815181106133a1576133a16161d7565b5f6135cd614f60565b9050306001600160a01b038216036135f1576135ec86868686866127c5565b61077a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061363e908990899089908990899060040161677f565b5f604051808303815f87803b158015613655575f80fd5b505af1158015613667573d5f803e3d5ffd5b50505050505050505050565b806136aa576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6136b482613a49565b905060058111156136fb576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611d7b565b5f61370583613156565b90505f61371283836161c4565b9050601c811115613759576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611d7b565b5f805b838110156138025760ff601b82900360080287901c165f8190036137af576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b60208111156137ed576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b6137f781846161c4565b92505060010161375c565b5061380c85614714565b81146138585761381b85614714565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611d7b565b825b601c81101561077a5760ff601b82900360080287901c1680156138ac576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b5060010161385a565b801580156138c1575081155b156138e15760405163d498615960e01b81525f6004820152602401611d7b565b5f6138eb83613a49565b905060058111156139125760405163d498615960e01b815260048101829052602401611d7b565b5f61391c84613156565b90505f61392983836161c4565b9050601c8111156139505760405163d498615960e01b815260048101829052602401611d7b565b5f805b838110156139b9575f613969611fc18984613a65565b9050805f036139a4576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139ae81846161c4565b925050600101613953565b506139c386614714565b81146139ee576139d286614714565b60405163d498615960e01b8152600401611d7b91815260200190565b825b82811015610a22575f613a06611fc18984613a65565b90508015613a40576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016139f0565b5f6008600180613a5b600260206164bb565b61316791906164bb565b5f601b8290036008028360ff911c1660c58111156110e1576110e1616213565b5f808260c5811115613a9957613a99616213565b60ff1690506061811015613ab357601f1660010192915050565b60618360c5811115613ac757613ac7616213565b03613ad55750601492915050565b505f92915050565b50919050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613b1a57613b1a6161d7565b60209081029190910101525f613b597f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612c8b565b90506110ca8160f81c90565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091525f613b9b8484614f99565b90505f613ba88585614fb5565b6040805160018082528183019092529192505f91906020808301908036833701905050905089815f81518110613be057613be06161d7565b60209081029190910101526136677f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006142b2565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110613c6c57613c6c6161d7565b602002602001018181525050610ccc7f746273746f72650000000000000000005265736f7572636549647300000000005f1b825f85604051602001613cb891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b6127c5565b5f6110e1613ce38484614fe1565b5490565b613a3160f11b876001600160f01b03191614613d1757613a3160f11b8788604051602001611d3991815260200190565b5f613d31828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683613d4991906164bb565b613d5391906161c4565b9050808214158015613d75575081613d6b86886167c5565b64ffffffffff1614155b15613dc5576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401611d7b565b818664ffffffffff161115613e16576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401611d7b565b5f613e22848984615036565b90505f613e2e8b614bb4565b90505f5b8151811015613ef2575f828281518110613e4e57613e4e6161d7565b60200260200101519050613e7a6010826affffffffffffffffffffff1916614c3990919063ffffffff16565b15613ee957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401613ebb97969594939291906167ea565b5f604051808303815f87803b158015613ed2575f80fd5b505af1158015613ee4573d5f803e3d5ffd5b505050505b50600101613e32565b5064ffffffffff88165f5b8a60ff168160ff161015613f3057613f24878260ff166028026038011c64ffffffffff1690565b90910190600101613efd565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613f6b96959493929190616847565b60405180910390a250828414613f8b575f613f868c8c614fe1565b839055505b5f613f978c8c8c61407c565b9050613fab818a64ffffffffff1689614c56565b505f5b815181101561406e575f828281518110613fca57613fca6161d7565b60200260200101519050613ff66020826affffffffffffffffffffff1916614c3990919063ffffffff16565b1561406557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161403797969594939291906167ea565b5f604051808303815f87803b15801561404e575f80fd5b505af1158015614060573d5f803e3d5ffd5b505050505b50600101613fae565b505050505050505050505050565b5f8383604051602001614090929190616895565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b60405160208101601f19603f848401011660405282825261411d8585858461476b565b509392505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061415c5761415c6161d7565b60209081029190910101525f6141b37f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000615103565b60601c949350505050565b6109087f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b0316636900a3ae601d84604051614202919061615d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261424b9160040190815260200190565b5f60405180830381865afa158015614265573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261428c91908101906168cf565b8260405160200161429e929190616938565b6040516020818303038152906040526151b5565b611bdd60f21b866001600160f01b0319160361430b57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516142fe94939291906169b8565b60405180910390a261077a565b5f61431587614bb4565b90505f5b81518110156143e7575f828281518110614335576143356161d7565b602002602001015190506143616001826affffffffffffffffffffff1916614c3990919063ffffffff16565b156143de576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906143b0908c908c908c908c908c908c906004016169f6565b5f604051808303815f87803b1580156143c7575f80fd5b505af11580156143d9573d5f803e3d5ffd5b505050505b50600101614319565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161441e94939291906169b8565b60405180910390a25f6144318888614ba0565b90505f602087019050614447825f895184615226565b5f61445185613a49565b11156144d1575f6144628a8a614fe1565b87815590506020860191505f805f5b61447a88613a49565b8160ff1610156144cc5761448f8d8d8361407c565b92506144aa8a8260ff166028026038011c64ffffffffff1690565b91506144b8835f8488615226565b6144c282866161c4565b9450600101614471565b505050505b5f5b8351811015613667575f8482815181106144ef576144ef6161d7565b6020026020010151905061451b6002826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614598576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061456a908e908e908e908e908e908e906004016169f6565b5f604051808303815f87803b158015614581575f80fd5b505af1158015614593573d5f803e3d5ffd5b505050505b506001016144d3565b5f80805b8360ff1681101561411d576145c760ff601b83900360080287901c16836161c4565b91506001016145a5565b60408051602081018490529081018290525f906060015b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f6020821061464e5760208204840193506020828161464a5761464a616a4e565b0691505b508254600882021b60208290038084111561411d576001850154600882021c82179150509392505050565b5f614686607060106161c4565b9190911b919050565b60605f5b60108110156146e4576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156146e457600101614693565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806110ca565b5f6008614723600260206164bb565b61472d919061672c565b9190911c919050565b6060815f03614753575060408051602081019091525f81526110e1565b5f61475e8585614ba0565b9050610833815f856140fa565b82156147ef57602083106147955760208304840193506020838161479157614791616a4e565b0692505b82156147ef5760208390035f818410156147b657505f19600884021c6147bf565b505f19600882021c5b8554600886021b8184511682198216178452508184116147e0575050611ce6565b50600194909401939182900391015b5b602082106148115783548152600190930192601f19909101906020016147f0565b8115611ce6575f5f19600884021c8251865482191691161782525050505050565b611bdd60f21b836001600160f01b0319160361488557827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516148789190616a62565b60405180910390a2505050565b5f61488f84614bb4565b90505f5b815181101561495b575f8282815181106148af576148af6161d7565b602002602001015190506148db6040826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614952576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061492490899089908990600401616a74565b5f604051808303815f87803b15801561493b575f80fd5b505af115801561494d573d5f803e3d5ffd5b505050505b50600101614893565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161498c9190616a62565b60405180910390a25f61499f8585614ba0565b90506149f7815f6149af86614714565b67ffffffffffffffff8111156149c7576149c7615aec565b6040519080825280601f01601f1916602001820160405280156149f1576020820181803683370190505b50614c56565b5f614a0184613a49565b1115614a21575f614a128686614fe1565b9050614a1f8160206152e1565b505b5f5b825181101561077a575f838281518110614a3f57614a3f6161d7565b60200260200101519050614a6b6080826affffffffffffffffffffff1916614c3990919063ffffffff16565b15614ae2576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90614ab4908a908a908a90600401616a74565b5f604051808303815f87803b158015614acb575f80fd5b505af1158015614add573d5f803e3d5ffd5b505050505b50600101614a23565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614b1f57614b1f6161d7565b602002602001018181525050610ccc7f746273746f726500000000000000000053746f7265486f6f6b730000000000005f1b825f85604051602001614b8c91907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b604051602081830303815290604052612167565b5f82826040516020016145e8929190616895565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614bec57614bec6161d7565b60209081029190910101525f614c237f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361219f565b90506110ca614c34825f845161531c565b6153a8565b5f8160ff1682614c498560581c90565b1660ff1614905092915050565b610ccc83838351614c678560200190565b615226565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110614ca357614ca36161d7565b602002602001018181525050826001600160a01b03165f1b81600181518110614cce57614cce6161d7565b60209081029190910101525f614d0d7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b615103565b90506108338160f81c90565b80610908577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614d7d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16109086153b7565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614dc457614dc46161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110614e5357614e536161d7565b60209081029190910101525f6110ca7f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000612c8b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110614ee357614ee36161d7565b6020026020010181815250505f614efb85835f61219f565b9050610833614c34825f845161531c565b6040805160018082528183019092525f916020808301908036833701905050905082815f81518110614f4057614f406161d7565b602002602001018181525050611ce684825f614f5b866154f1565b61311e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b031680611359573391505090565b815181515f9181810160389190911b1760609190911b176110e1565b60608282604051602001614fca929190616a9c565b604051602081830303815290604052905092915050565b5f8282604051602001614ff5929190616895565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f64ffffffffff821115615079576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401611d7b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106150ab57808503820191506150b3565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b5f8061510d614f60565b9050306001600160a01b0382160361512b57612ce286868686612c8b565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990615176908990899089908990600401616aca565b602060405180830381865afa158015615191573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce29190616af8565b610908816040516024016151c991906156f0565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052615500565b821561529e57602083106152505760208304840193506020838161524c5761524c616a4e565b0692505b821561529e5760208390035f5f19600885021c1990506008850281811c91508351811c905081198754168282161787555081841161528f575050611ce6565b50600194909401939182900391015b5b602082106152c05780518455600190930192601f199091019060200161529f565b8115611ce6575f5f19600884021c8554835182191691161785555050505050565b5f60206152ef83601f6161c4565b6152f99190616b0f565b61530390846161c4565b90505b80831015610ccc575f8355600183019250615306565b5f8183118061532b5750835182115b15615368578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401611d7b93929190616b2e565b6020840161537684826161c4565b90505f61538385856164bb565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f6110e18360155f615520565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156154c45760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000092820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526154679291602001616116565b60408051601f19818403018152908290526154819161615d565b5f604051808303815f865af19150503d805f81146154ba576040519150601f19603f3d011682016040523d82523d5f602084013e6154bf565b606091505b505050505b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6060816110e18160155f615598565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b60605f61552d8560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161555257615552616a4e565b0490506040519350602084016020820281016040528185525f5b8281101561558c578451871c82529387019360209091019060010161556c565b50505050509392505050565b82516060905f6155a8858361672c565b9050604051925060208301601f19603f83860101166040528184525f602088015b8482101561558c578051871b835291870191600191909101906020016155c9565b5f8083601f8401126155fa575f80fd5b50813567ffffffffffffffff811115615611575f80fd5b6020830191508360208260051b850101111561562b575f80fd5b9250929050565b803560ff81168114611359575f80fd5b5f805f805f60808688031215615656575f80fd5b85359450602086013567ffffffffffffffff811115615673575f80fd5b61567f888289016155ea565b9095509350615692905060408701615632565b949793965091946060013592915050565b5f5b838110156156bd5781810151838201526020016156a5565b50505f910152565b5f81518084526156dc8160208601602086016156a3565b601f01601f19169290920160200192915050565b602081525f6110e160208301846156c5565b80356001600160a01b0381168114611359575f80fd5b5f8060408385031215615729575f80fd5b8235915061573960208401615702565b90509250929050565b5f805f805f805f8060c0898b031215615759575f80fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff8082111561578c575f80fd5b6157988c838d016155ea565b909650945060a08b01359150808211156157b0575f80fd5b506157bd8b828c016155ea565b999c989b5096995094979396929594505050565b5f8083601f8401126157e1575f80fd5b50813567ffffffffffffffff8111156157f8575f80fd5b60208301915083602082850101111561562b575f80fd5b5f805f805f8060808789031215615824575f80fd5b86359550602087013567ffffffffffffffff80821115615842575f80fd5b61584e8a838b016155ea565b909750955085915061586260408a01615632565b94506060890135915080821115615877575f80fd5b5061588489828a016157d1565b979a9699509497509295939492505050565b5f805f80606085870312156158a9575f80fd5b84359350602085013567ffffffffffffffff8111156158c6575f80fd5b6158d2878288016155ea565b90945092506158e5905060408601615632565b905092959194509250565b602080825282518282018190525f9190848201906040850190845b818110156159305783516001600160a01b03168352928401929184019160010161590b565b50909695505050505050565b5f805f805f805f8060a0898b031215615953575f80fd5b88359750602089013567ffffffffffffffff80821115615971575f80fd5b61597d8c838d016155ea565b909950975060408b0135915080821115615995575f80fd5b6159a18c838d016157d1565b909750955060608b0135945060808b01359150808211156159c0575f80fd5b506157bd8b828c016157d1565b5f805f805f805f60a0888a0312156159e3575f80fd5b87359650602088013567ffffffffffffffff80821115615a01575f80fd5b615a0d8b838c016155ea565b9098509650869150615a2160408b01615632565b955060608a0135915080821115615a36575f80fd5b50615a438a828b016157d1565b989b979a50959894979596608090950135949350505050565b5f60208284031215615a6c575f80fd5b5035919050565b5f805f8060608587031215615a86575f80fd5b84359350602085013567ffffffffffffffff811115615aa3575f80fd5b615aaf878288016155ea565b9598909750949560400135949350505050565b606081525f615ad460608301866156c5565b846020840152828103604084015261062281856156c5565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715615b2957615b29615aec565b604052919050565b5f67ffffffffffffffff821115615b4a57615b4a615aec565b5060051b60200190565b5f82601f830112615b63575f80fd5b81356020615b78615b7383615b31565b615b00565b8083825260208201915060208460051b870101935086841115615b99575f80fd5b602086015b84811015615bb55780358352918301918301615b9e565b509695505050505050565b5f805f805f60a08688031215615bd4575f80fd5b85359450602086013567ffffffffffffffff811115615bf1575f80fd5b615bfd88828901615b54565b945050615c0c60408701615632565b94979396509394606081013594506080013592915050565b5f8060408385031215615c35575f80fd5b82359150602083013567ffffffffffffffff811115615c52575f80fd5b615c5e85828601615b54565b9150509250929050565b5f805f60608486031215615c7a575f80fd5b83359250615c8a60208501615702565b9150615c9860408501615632565b90509250925092565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b83811015615d7a578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018552815180516001600160a01b031684528701518784018790528051878501819052908801905f9060608601905b80831015615d655783517fffffffff00000000000000000000000000000000000000000000000000000000168252928a019260019290920191908a0190615d23565b50968901969450505090860190600101615cc8565b509098975050505050505050565b5f8282518085526020808601955060208260051b840101602086015f5b84811015615dd357601f19868403018952615dc18383516156c5565b98840198925090830190600101615da5565b5090979650505050505050565b602081525f6110e16020830184615d88565b5f805f8060808587031215615e05575f80fd5b84359350602085013567ffffffffffffffff811115615e22575f80fd5b615e2e87828801615b54565b935050615e3d60408601615632565b9396929550929360600135925050565b5f805f60608486031215615e5f575f80fd5b83359250602084013567ffffffffffffffff811115615e7c575f80fd5b615e8886828701615b54565b925050615c9860408501615632565b5f805f805f8060808789031215615eac575f80fd5b86359550602087013567ffffffffffffffff80821115615eca575f80fd5b615ed68a838b016155ea565b90975095506040890135915065ffffffffffff82168214615ef5575f80fd5b90935060608801359080821115615877575f80fd5b803564ffffffffff81168114611359575f80fd5b5f805f805f805f8060c0898b031215615f35575f80fd5b88359750602089013567ffffffffffffffff80821115615f53575f80fd5b615f5f8c838d016155ea565b9099509750879150615f7360408c01615632565b9650615f8160608c01615f0a565b9550615f8f60808c01615f0a565b945060a08b01359150808211156159c0575f80fd5b5f805f60408486031215615fb6575f80fd5b83359250602084013567ffffffffffffffff811115615fd3575f80fd5b615fdf868287016155ea565b9497909650939450505050565b5f67ffffffffffffffff82111561600557616005615aec565b50601f01601f191660200190565b5f616020615b7384615b31565b80848252602080830192508560051b85013681111561603d575f80fd5b855b818110156160ae57803567ffffffffffffffff81111561605d575f80fd5b870136601f82011261606d575f80fd5b803561607b615b7382615fec565b818152368683850101111561608e575f80fd5b81868401878301375f91810186019190915286525093820193820161603f565b50919695505050505050565b604081525f6160cc60408301856156c5565b90506001600160a01b03831660208301529392505050565b600181811c908216806160f857607f821691505b602082108103613add57634e487b7160e01b5f52602260045260245ffd5b7fffffffff00000000000000000000000000000000000000000000000000000000831681525f825161614f8160048501602087016156a3565b919091016004019392505050565b5f825161616e8184602087016156a3565b9190910192915050565b5f60208284031215616188575f80fd5b815180151581146110e1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115610aa857610aa8616197565b80820180821115610aa857610aa8616197565b634e487b7160e01b5f52603260045260245ffd5b6001600160f01b031984168152826020820152606060408201525f61083360608301846156c5565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f6110de60408301846156c5565b5f815461624b816160e4565b600182811680156162635760018114616296576162c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506162c2565b855f526020805f205f5b858110156162b95781548a8201529084019082016162a0565b50505082870194505b5050505092915050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f6162fd600c83018461623f565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b7f676173207265706f72742022000000000000000000000000000000000000000081525f825161638781600c8501602087016156a3565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115610ccc57805f5260205f20601f840160051c810160208510156163e05750805b601f840160051c820191505b81811015611683575f81556001016163ec565b815167ffffffffffffffff81111561641957616419615aec565b61642d8161642784546160e4565b846163bb565b602080601f831160018114616460575f84156164495750858301515b5f19600386901b1c1916600185901b17855561077a565b5f85815260208120601f198616915b8281101561648e5788860151825594840194600190910190840161646f565b50858210156164ab57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115610aa857610aa8616197565b5f6110e1828461623f565b8181036164e4575050565b6164ee82546160e4565b67ffffffffffffffff81111561650657616506615aec565b6165148161642784546160e4565b5f601f821160018114616545575f831561652e5750848201545b5f19600385901b1c1916600184901b178455611683565b5f8581526020808220868352908220601f198616925b8381101561657b578286015482556001958601959091019060200161655b565b50858310156164ab579301545f1960f8600387901b161c19169092555050600190811b01905550565b6001600160f01b0319841681525f7f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516165ec8160038601602089016156a3565b80840190508160038201528451915061660c8260048301602088016156a3565b0160040195945050505050565b5f60ff821660ff810361662e5761662e616197565b60010192915050565b5f815180845260208085019450602084015f5b838110156166665781518752958201959082019060010161664a565b509495945050505050565b606081525f6166836060830186616637565b65ffffffffffff85166020840152828103604084015261062281856156c5565b848152608060208201525f6166bb6080830186616637565b65ffffffffffff8516604084015282810360608401526166db81856156c5565b979650505050505050565b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201525f6110e160808301846156c5565b8082028115828204841417610aa857610aa8616197565b86815285602082015284604082015283606082015260c060808201525f61676d60c0830185615d88565b82810360a0840152612b7e8185615d88565b85815260a060208201525f61679760a0830187616637565b60ff8616604084015282810360608401526167b281866156c5565b9150508260808301529695505050505050565b64ffffffffff8181168382160190808211156167e3576167e3616197565b5092915050565b87815260e060208201525f61680260e0830189616637565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261683981856156c5565b9a9950505050505050505050565b60c081525f61685960c0830189616637565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152612b7e81856156c5565b8281525f60208083018451602086015f5b828110156168c2578151845292840192908401906001016168a6565b5091979650505050505050565b5f602082840312156168df575f80fd5b815167ffffffffffffffff8111156168f5575f80fd5b8201601f81018413616905575f80fd5b8051616913615b7382615fec565b818152856020838501011115616927575f80fd5b6108338260208301602086016156a3565b7f474153205245504f52543a20000000000000000000000000000000000000000081525f835161696f81600c8501602088016156a3565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516169ac81600d8401602088016156a3565b01600d01949350505050565b608081525f6169ca6080830187616637565b82810360208401526169dc81876156c5565b905084604084015282810360608401526166db81856156c5565b86815260c060208201525f616a0e60c0830188616637565b8281036040840152616a2081886156c5565b90508560608401528281036080840152616a3a81866156c5565b9150508260a0830152979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b602081525f6110e16020830184616637565b838152606060208201525f616a8c6060830185616637565b9050826040830152949350505050565b5f8351616aad8184602088016156a3565b835190830190616ac18183602088016156a3565b01949350505050565b848152608060208201525f616ae26080830186616637565b60ff949094166040830152506060015292915050565b5f60208284031215616b08575f80fd5b5051919050565b5f82616b2957634e487b7160e01b5f52601260045260245ffd5b500490565b606081525f616b4060608301866156c5565b6020830194909452506040015291905056fe416363657373436f6e74726f6c3a20726571756972654f776e657220287761726d29416363657373436f6e74726f6c3a207265717569726541636365737320287761726d2963616c6c65722073686f756c6420686176652061636365737320746f20746865206e616d657370616365416363657373436f6e74726f6c3a2068617341636365737320287761726d2c206e616d657370616365206f6e6c792961636365737320746f20746865207461626c652073686f756c642068617665206265656e206772616e746564416363657373436f6e74726f6c3a20726571756972654f776e65722028636f6c6429416363657373436f6e74726f6c3a20726571756972654163636573732028636f6c642963616c6c65722073686f756c64206e6f7420686176652061636365737320746f20746865207461626c6561636365737320746f20746865207461626c652073686f756c642068617665206265656e207265766f6b6564416363657373436f6e74726f6c3a207265717569726541636365737320287468697320616464726573732961636365737320746f20746865206e616d6573706163652073686f756c642068617665206265656e207265766f6b6564a164736f6c6343000818000a","sourceMap":"703:4117:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4012:258:28;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4413:150:47;;;;;;:::i;:::-;;:::i;:::-;;1087:369:137;;;:::i;3756:309:47:-;;;;;;:::i;:::-;;:::i;1840:207::-;;;;;;:::i;:::-;;:::i;2987:253::-;;;;;;:::i;:::-;;:::i;5279:244:28:-;;;;;;:::i;:::-;;:::i;2170:134:54:-;;;:::i;:::-;;;;;;;:::i;4159:345:137:-;;;:::i;878:275:47:-;;;;;;:::i;:::-;;:::i;2088:249::-;;;;;;:::i;:::-;;:::i;2378:261::-;;;;;;:::i;:::-;;:::i;779:156:28:-;;;;;;:::i;:::-;;:::i;:::-;;;9023:25:162;;;9011:2;8996:18;779:156:28;8845:209:162;4572:246:137;;;:::i;2939:133:54:-;;;:::i;2640:141::-;;;:::i;2673:289:28:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7802:295::-;;;;;;:::i;:::-;;:::i;3616:136:47:-;;;;;;:::i;:::-;;:::i;4142:192::-;;;;;;:::i;:::-;;:::i;3907:248:137:-;;;:::i;2456:178:54:-;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;4667:265:28:-;;;;;;:::i;:::-;;:::i;2787:146:54:-;;;:::i;6537:258:28:-;;;;;;:::i;:::-;;:::i;5985:216::-;;;;;;:::i;:::-;;:::i;1207:214:47:-;;;;;;:::i;:::-;;:::i;1875:141:54:-;;;:::i;1819:584:48:-;;;:::i;:::-;;;18393:14:162;;18386:22;18368:41;;18356:2;18341:18;1819:584:48;18228:187:162;1476:323:47;;;;;;:::i;:::-;;:::i;1093:85:27:-;1160:13;1093:85;;1974:247:28;;;;;;:::i;:::-;;:::i;1460:1662:137:-;;;:::i;3441:216:28:-;;;;;;:::i;:::-;;:::i;1454:143::-;;;;;;:::i;:::-;;:::i;3303:258:47:-;;;;;;:::i;:::-;;:::i;7118:244:28:-;;;;;;:::i;:::-;;:::i;2022:142:54:-;;;:::i;1122:151:28:-;;;;;;:::i;:::-;;:::i;3190:649:137:-;;;:::i;2688:235:47:-;;;;;;:::i;:::-;;:::i;1572:26:48:-;;;;;;;;;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;:::-;4196:69;4012:258;-1:-1:-1;;;;;;4012:258:28:o;4413:150:47:-;4507:51;4537:7;4546:11;4507:29;:51::i;:::-;4413:150;;:::o;1087:369:137:-;1117:25;:23;:25::i;:::-;1148;:23;:25::i;:::-;1190:87;-1:-1:-1;;;1253:9:137;1270:4;1190:25;:87::i;:::-;1179:8;:98;1589:65:95;1283:12:137;:60;;;1350:47;;1391:4;1350:18;:47::i;:::-;1403:48;1422:8;;957:6;1446:4;1403:18;:48::i;:::-;1087:369::o;3756:309:47:-;3969:91;3993:7;4002:11;4015:9;4026:11;3969:91;4039:8;;3969:91;:::i;:::-;;4049:10;;3969:91;:::i;:::-;:23;:91::i;:::-;3756:309;;;;;;;;:::o;1840:207::-;1987:55;2006:7;2015:8;;1987:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1987:55:47;;;;;;;;;;;;;;;;;;;;;;2025:10;;-1:-1:-1;1987:55:47;-1:-1:-1;2037:4:47;;;;;;1987:55;;2037:4;;;;1987:55;;;;;;;;;-1:-1:-1;1987:18:47;;-1:-1:-1;;;1987:55:47:i;:::-;1840:207;;;;;;:::o;2987:253::-;3157:78;3186:7;3195:8;;3157:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3157:78:47;;;;;;;;;;;;;;;;;;;;;;3205:17;;-1:-1:-1;3157:78:47;-1:-1:-1;3224:10:47;;;;;;3157:78;;3224:10;;;;3157:78;;;;;;;;;-1:-1:-1;3157:28:47;;-1:-1:-1;;;3157:78:47:i;5279:244:28:-;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;2170:134:54:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:54;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;4159:345:137:-;4200:18;4221:8;;4200:29;;4236:52;;;;;;;;;;;;;;;;;;:14;:52::i;:::-;4294:50;4321:7;4338:4;4294:26;:50::i;:::-;4350:14;:12;:14::i;:::-;4371:52;;;;;;;;;;;;;;;;;;:14;:52::i;:::-;4429:50;4456:7;4473:4;4429:26;:50::i;:::-;4485:14;:12;:14::i;:::-;4194:310;4159:345::o;878:275:47:-;1069:79;1089:7;1098:8;;1069:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1069:79:47;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1108:10:47;;-1:-1:-1;1108:10:47;;;;1069:79;;1108:10;;;;1069:79;;;;;;;;;-1:-1:-1;;1069:79:47;;;;;;;;;;;;;;;;;;;;;;1120:14;;-1:-1:-1;1069:79:47;-1:-1:-1;1136:11:47;;;;;;1069:79;;1136:11;;;;1069:79;;;;;;;;;-1:-1:-1;1069:19:47;;-1:-1:-1;;;1069:79:47:i;2088:249::-;2264:68;2283:7;2292:8;;2264:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2264:68:47;;;;;;;;;;;;;;;;;;;;;;2302:10;;-1:-1:-1;2264:68:47;-1:-1:-1;2314:4:47;;;;;;2264:68;;2314:4;;;;2264:68;;;;;;;;;-1:-1:-1;2320:11:47;;-1:-1:-1;2264:18:47;;-1:-1:-1;;2264:68:47:i;:::-;2088:249;;;;;;;:::o;2378:261::-;2560:74;2585:7;2594:8;;2560:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2560:74:47;;;;;;;;;;;;;;;;;;;;;;2604:10;;-1:-1:-1;2560:74:47;-1:-1:-1;2616:4:47;;;;;;2560:74;;2616:4;;;;2560:74;;;;;;;;;-1:-1:-1;2622:11:47;;-1:-1:-1;2560:24:47;;-1:-1:-1;;2560:74:47:i;779:156:28:-;852:23;897:33;922:7;897:24;:33::i;:::-;883:47;779:156;-1:-1:-1;;779:156:28:o;4572:246:137:-;4640:8;;4655:15;;-1:-1:-1;;;4736:18:137;4640:8;4736:16;:18::i;:::-;1010:4;4671:92;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4671:92:137;;;;;;;;;;;;;;;;;;;;;;;4655:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:43;4797:7;1010:4;4770:26;:43::i;2939:133:54:-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:54;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:54;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;2673:289:28:-;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;3616:136:47:-;3706:41;3729:7;3738:8;3706:22;:41::i;4142:192::-;4260:69;4288:7;4297:11;4310:18;4260:27;:69::i;:::-;4142:192;;;:::o;3907:248:137:-;3976:8;;3991:15;;-1:-1:-1;;;4072:18:137;3976:8;4072:16;:18::i;:::-;1010:4;4007:92;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4007:92:137;;;;;;;;;;;;;;;;;;;;;;;3991:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4106:44;4134:7;1010:4;4106:27;:44::i;2456:178:54:-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2787:146:54:-;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6537:258:28;6700:7;6722:68;6747:7;6756:8;6766:10;6778:11;6722:24;:68::i;6537:258::-;;;;;;;:::o;5985:216::-;6119:7;6141:55;6166:7;6175:8;6185:10;6141:24;:55::i;:::-;6134:62;;5985:216;;;;;;:::o;1207:214:47:-;1358:58;1385:7;1394:8;;1358:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1358:58:47;;;;;;;;;;;;;;;;;;;;;;1404:5;;-1:-1:-1;1358:58:47;-1:-1:-1;1411:4:47;;;;;;1358:58;;1411:4;;;;1358:58;;;;;;;;;-1:-1:-1;1358:26:47;;-1:-1:-1;;;1358:58:47:i;1875:141:54:-;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:48;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23504:74:162;;;2221:17:48;23594:18:162;;;23587:34;2196:43:48;;;;;;;;;23477:18:162;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;1476:323:47:-;1692:102;1720:7;1729:8;;1692:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1692:102:47;;;;;;;;;;;;;;;;;;;;;;1739:17;;-1:-1:-1;1758:16:47;;-1:-1:-1;1776:11:47;;1789:4;;;;;;1692:102;;1789:4;;;;1692:102;;;;;;;;;-1:-1:-1;1692:27:47;;-1:-1:-1;;;1692:102:47:i;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;1460:1662:137:-;1502:18;1523:8;;1502:29;;1537:22;1562:12;;1537:37;;1580:14;1669:49;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;1736:40;1760:7;1010:4;1736:23;:40::i;:::-;1724:52;;1782:14;:12;:14::i;:::-;1802:68;1814:9;1802:68;;;;;;;;;;;;;;;;;:11;:68::i;:::-;1914:45;1933:11;1010:4;1954;1914:18;:45::i;:::-;2031:65;;;;;;;;;;;;;;;;;;:14;:65::i;:::-;2114:40;2138:7;1010:4;2114:23;:40::i;:::-;2102:52;;2160:14;:12;:14::i;:::-;2180:67;2191:9;2180:67;;;;;;;;;;;;;;;;;:10;:67::i;:::-;2292:46;2311:11;1010:4;2332:5;2292:18;:46::i;:::-;2413:49;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;2480:40;2504:7;1010:4;2480:23;:40::i;:::-;2468:52;;2526:14;:12;:14::i;:::-;2546:74;2558:9;2546:74;;;;;;;;;;;;;;;;;:11;:74::i;:::-;2659:41;2678:7;1010:4;2695;2659:18;:41::i;:::-;2759:100;2770:40;2794:7;1010:4;2770:23;:40::i;:::-;2759:100;;;;;;;;;;;;;;;;;:10;:100::i;:::-;2899:42;2918:7;1010:4;2935:5;2899:18;:42::i;:::-;3016:101;3028:40;3052:7;1010:4;3028:23;:40::i;:::-;3016:101;;;;;;;;;;;;;;;;;:11;:101::i;3441:216:28:-;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;3303:258:47:-;3472:84;3502:7;3511:8;;3472:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3521:17:47;;-1:-1:-1;3540:15:47;;-1:-1:-1;3472:29:47;;-1:-1:-1;3472:84:47:i;:::-;3303:258;;;;;:::o;7118:244:28:-;7266:7;7288:69;7320:7;7329:8;7339:17;7288:31;:69::i;2022:142:54:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:54;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;1122:151:28:-;1195:18;1235:33;1260:7;1235:24;:33::i;3190:649:137:-;3232:18;3253:8;;3232:29;;3268:53;;;;;;;;;;;;;;;;;;:14;:53::i;:::-;3327:50;3355:7;957:6;3327:27;:50::i;:::-;3383:14;:12;:14::i;:::-;3404:53;;;;;;;;;;;;;;;;;;:14;:53::i;:::-;3463:50;3491:7;957:6;3463:27;:50::i;:::-;3519:14;:12;:14::i;:::-;3540:16;;;;;1010:4;3540:16;;;24787:74:162;3540:8:137;;;;24760:18:162;;3540:16:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3562:15:137;;-1:-1:-1;3562:15:137;;-1:-1:-1;;;;3608:40:137;-1:-1:-1;3650:18:137;:7;:16;:18::i;:::-;3678:4;3585:99;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3585:99:137;;;;;;;;;;;;;;;;;;;;;;;3562:128;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3696:61;;;;;;;;;;;;;;;;;;:14;:61::i;:::-;3763:51;3791:7;3808:4;3763:27;:51::i;2688:235:47:-;2849:69;2875:7;2884:8;;2849:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2849:69:47;;;;;;;;;;;;;;;;;;;;;;2894:17;;-1:-1:-1;2849:69:47;-1:-1:-1;2913:4:47;;;;;;2849:69;;2913:4;;;;2849:69;;;;;;;;;-1:-1:-1;2849:25:47;;-1:-1:-1;;;2849:69:47:i;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;10984:172::-;11072:79;969:66:33;11121:7:25;11138:11;11072:27;:79::i;2336:147:111:-;2371:107;1169:66;-1:-1:-1;;;1461:66:111;1615;2447:13;:11;:13::i;:::-;2462:15;:13;:15::i;:::-;2371:25;:107::i;2302:147:110:-;2337:107;1169:66;1298;1452;1609;2413:13;:11;:13::i;:::-;2428:15;:13;:15::i;1046:257:95:-;1133:10;1262:26;438:6;451:5:20;1262:26:95;:::i;:::-;-1:-1:-1;;;;;;1189:15:95;;1208:31;451:5:20;1208:31:95;;;;1189:51;-1:-1:-1;;1244:13:95;;:45;;;1189:101;;-1:-1:-1;1046:257:95;;;;;:::o;4717:266:110:-;4813:16;;;4827:1;4813:16;;;;;;;;;4784:26;;4813:16;;;;;;;;;;;-1:-1:-1;4813:16:110;4784:45;;4868:11;4835:9;4845:1;4835:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;4887:91;1169:66;1153:83;;4924:9;4935:1;4956:5;4938:25;;;;;;;25685:2:162;25681:15;;;;25698:66;25677:88;25665:101;;25791:2;25782:12;;25536:264;4938:25:110;;;;-1:-1:-1;;4938:25:110;;;;;;;;;1298:66;4887:26;:91::i;5184:333:111:-;5293:16;;;5307:1;5293:16;;;;;;;;5264:26;;5293:16;;;;;;;;;;-1:-1:-1;5293:16:111;5264:45;;5348:10;5315:9;5325:1;5315:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5404:6;-1:-1:-1;;;;;5388:24:111;5380:33;;5365:9;5375:1;5365:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5420:92;1169:66;1153:83;;5457:9;5468:1;5489:6;5471:26;;;;;;25956:14:162;25949:22;25944:3;25940:32;25928:45;;25998:1;25989:11;;25805:201;5471:26:111;;;;-1:-1:-1;;5471:26:111;;;;;;;;;-1:-1:-1;;;5420:26:111;:92::i;:::-;5258:259;5184:333;;;:::o;6637:2917:25:-;-1:-1:-1;;;6924:7:25;-1:-1:-1;;;;;;6924:35:25;;;;;:83;;-1:-1:-1;;;;6963:7:25;-1:-1:-1;;;;;;6963:44:25;;;6924:83;6920:209;;;-1:-1:-1;;;7079:7:25;7112;7095:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;7095:25:25;;;;-1:-1:-1;;7095:25:25;;;;;;;;;;7024:98;;;;;;;;;;:::i;:::-;;;;;;;;6920:209;7175:22;:11;:20;:22::i;:::-;7238:40;:9;7271:4;7238:18;:40::i;:::-;7284:43;:11;7319:5;7284:20;:43::i;:::-;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7415:8:25;:15;:40;7411:148;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7536:15:25;;7472:80;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7472:80:25;26697:248:162;7411:148:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7609:10:25;:17;:44;7605:158;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7738:17:25;;7670:86;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7670:86:25;26697:248:162;7605:158:25;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7820:50:25;7816:171;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;1683:38:35;5236:60:21;;;1515:34:35;5159:59:21;;;5153:144;5138:159;;7887:93:25;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;7887:93:25;26697:248:162;7816:171:25;8029:29;:11;:27;:29::i;:::-;7996;:11;:27;:29::i;:::-;:62;7992:225;;8134:29;:11;:27;:29::i;:::-;8173;:11;:27;:29::i;:::-;8075:135;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8075:135:25;26697:248:162;7992:225:25;8260:30;:11;:28;:30::i;:::-;8226;:11;:28;:30::i;:::-;:64;8222:230;;8367:30;:11;:28;:30::i;:::-;8407;:11;:28;:30::i;:::-;8307:138;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8307:138:25;26697:248:162;8222:230:25;8549:9;8544:314;8564:29;:11;:27;:29::i;:::-;8560:1;:33;8544:314;;;8638:44;:22;:11;8658:1;8638:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8612:70:25;8608:244;;579:1:35;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8789:44:25;:22;:11;8809:1;8789:19;:22::i;:44::-;8701:142;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;8701:142:25;26697:248:162;8608:244:25;8595:3;;8544:314;;;;8938:25;8966:63;-1:-1:-1;;;9003:25:25;:7;451:5:20;1899:44;;1798:151;9003:25:25;451:5:20;1080:26;-1:-1:-1;;;;;;1061:15:20;;;;:46;;952:161;8966:63:25;8938:91;;9035:26;9064:72;-1:-1:-1;;;9110:25:25;:7;451:5:20;1899:44;;1798:151;9064:72:25;9035:101;;9146:38;9169:14;9146:22;:38::i;:::-;:81;;;;9188:39;9211:15;9188:22;:39::i;:::-;9142:190;;;9282:7;9315;9298:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;9298:25:25;;;;-1:-1:-1;;9298:25:25;;;;;;;;;;9244:81;;;;;;;;;:::i;9142:190::-;9373:103;9385:7;9394:11;9407:9;9418:11;9442:8;9431:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9464:10;9453:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9373:11;:103::i;:::-;9512:37;9535:7;9544:4;9512:22;:37::i;20949:192::-;21066:70;21075:7;21084:8;21094:10;21106:4;21112:23;21127:7;21112:14;:23::i;:::-;21066:8;:70::i;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;330:580:0:-;394:39;;;;;;;;;27671:21:162;;;;27728:2;27708:18;;;27701:30;27767:22;27747:18;;;27740:50;309:37:49;27842:20:162;;;27835:52;394:8:0;;;;27807:19:162;;394:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;389:53;;330:580;:::o;389:53::-;468:22;462:36;;;;;:::i;:::-;;;502:1;462:41;558:22;511:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;447:220;;;;;;;;;;;;;;:::i;:::-;;681:12;694:4;681:18;;;;;;:::i;:::-;;;;;;;;;;;;;;703:1;681:23;736:4;706:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;673:101;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;780:22:0;:29;805:4;780:22;:29;:::i;:::-;;317:28:49;309:37;;-1:-1:-1;;;;;815:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:9;842:23;:35;883:22;;;;;;;;:20;;;;:22;;;;;309:37:49;;883:22:0;;;;;;;309:37:49;883:20:0;:22;;;;;;;;;;;;;;;;;;;;;;;;;;3522:232:66;-1:-1:-1;;;;;3607:57:66;;:47;696:18:136;578:36:95;2955:46;;2954:74;3607:18:66;:47::i;:::-;-1:-1:-1;;;;;3607:57:66;;3603:147;;3713:21;:10;:19;:21::i;:::-;3736:6;3681:62;;-1:-1:-1;;;3681:62:66;;;;;;;;;:::i;914:534:0:-;953:11;967:9;987:39;;;;;;;;;27671:21:162;;;;27728:2;27708:18;;;27701:30;27767:22;27747:18;;;27740:50;309:37:49;27842:20:162;;;27835:52;953:23:0;;-1:-1:-1;987:8:0;;;;27807:19:162;;987:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;982:53;;1028:7;914:534::o;982:53::-;1151:15;1201:3;1195;1169:23;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;:39;;1207:1;1169:39;:::i;:::-;1151:57;;1232:1;1222:7;:11;1214:49;;;;;;;33254:2:162;1214:49:0;;;33236:21:162;33293:2;33273:18;;;33266:30;33332:27;33312:18;;;33305:55;33377:18;;1214:49:0;33052:349:162;1214:49:0;1308:7;1269:12;1282:22;1269:36;;;;;;:::i;:::-;;;;;;;;;;;;;;:46;1321:16;:45;;;;;;;-1:-1:-1;1321:45:0;;;;;;;1343:22;1321:45;;:::i;:::-;;1372:38;1387:22;1372:38;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:38::i;:::-;1416:27;;;;;;;;;-1:-1:-1;1416:27:0;;:22;;:27;;:22;:27;:::i;12066:286:25:-;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;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::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;3486:592:95:-;3550:13;3620:10;451:5:20;1899:44;;;3571:19:95;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;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:95;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;32759:1315:25:-;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;40903:1149::-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;;;;;;;26871:25:162;;;26912:18;;;26905:34;;;26844:18;;41173:44:25;26697: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;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;26844:18;;41668:88:25;26697: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;10156:624::-;-1:-1:-1;;;10340:7:25;-1:-1:-1;;;;;;10340:35:25;;10336:161;;-1:-1:-1;;;10447:7:25;10480;10463:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;10336:161:25;10542:31;10565:7;10542:22;:31::i;:::-;10537:136;;10623:7;10656;10639:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;10639:25:25;;;;-1:-1:-1;;10639:25:25;;;;;;;;;;10590:76;;;;;;;;;:::i;10537:136::-;10679:96;10696:7;1045:29:5;1053:20;;;;1045:29;1077:30;;;;;;1045:62;10679:16:25;:96::i;2262:281:66:-;2424:29;2434:10;2446:6;2424:9;:29::i;:::-;2419:120;;2502:21;:10;:19;:21::i;36171:541:25:-;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;38966:427::-;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;17013:1682::-;-1:-1:-1;;;17192:7:25;-1:-1:-1;;;;;;17192:44:25;;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;31958:254::-;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;955:325:66:-;1036:4;1178:55;696:18:136;578:36:95;2955:46;;2954:74;1226:6:66;1178:18;:55::i;:::-;:97;;;;1237:38;1256:10;1268:6;1237:18;:38::i;676:107:50:-;754:22;766:4;765:5;772:3;3425:191:48;3504:9;3499:111;;3534:30;3560:3;3534:30;;;;;;:::i;:::-;;;;;;;;3578:21;3589:9;3578:10;:21::i;34503:218:25:-;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;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;30235:834:25;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;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;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;4979:171:4:-;5052:7;579:1:35;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;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;1474:1069:5:-;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:5;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:5;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:5;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;1817:169:111:-;1906:15;;;1919:1;1906:15;;;1863:24;1906:15;;;;;;;;;;;;;;;;;;;;;;;;;;1895:26;;1927;;;;;;;;;;;;;;;;;:8;1936:1;1927:11;;;;;;;;:::i;:::-;;;;;;:26;;;;1959:22;;;;;;;;;;;;;;;;;:8;1968:1;1959:11;;;;;;;;:::i;:::-;;;;;;:22;;;;1817:169;:::o;2126:145::-;2221:15;;;2234:1;2221:15;;;;;;;;;2174:26;;2221:15;;;;;;;;;;;;;;;;;;;;2208:28;;2242:24;;;;;;;;;;;;;;;;;:10;2253:1;2242:13;;;;;;;;:::i;5644:520:29:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:29;-1:-1:-1;;;;;5898:30:29;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;;;;-1:-1:-1;;;;;6050:35:29;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5841:323;5644:520;;;;;;:::o;1811:142:110:-;1900:15;;;1913:1;1900:15;;;;;;;;;1857:24;;1900:15;;;;;;;;;;;;;;;;;;;;1889:26;;1921:27;;;;;;;;;;;;;;;;;:8;1930:1;1921:11;;;;;;;;:::i;2093:144::-;2188:15;;;2201:1;2188:15;;;;;;;;;2141:26;;2188:15;;;;;;;;;;;;;;;;;;;;2175:28;;2209:23;;;;;;;;;;;;;;;;;:10;2220:1;2209:13;;;;;;;;:::i;10761:455:29:-;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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;6618:1665:4:-;5550:35:21;6681:87:4;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:35;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;26871:25:162;;;943:1:35;26912:18:162;;;26905:34;26844:18;;6897:90:4;26697:248:162;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:35;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;26871:25:162;;;689:2:35;26912:18:162;;;26905:34;26844:18;;7185:79:4;26697:248:162;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;9023:25:162;;;8996:18;;7493:52:4;8845:209:162;7449:234:4;376:2:35;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;9023:25:162;;;8996:18;;7611:63:4;8845:209:162;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;26871:25:162;;;;26912:18;;;26905:34;;;26844:18;;7887:105:4;26697:248:162;7815:184:4;8055:16;8038:241;689:2:35;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:35;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;9023:25:162;;;8996:18;;8209:55:4;8845:209:162;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;5550:35:21;;5881:16;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;9023:25:162;8996:18;;5906:37:21;8845:209:162;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:35;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;9023:25:162;;;8996:18;;6116:53:21;8845:209:162;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:35;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;9023:25:162;;;8996:18;;6412:51:21;8845:209:162;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;9023:25:162;;9011:2;8996:18;;8845:209;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;5377:173:4;5451:7;579:1:35;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;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;-1:-1:-1;;;3059:24:32;:62::i;:::-;3043:78;;3135:29;3156:5;3143:20;;1650:10:20;1541:126;19791:677:34;24359:53;;;;;;48823:19:162;;;48858:12;;;48851:28;;;24332:12:34;48895::162;;;48888:28;;;24359:53:34;;;;;;;;;;48932:12:162;;;;24359:53:34;;;20082:30;20115:55;20129:18;20149:20;20115:13;:55::i;:::-;20082:88;;20176:25;20204:55;20218:18;20238:20;20204:13;:55::i;:::-;20295:16;;;20309:1;20295:16;;;;;;;;;20176:83;;-1:-1:-1;20266:26:34;;20295:16;;;;;;;;;;;;-1:-1:-1;20295:16:34;20266:45;;20350:7;20317:9;20327:1;20317:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20365:98;1207:66;20395:9;20406:11;20419:15;20436:12;1336:66;20365:19;:98::i;4220:268:32:-;4320:16;;;4334:1;4320:16;;;;;;;;;4291:26;;4320:16;;;;;;;;;;;-1:-1:-1;4320:16:32;4291:45;;4375:10;4342:9;4352:1;4342:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4393:90;971:66;955:83;;4428:9;4439:1;4460:6;4442:26;;;;;;25956:14:162;25949:22;25944:3;25940:32;25928:45;;25998:1;25989:11;;25805:201;4442:26:32;;;;-1:-1:-1;;4442:26:32;;;;;;;;;-1:-1:-1;;;4393:24:32;:90::i;53939:303:25:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:23;;4605:137;44254:4001:25;-1:-1:-1;;;44652:7:25;-1:-1:-1;;;;;;44652:35:25;;44648:161;;-1:-1:-1;;;44759:7:25;44792;44775:25;;;;;;26171:19:162;;26215:2;26206:12;;26011:213;44648:161:25;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;;;;;40672:12:162;40711:15;;;45340:92:25;;;40693:34:162;40763:15;;;40743:18;;;40736:43;40815:15;;40795:18;;;40788:43;40635:18;;45340:92:25;40466:371:162;45221:218:25;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;41015:25:162;;;41088:12;41076:25;;41056:18;;;41049:53;40988:18;;45581:74:25;40842: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;52742:274::-;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;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;:::-;5693:13;5042:669;;;;;:::o;3403:307:110:-;3513:16;;;3527:1;3513:16;;;;;;;;;3463:13;;;;3513:16;;;;;;;;;;;;-1:-1:-1;3513:16:110;3484:45;;3568:11;3535:9;3545:1;3535:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3587:13;3603:64;1169:66;3640:9;3587:13;1298:66;3603:26;:64::i;:::-;3681:23;;;3403:307;-1:-1:-1;;;;3403:307:110:o;1754:155:0:-;1818:86;317:28:49;309:37;;-1:-1:-1;;;;;1860:11:0;;1872:12;1885:4;1872:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;1860:31;;;;;;;;;;;;9023:25:162;;;9011:2;8996:18;;8845:209;1860:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1860:31:0;;;;;;;;;;;;:::i;:::-;1898:4;1830:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1818:11;:86::i;13212:3165:25:-;-1:-1:-1;;;13486:7:25;-1:-1:-1;;;;;;13486:44:25;;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;;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;;51249:282;51494:30;;;;;;46659:19:162;;;46694:12;;;46687:28;;;51337:7:25;;46731:12:162;;51494:30:25;;;;-1:-1:-1;;51494:30:25;;;;;;;;;51484:41;;51494:30;51484:41;;;;42361:22;51477:48;;51249:282;-1:-1:-1;;;51249:282: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;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;;;-1:-1:-1;;2007:37:95;;3261:1:2;3257:13;;3253:24;2007:42:95;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;47084:79:162;;2092:30:95;;;47072:92:162;2092:30:95;;47180:12:162;;;;2092:30:95;;;875:21:2;;;2092:30:95;2142:39;760:164:2;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;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;26296:1804:25:-;-1:-1:-1;;;26463:7:25;-1:-1:-1;;;;;;26463:44:25;;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;;9656:254:33;9753:16;;;9767:1;9753:16;;;;;;;;;9724:26;;9753:16;;;;;;;;;;;-1:-1:-1;9753:16:33;9724:45;;9808:7;9775:9;9785:1;9775:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9823:82;969:66;953:83;;9862:9;9873:1;9894:8;9876:28;;;;;;;48093:66:162;48081:79;;;;48069:92;;48186:2;48177:12;;47940:255;9876:28:33;;;;;;;;;;;;;9823;:82::i;50806:191:25:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::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;:::-;3842:70;;3926:66;:44;3947:5;3954:1;3957:5;:12;3926: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;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;3586:379:111:-;3709:16;;;3723:1;3709:16;;;;;;;;3661:11;;;;3709:16;3723:1;3709:16;;;;;;;;;;-1:-1:-1;3709:16:111;3680:45;;3764:10;3731:9;3741:1;3731:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3820:6;-1:-1:-1;;;;;3804:24:111;3796:33;;3781:9;3791:1;3781:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3836:13;3852:64;1169:66;3889:9;3836:13;-1:-1:-1;;;3852:26:111;:64::i;:::-;3836:80;;3930:29;3951:5;3938:20;;1650:10:20;1541:126;3262:157:48;3322:9;3317:96;;3352:30;;;;;48402:2:162;48384:21;;;48441:2;48421:18;;;48414:30;48480:25;48475:2;48460:18;;48453:53;48538:2;48523:18;;48200:347;3352:30:48;;;;;;;;3396:6;:4;:6::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;6111:316::-;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;3525:369:31:-;3665:16;;;3679:1;3665:16;;;;;;;;;3606:22;;3636:26;;3665:16;;;;;;;;;;;;-1:-1:-1;3665:16:31;3636:45;;3720:10;3687:9;3697:1;3687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3738:18;3759:49;3785:8;3795:9;3806:1;3759:25;:49::i;:::-;3738:70;;3822:66;:44;3843:5;3850:1;3853:5;:12;3822:20;:44::i;4912:282::-;5038:16;;;5052:1;5038:16;;;;;;;;;5009:26;;5038:16;;;;;;;;;;;-1:-1:-1;5038:16:31;5009:45;;5093:10;5060:9;5070:1;5060:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5111:78;5137:8;5147:9;5158:1;5161:27;5181:5;5161:18;:27::i;:::-;5111:25;:78::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;24608:390:34:-;24918:32;;24952:34;;24734:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;24895:92:34;2518:351:3;25163:234:34;25289:12;25340:18;25369:20;25316:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;25309:83;;25163:234;;;;:::o;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;7468:1525:3:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;9023:25:162;;;8996:18;;7664:67:3;8845: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;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;5630:121:62:-;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:62;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;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;;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;2409:432:48:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;51037:74:162;;;2677:17:48;51127:18:162;;;51120:34;;;;2712:4:48;51170:18:162;;;51163:34;2489:11:48;;1671:64;2586:43;;51010:18:162;;2652:67:48;;;-1:-1:-1;;2652:67:48;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:48;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:48;2820:7;:14;;;;;;;;2409:432::o;39802:222:40:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;181:376:62:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::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;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:41;1474:15;;-1:-1:-1;;5373:16:23;1531:32:41;;;5373:16:23;5369:32;1503:4:41;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;14:367:162;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:162;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:156::-;452:20;;512:4;501:16;;491:27;;481:55;;532:1;529;522:12;547:707;721:6;729;737;745;753;806:3;794:9;785:7;781:23;777:33;774:53;;;823:1;820;813:12;774:53;859:9;846:23;836:33;;920:2;909:9;905:18;892:32;947:18;939:6;936:30;933:50;;;979:1;976;969:12;933:50;1018:70;1080:7;1071:6;1060:9;1056:22;1018:70;:::i;:::-;1107:8;;-1:-1:-1;992:96:162;-1:-1:-1;1161:36:162;;-1:-1:-1;1193:2:162;1178:18;;1161:36;:::i;:::-;547:707;;;;-1:-1:-1;547:707:162;;1244:2;1229:18;1216:32;;547:707;-1:-1:-1;;547:707:162:o;1259:250::-;1344:1;1354:113;1368:6;1365:1;1362:13;1354:113;;;1444:11;;;1438:18;1425:11;;;1418:39;1390:2;1383:10;1354:113;;;-1:-1:-1;;1501:1:162;1483:16;;1476:27;1259:250::o;1514:329::-;1555:3;1593:5;1587:12;1620:6;1615:3;1608:19;1636:76;1705:6;1698:4;1693:3;1689:14;1682:4;1675:5;1671:16;1636:76;:::i;:::-;1757:2;1745:15;-1:-1:-1;;1741:88:162;1732:98;;;;1832:4;1728:109;;1514:329;-1:-1:-1;;1514:329:162:o;1848:217::-;1995:2;1984:9;1977:21;1958:4;2015:44;2055:2;2044:9;2040:18;2032:6;2015:44;:::i;2070:208::-;2150:20;;-1:-1:-1;;;;;2199:54:162;;2189:65;;2179:93;;2268:1;2265;2258:12;2283:316;2401:6;2409;2462:2;2450:9;2441:7;2437:23;2433:32;2430:52;;;2478:1;2475;2468:12;2430:52;2514:9;2501:23;2491:33;;2543:50;2589:2;2578:9;2574:18;2543:50;:::i;:::-;2533:60;;2283:316;;;;;:::o;2604:1189::-;2903:6;2911;2919;2927;2935;2943;2951;2959;3012:3;3000:9;2991:7;2987:23;2983:33;2980:53;;;3029:1;3026;3019:12;2980:53;3065:9;3052:23;3042:33;;3122:2;3111:9;3107:18;3094:32;3084:42;;3173:2;3162:9;3158:18;3145:32;3135:42;;3224:2;3213:9;3209:18;3196:32;3186:42;;3279:3;3268:9;3264:19;3251:33;3303:18;3344:2;3336:6;3333:14;3330:34;;;3360:1;3357;3350:12;3330:34;3399:70;3461:7;3452:6;3441:9;3437:22;3399:70;:::i;:::-;3488:8;;-1:-1:-1;3373:96:162;-1:-1:-1;3576:3:162;3561:19;;3548:33;;-1:-1:-1;3593:16:162;;;3590:36;;;3622:1;3619;3612:12;3590:36;;3661:72;3725:7;3714:8;3703:9;3699:24;3661:72;:::i;:::-;2604:1189;;;;-1:-1:-1;2604:1189:162;;-1:-1:-1;2604:1189:162;;;;;;3752:8;-1:-1:-1;;;2604:1189:162:o;3798:347::-;3849:8;3859:6;3913:3;3906:4;3898:6;3894:17;3890:27;3880:55;;3931:1;3928;3921:12;3880:55;-1:-1:-1;3954:20:162;;3997:18;3986:30;;3983:50;;;4029:1;4026;4019:12;3983:50;4066:4;4058:6;4054:17;4042:29;;4118:3;4111:4;4102:6;4094;4090:19;4086:30;4083:39;4080:59;;;4135:1;4132;4125:12;4150:915;4303:6;4311;4319;4327;4335;4343;4396:3;4384:9;4375:7;4371:23;4367:33;4364:53;;;4413:1;4410;4403:12;4364:53;4449:9;4436:23;4426:33;;4510:2;4499:9;4495:18;4482:32;4533:18;4574:2;4566:6;4563:14;4560:34;;;4590:1;4587;4580:12;4560:34;4629:70;4691:7;4682:6;4671:9;4667:22;4629:70;:::i;:::-;4718:8;;-1:-1:-1;4603:96:162;-1:-1:-1;4603:96:162;;-1:-1:-1;4772:36:162;4804:2;4789:18;;4772:36;:::i;:::-;4762:46;;4861:2;4850:9;4846:18;4833:32;4817:48;;4890:2;4880:8;4877:16;4874:36;;;4906:1;4903;4896:12;4874:36;;4945:60;4997:7;4986:8;4975:9;4971:24;4945:60;:::i;:::-;4150:915;;;;-1:-1:-1;4150:915:162;;-1:-1:-1;4150:915:162;;5024:8;;4150:915;-1:-1:-1;;;4150:915:162:o;5070:606::-;5203:6;5211;5219;5227;5280:2;5268:9;5259:7;5255:23;5251:32;5248:52;;;5296:1;5293;5286:12;5248:52;5332:9;5319:23;5309:33;;5393:2;5382:9;5378:18;5365:32;5420:18;5412:6;5409:30;5406:50;;;5452:1;5449;5442:12;5406:50;5491:70;5553:7;5544:6;5533:9;5529:22;5491:70;:::i;:::-;5580:8;;-1:-1:-1;5465:96:162;-1:-1:-1;5634:36:162;;-1:-1:-1;5666:2:162;5651:18;;5634:36;:::i;:::-;5624:46;;5070:606;;;;;;;:::o;5681:681::-;5852:2;5904:21;;;5974:13;;5877:18;;;5996:22;;;5823:4;;5852:2;6075:15;;;;6049:2;6034:18;;;5823:4;6118:218;6132:6;6129:1;6126:13;6118:218;;;6197:13;;-1:-1:-1;;;;;6193:62:162;6181:75;;6311:15;;;;6276:12;;;;6154:1;6147:9;6118:218;;;-1:-1:-1;6353:3:162;;5681:681;-1:-1:-1;;;;;;5681:681:162:o;6367:1236::-;6577:6;6585;6593;6601;6609;6617;6625;6633;6686:3;6674:9;6665:7;6661:23;6657:33;6654:53;;;6703:1;6700;6693:12;6654:53;6739:9;6726:23;6716:33;;6800:2;6789:9;6785:18;6772:32;6823:18;6864:2;6856:6;6853:14;6850:34;;;6880:1;6877;6870:12;6850:34;6919:70;6981:7;6972:6;6961:9;6957:22;6919:70;:::i;:::-;7008:8;;-1:-1:-1;6893:96:162;-1:-1:-1;7096:2:162;7081:18;;7068:32;;-1:-1:-1;7112:16:162;;;7109:36;;;7141:1;7138;7131:12;7109:36;7180:60;7232:7;7221:8;7210:9;7206:24;7180:60;:::i;:::-;7259:8;;-1:-1:-1;7154:86:162;-1:-1:-1;7341:2:162;7326:18;;7313:32;;-1:-1:-1;7398:3:162;7383:19;;7370:33;;-1:-1:-1;7415:16:162;;;7412:36;;;7444:1;7441;7434:12;7412:36;;7483:60;7535:7;7524:8;7513:9;7509:24;7483:60;:::i;7608:1016::-;7802:6;7810;7818;7826;7834;7842;7850;7903:3;7891:9;7882:7;7878:23;7874:33;7871:53;;;7920:1;7917;7910:12;7871:53;7956:9;7943:23;7933:33;;8017:2;8006:9;8002:18;7989:32;8040:18;8081:2;8073:6;8070:14;8067:34;;;8097:1;8094;8087:12;8067:34;8136:70;8198:7;8189:6;8178:9;8174:22;8136:70;:::i;:::-;8225:8;;-1:-1:-1;8110:96:162;-1:-1:-1;8110:96:162;;-1:-1:-1;8279:36:162;8311:2;8296:18;;8279:36;:::i;:::-;8269:46;;8368:2;8357:9;8353:18;8340:32;8324:48;;8397:2;8387:8;8384:16;8381:36;;;8413:1;8410;8403:12;8381:36;;8452:60;8504:7;8493:8;8482:9;8478:24;8452:60;:::i;:::-;7608:1016;;;;-1:-1:-1;7608:1016:162;;;;;;8613:3;8598:19;;;8585:33;;7608:1016;-1:-1:-1;;;;7608:1016:162:o;8629:211::-;8719:6;8772:2;8760:9;8751:7;8747:23;8743:32;8740:52;;;8788:1;8785;8778:12;8740:52;-1:-1:-1;8811:23:162;;8629:211;-1:-1:-1;8629:211:162:o;9059:636::-;9226:6;9234;9242;9250;9303:2;9291:9;9282:7;9278:23;9274:32;9271:52;;;9319:1;9316;9309:12;9271:52;9355:9;9342:23;9332:33;;9416:2;9405:9;9401:18;9388:32;9443:18;9435:6;9432:30;9429:50;;;9475:1;9472;9465:12;9429:50;9514:70;9576:7;9567:6;9556:9;9552:22;9514:70;:::i;:::-;9059:636;;9603:8;;-1:-1:-1;9488:96:162;;9685:2;9670:18;9657:32;;9059:636;-1:-1:-1;;;;9059:636:162:o;9700:483::-;9956:2;9945:9;9938:21;9919:4;9982:44;10022:2;10011:9;10007:18;9999:6;9982:44;:::i;:::-;10062:6;10057:2;10046:9;10042:18;10035:34;10117:9;10109:6;10105:22;10100:2;10089:9;10085:18;10078:50;10145:32;10170:6;10162;10145:32;:::i;10188:184::-;-1:-1:-1;;;10237:1:162;10230:88;10337:4;10334:1;10327:15;10361:4;10358:1;10351:15;10377:334;10448:2;10442:9;10504:2;10494:13;;-1:-1:-1;;10490:86:162;10478:99;;10607:18;10592:34;;10628:22;;;10589:62;10586:88;;;10654:18;;:::i;:::-;10690:2;10683:22;10377:334;;-1:-1:-1;10377:334:162:o;10716:183::-;10776:4;10809:18;10801:6;10798:30;10795:56;;;10831:18;;:::i;:::-;-1:-1:-1;10876:1:162;10872:14;10888:4;10868:25;;10716:183::o;10904:668::-;10958:5;11011:3;11004:4;10996:6;10992:17;10988:27;10978:55;;11029:1;11026;11019:12;10978:55;11065:6;11052:20;11091:4;11115:60;11131:43;11171:2;11131:43;:::i;:::-;11115:60;:::i;:::-;11197:3;11221:2;11216:3;11209:15;11249:4;11244:3;11240:14;11233:21;;11306:4;11300:2;11297:1;11293:10;11285:6;11281:23;11277:34;11263:48;;11334:3;11326:6;11323:15;11320:35;;;11351:1;11348;11341:12;11320:35;11387:4;11379:6;11375:17;11401:142;11417:6;11412:3;11409:15;11401:142;;;11483:17;;11471:30;;11521:12;;;;11434;;11401:142;;;-1:-1:-1;11561:5:162;10904:668;-1:-1:-1;;;;;;10904:668:162:o;11577:655::-;11726:6;11734;11742;11750;11758;11811:3;11799:9;11790:7;11786:23;11782:33;11779:53;;;11828:1;11825;11818:12;11779:53;11864:9;11851:23;11841:33;;11925:2;11914:9;11910:18;11897:32;11952:18;11944:6;11941:30;11938:50;;;11984:1;11981;11974:12;11938:50;12007:61;12060:7;12051:6;12040:9;12036:22;12007:61;:::i;:::-;11997:71;;;12087:36;12119:2;12108:9;12104:18;12087:36;:::i;:::-;11577:655;;;;-1:-1:-1;12077:46:162;;12170:2;12155:18;;12142:32;;-1:-1:-1;12221:3:162;12206:19;12193:33;;11577:655;-1:-1:-1;;11577:655:162:o;12237:447::-;12361:6;12369;12422:2;12410:9;12401:7;12397:23;12393:32;12390:52;;;12438:1;12435;12428:12;12390:52;12474:9;12461:23;12451:33;;12535:2;12524:9;12520:18;12507:32;12562:18;12554:6;12551:30;12548:50;;;12594:1;12591;12584:12;12548:50;12617:61;12670:7;12661:6;12650:9;12646:22;12617:61;:::i;:::-;12607:71;;;12237:447;;;;;:::o;12689:386::-;12814:6;12822;12830;12883:2;12871:9;12862:7;12858:23;12854:32;12851:52;;;12899:1;12896;12889:12;12851:52;12935:9;12922:23;12912:33;;12964:50;13010:2;12999:9;12995:18;12964:50;:::i;:::-;12954:60;;13033:36;13065:2;13054:9;13050:18;13033:36;:::i;:::-;13023:46;;12689:386;;;;;:::o;13080:1670::-;13284:4;13313:2;13353;13342:9;13338:18;13383:2;13372:9;13365:21;13406:6;13441;13435:13;13472:6;13464;13457:22;13498:2;13488:12;;13531:2;13520:9;13516:18;13509:25;;13593:2;13583:6;13580:1;13576:14;13565:9;13561:30;13557:39;13631:2;13623:6;13619:15;13652:1;13662:1059;13676:6;13673:1;13670:13;13662:1059;;;13741:22;;;13765:66;13737:95;13725:108;;13856:13;;13943:9;;-1:-1:-1;;;;;13939:58:162;13924:74;;14037:11;;14031:18;14069:15;;;14062:27;;;14150:19;;13896:15;;;14182:24;;;14272:21;;;;14317:1;;14240:2;14228:15;;;14331:282;14347:8;14342:3;14339:17;14331:282;;;14428:15;;14445:66;14424:88;14410:103;;14582:17;;;;14375:1;14366:11;;;;;14539:14;;;;14331:282;;;-1:-1:-1;14699:12:162;;;;14636:5;-1:-1:-1;;;14664:15:162;;;;13698:1;13691:9;13662:1059;;;-1:-1:-1;14738:6:162;;13080:1670;-1:-1:-1;;;;;;;;13080:1670:162:o;14755:656::-;14807:3;14838;14870:5;14864:12;14897:6;14892:3;14885:19;14923:4;14952;14947:3;14943:14;14936:21;;15010:4;15000:6;14997:1;14993:14;14986:5;14982:26;14978:37;15049:4;15042:5;15038:16;15072:1;15082:303;15096:6;15093:1;15090:13;15082:303;;;-1:-1:-1;;15171:5:162;15165:4;15161:16;15157:89;15152:3;15145:102;15268:37;15300:4;15291:6;15285:13;15268:37;:::i;:::-;15363:12;;;;15260:45;-1:-1:-1;15328:15:162;;;;15118:1;15111:9;15082:303;;;-1:-1:-1;15401:4:162;;14755:656;-1:-1:-1;;;;;;;14755:656:162:o;15416:280::-;15615:2;15604:9;15597:21;15578:4;15635:55;15686:2;15675:9;15671:18;15663:6;15635:55;:::i;15883:618::-;16055:6;16063;16071;16079;16132:3;16120:9;16111:7;16107:23;16103:33;16100:53;;;16149:1;16146;16139:12;16100:53;16185:9;16172:23;16162:33;;16246:2;16235:9;16231:18;16218:32;16273:18;16265:6;16262:30;16259:50;;;16305:1;16302;16295:12;16259:50;16328:61;16381:7;16372:6;16361:9;16357:22;16328:61;:::i;:::-;16318:71;;;16408:36;16440:2;16429:9;16425:18;16408:36;:::i;:::-;15883:618;;;;-1:-1:-1;16398:46:162;;16491:2;16476:18;16463:32;;-1:-1:-1;;15883:618:162:o;16688:517::-;16819:6;16827;16835;16888:2;16876:9;16867:7;16863:23;16859:32;16856:52;;;16904:1;16901;16894:12;16856:52;16940:9;16927:23;16917:33;;17001:2;16990:9;16986:18;16973:32;17028:18;17020:6;17017:30;17014:50;;;17060:1;17057;17050:12;17014:50;17083:61;17136:7;17127:6;17116:9;17112:22;17083:61;:::i;:::-;17073:71;;;17163:36;17195:2;17184:9;17180:18;17163:36;:::i;17210:1013::-;17364:6;17372;17380;17388;17396;17404;17457:3;17445:9;17436:7;17432:23;17428:33;17425:53;;;17474:1;17471;17464:12;17425:53;17510:9;17497:23;17487:33;;17571:2;17560:9;17556:18;17543:32;17594:18;17635:2;17627:6;17624:14;17621:34;;;17651:1;17648;17641:12;17621:34;17690:70;17752:7;17743:6;17732:9;17728:22;17690:70;:::i;:::-;17779:8;;-1:-1:-1;17664:96:162;-1:-1:-1;17864:2:162;17849:18;;17836:32;;-1:-1:-1;17908:14:162;17897:26;;17887:37;;17877:65;;17938:1;17935;17928:12;17877:65;17961:5;;-1:-1:-1;18019:2:162;18004:18;;17991:32;;18035:16;;;18032:36;;;18064:1;18061;18054:12;18420:165;18487:20;;18547:12;18536:24;;18526:35;;18516:63;;18575:1;18572;18565:12;18590:1061;18759:6;18767;18775;18783;18791;18799;18807;18815;18868:3;18856:9;18847:7;18843:23;18839:33;18836:53;;;18885:1;18882;18875:12;18836:53;18921:9;18908:23;18898:33;;18982:2;18971:9;18967:18;18954:32;19005:18;19046:2;19038:6;19035:14;19032:34;;;19062:1;19059;19052:12;19032:34;19101:70;19163:7;19154:6;19143:9;19139:22;19101:70;:::i;:::-;19190:8;;-1:-1:-1;19075:96:162;-1:-1:-1;19075:96:162;;-1:-1:-1;19244:36:162;19276:2;19261:18;;19244:36;:::i;:::-;19234:46;;19299:37;19332:2;19321:9;19317:18;19299:37;:::i;:::-;19289:47;;19355:38;19388:3;19377:9;19373:19;19355:38;:::i;:::-;19345:48;;19446:3;19435:9;19431:19;19418:33;19402:49;;19476:2;19466:8;19463:16;19460:36;;;19492:1;19489;19482:12;19656:536;19782:6;19790;19798;19851:2;19839:9;19830:7;19826:23;19822:32;19819:52;;;19867:1;19864;19857:12;19819:52;19903:9;19890:23;19880:33;;19964:2;19953:9;19949:18;19936:32;19991:18;19983:6;19980:30;19977:50;;;20023:1;20020;20013:12;19977:50;20062:70;20124:7;20115:6;20104:9;20100:22;20062:70;:::i;:::-;19656:536;;20151:8;;-1:-1:-1;20036:96:162;;-1:-1:-1;;;;19656:536:162:o;21086:246::-;21135:4;21168:18;21160:6;21157:30;21154:56;;;21190:18;;:::i;:::-;-1:-1:-1;21247:2:162;21235:15;-1:-1:-1;;21231:88:162;21321:4;21227:99;;21086:246::o;21337:1202::-;21475:9;21510:64;21526:47;21566:6;21526:47;:::i;21510:64::-;21596:3;21620:6;21615:3;21608:19;21646:4;21675:2;21670:3;21666:12;21659:19;;21719:6;21716:1;21712:14;21705:5;21701:26;21750:14;21742:6;21739:26;21736:46;;;21778:1;21775;21768:12;21736:46;21802:5;21816:690;21832:6;21827:3;21824:15;21816:690;;;21918:3;21905:17;21954:18;21941:11;21938:35;21935:55;;;21986:1;21983;21976:12;21935:55;22013:23;;22078:14;22071:4;22063:13;;22059:34;22049:62;;22107:1;22104;22097:12;22049:62;22147:2;22134:16;22176:49;22192:32;22221:2;22192:32;:::i;22176:49::-;22252:2;22245:5;22238:17;22296:14;22291:2;22286;22282;22278:11;22274:20;22271:40;22268:60;;;22324:1;22321;22314:12;22268:60;22383:2;22378;22374;22370:11;22365:2;22358:5;22354:14;22341:45;22431:1;22410:14;;;22406:23;;22399:34;;;;22446:18;;-1:-1:-1;22484:12:162;;;;21849;;21816:690;;;-1:-1:-1;22528:5:162;;21337:1202;-1:-1:-1;;;;;;21337:1202:162:o;22544:339::-;22721:2;22710:9;22703:21;22684:4;22741:44;22781:2;22770:9;22766:18;22758:6;22741:44;:::i;:::-;22733:52;;-1:-1:-1;;;;;22825:6:162;22821:55;22816:2;22805:9;22801:18;22794:83;22544:339;;;;;:::o;22888:437::-;22967:1;22963:12;;;;23010;;;23031:61;;23085:4;23077:6;23073:17;23063:27;;23031:61;23138:2;23130:6;23127:14;23107:18;23104:38;23101:218;;-1:-1:-1;;;23172:1:162;23165:88;23276:4;23273:1;23266:15;23304:4;23301:1;23294:15;23632:430;23829:66;23821:6;23817:79;23812:3;23805:92;23787:3;23926:6;23920:13;23942:74;24009:6;24005:1;24000:3;23996:11;23989:4;23981:6;23977:17;23942:74;:::i;:::-;24036:16;;;;24054:1;24032:24;;23632:430;-1:-1:-1;;;23632:430:162:o;24067:287::-;24196:3;24234:6;24228:13;24250:66;24309:6;24304:3;24297:4;24289:6;24285:17;24250:66;:::i;:::-;24332:16;;;;;24067:287;-1:-1:-1;;24067:287:162:o;24359:277::-;24426:6;24479:2;24467:9;24458:7;24454:23;24450:32;24447:52;;;24495:1;24492;24485:12;24447:52;24527:9;24521:16;24580:5;24573:13;24566:21;24559:5;24556:32;24546:60;;24602:1;24599;24592:12;24872:184;-1:-1:-1;;;24921:1:162;24914:88;25021:4;25018:1;25011:15;25045:4;25042:1;25035:15;25061:151;25151:4;25144:12;;;25130;;;25126:31;;25169:14;;25166:40;;;25186:18;;:::i;25217:125::-;25282:9;;;25303:10;;;25300:36;;;25316:18;;:::i;25347:184::-;-1:-1:-1;;;25396:1:162;25389:88;25496:4;25493:1;25486:15;25520:4;25517:1;25510:15;26229:463;-1:-1:-1;;;;;;26467:6:162;26463:79;26452:9;26445:98;26579:6;26574:2;26563:9;26559:18;26552:34;26622:2;26617;26606:9;26602:18;26595:30;26426:4;26642:44;26682:2;26671:9;26667:18;26659:6;26642:44;:::i;26950:184::-;-1:-1:-1;;;26999:1:162;26992:88;27099:4;27096:1;27089:15;27123:4;27120:1;27113:15;27139:321;27347:6;27336:9;27329:25;27390:2;27385;27374:9;27370:18;27363:30;27310:4;27410:44;27450:2;27439:9;27435:18;27427:6;27410:44;:::i;28024:781::-;28074:3;28115:5;28109:12;28144:36;28170:9;28144:36;:::i;:::-;28199:1;28216:17;;;28242:191;;;;28447:1;28442:357;;;;28209:590;;28242:191;28290:66;28279:9;28275:82;28270:3;28263:95;28413:6;28406:14;28399:22;28391:6;28387:35;28382:3;28378:45;28371:52;;28242:191;;28442:357;28473:5;28470:1;28463:16;28502:4;28547;28544:1;28534:18;28574:1;28588:165;28602:6;28599:1;28596:13;28588:165;;;28680:14;;28667:11;;;28660:35;28723:16;;;;28617:10;;28588:165;;;28592:3;;;28782:6;28777:3;28773:16;28766:23;;28209:590;;;;;28024:781;;;;:::o;28810:664::-;29160:66;29155:3;29148:79;29130:3;29246:47;29289:2;29284:3;29280:12;29272:6;29246:47;:::i;:::-;29313:66;29302:78;;29409:31;29404:2;29396:11;;29389:52;29465:2;29457:11;;28810:664;-1:-1:-1;;;28810:664:162:o;29997:694::-;30340:66;30335:3;30328:79;30310:3;30436:6;30430:13;30452:75;30520:6;30515:2;30510:3;30506:12;30499:4;30491:6;30487:17;30452:75;:::i;:::-;30591:66;30586:2;30546:16;;;;30578:11;;;30571:87;-1:-1:-1;30682:2:162;30674:11;;29997:694;-1:-1:-1;29997:694:162:o;30696:518::-;30798:2;30793:3;30790:11;30787:421;;;30834:5;30831:1;30824:16;30878:4;30875:1;30865:18;30948:2;30936:10;30932:19;30929:1;30925:27;30919:4;30915:38;30984:4;30972:10;30969:20;30966:47;;;-1:-1:-1;31007:4:162;30966:47;31062:2;31057:3;31053:12;31050:1;31046:20;31040:4;31036:31;31026:41;;31117:81;31135:2;31128:5;31125:13;31117:81;;;31194:1;31180:16;;31161:1;31150:13;31117:81;;31450:1464;31576:3;31570:10;31603:18;31595:6;31592:30;31589:56;;;31625:18;;:::i;:::-;31654:97;31744:6;31704:38;31736:4;31730:11;31704:38;:::i;:::-;31698:4;31654:97;:::i;:::-;31806:4;;31863:2;31852:14;;31880:1;31875:782;;;;32701:1;32718:6;32715:89;;;-1:-1:-1;32770:19:162;;;32764:26;32715:89;-1:-1:-1;;31347:1:162;31343:11;;;31339:84;31335:89;31325:100;31431:1;31427:11;;;31322:117;32817:81;;31845:1063;;31875:782;27971:1;27964:14;;;28008:4;27995:18;;-1:-1:-1;;31911:79:162;;;32088:236;32102:7;32099:1;32096:14;32088:236;;;32191:19;;;32185:26;32170:42;;32283:27;;;;32251:1;32239:14;;;;32118:19;;32088:236;;;32092:3;32352:6;32343:7;32340:19;32337:261;;;32413:19;;;32407:26;-1:-1:-1;;32496:1:162;32492:14;;;32508:3;32488:24;32484:97;32480:102;32465:118;32450:134;;32337:261;-1:-1:-1;;;;;32644:1:162;32628:14;;;32624:22;32611:36;;-1:-1:-1;31450:1464:162:o;32919:128::-;32986:9;;;33007:11;;;33004:37;;;33021:18;;:::i;33406:197::-;33534:3;33559:38;33593:3;33585:6;33559:38;:::i;33608:1546::-;33727:3;33721:4;33718:13;33715:26;;33734:5;;33608:1546::o;33715:26::-;33764:37;33796:3;33790:10;33764:37;:::i;:::-;33824:18;33816:6;33813:30;33810:56;;;33846:18;;:::i;:::-;33875:97;33965:6;33925:38;33957:4;33951:11;33925:38;:::i;33875:97::-;33998:1;34026:2;34018:6;34015:14;34043:1;34038:859;;;;34941:1;34958:6;34955:89;;;-1:-1:-1;35010:19:162;;;35004:26;34955:89;-1:-1:-1;;31347:1:162;31343:11;;;31339:84;31335:89;31325:100;31431:1;31427:11;;;31322:117;35057:81;;34008:1140;;34038:859;27971:1;27964:14;;;28008:4;27995:18;;;27964:14;;;27995:18;;;-1:-1:-1;;34074:79:162;;;34311:251;34325:7;34322:1;34319:14;34311:251;;;34407:21;;;34401:28;34386:44;;34457:1;34530:18;;;;34485:15;;;;34348:4;34341:12;34311:251;;;34315:3;34590:6;34581:7;34578:19;34575:263;;;34651:21;;34645:28;-1:-1:-1;;34748:3:162;34736:1;34732:14;;;34728:24;34724:97;34720:102;34705:118;34690:134;;;-1:-1:-1;;34884:1:162;34868:14;;;34864:22;34851:36;;-1:-1:-1;33608:1546:162:o;35159:925::-;-1:-1:-1;;;;;;35600:6:162;35596:79;35591:3;35584:92;35566:3;35695;35727:2;35723:1;35718:3;35714:11;35707:23;35759:6;35753:13;35775:74;35842:6;35838:1;35833:3;35829:11;35822:4;35814:6;35810:17;35775:74;:::i;:::-;35877:6;35872:3;35868:16;35858:26;;35912:2;35908:1;35904:2;35900:10;35893:22;35946:6;35940:13;35924:29;;35962:75;36028:8;36024:1;36020:2;36016:10;36009:4;36001:6;35997:17;35962:75;:::i;:::-;36057:17;36076:1;36053:25;;35159:925;-1:-1:-1;;;;;35159:925:162:o;36089:175::-;36126:3;36170:4;36163:5;36159:16;36199:4;36190:7;36187:17;36184:43;;36207:18;;:::i;:::-;36256:1;36243:15;;36089:175;-1:-1:-1;;36089:175:162:o;36269:439::-;36322:3;36360:5;36354:12;36387:6;36382:3;36375:19;36413:4;36442;36437:3;36433:14;36426:21;;36481:4;36474:5;36470:16;36504:1;36514:169;36528:6;36525:1;36522:13;36514:169;;;36589:13;;36577:26;;36623:12;;;;36658:15;;;;36550:1;36543:9;36514:169;;;-1:-1:-1;36699:3:162;;36269:439;-1:-1:-1;;;;;36269:439:162:o;36713:511::-;36964:2;36953:9;36946:21;36927:4;36990:56;37042:2;37031:9;37027:18;37019:6;36990:56;:::i;:::-;37094:14;37086:6;37082:27;37077:2;37066:9;37062:18;37055:55;37158:9;37150:6;37146:22;37141:2;37130:9;37126:18;37119:50;37186:32;37211:6;37203;37186:32;:::i;37229:615::-;37539:6;37528:9;37521:25;37582:3;37577:2;37566:9;37562:18;37555:31;37502:4;37609:57;37661:3;37650:9;37646:19;37638:6;37609:57;:::i;:::-;37714:14;37706:6;37702:27;37697:2;37686:9;37682:18;37675:55;37778:9;37770:6;37766:22;37761:2;37750:9;37746:18;37739:50;37806:32;37831:6;37823;37806:32;:::i;:::-;37798:40;37229:615;-1:-1:-1;;;;;;;37229:615:162:o;37849:445::-;38099:2;38088:9;38081:21;38138:1;38133:2;38122:9;38118:18;38111:29;38176:7;38171:2;38160:9;38156:18;38149:35;38222:3;38215:4;38204:9;38200:20;38193:33;38062:4;38243:45;38283:3;38272:9;38268:19;38260:6;38243:45;:::i;38299:168::-;38372:9;;;38403;;38420:15;;;38414:22;;38400:37;38390:71;;38441:18;;:::i;38472:908::-;38998:6;38987:9;38980:25;39041:6;39036:2;39025:9;39021:18;39014:34;39084:6;39079:2;39068:9;39064:18;39057:34;39127:6;39122:2;39111:9;39107:18;39100:34;39171:3;39165;39154:9;39150:19;39143:32;38961:4;39198:56;39249:3;39238:9;39234:19;39226:6;39198:56;:::i;:::-;39303:9;39295:6;39291:22;39285:3;39274:9;39270:19;39263:51;39331:43;39367:6;39359;39331:43;:::i;39385:707::-;39753:6;39742:9;39735:25;39796:3;39791:2;39780:9;39776:18;39769:31;39716:4;39823:57;39875:3;39864:9;39860:19;39852:6;39823:57;:::i;:::-;39928:4;39920:6;39916:17;39911:2;39900:9;39896:18;39889:45;39982:9;39974:6;39970:22;39965:2;39954:9;39950:18;39943:50;40010:32;40035:6;40027;40010:32;:::i;:::-;40002:40;;;40079:6;40073:3;40062:9;40058:19;40051:35;39385:707;;;;;;;;:::o;40287:174::-;40354:12;40386:10;;;40398;;;40382:27;;40421:11;;;40418:37;;;40435:18;;:::i;:::-;40418:37;40287:174;;;;:::o;41113:899::-;41536:6;41525:9;41518:25;41579:3;41574:2;41563:9;41559:18;41552:31;41499:4;41606:57;41658:3;41647:9;41643:19;41635:6;41606:57;:::i;:::-;41711:4;41699:17;;41694:2;41679:18;;41672:45;41736:12;41784:15;;;41779:2;41764:18;;41757:43;41837:15;;41831:3;41816:19;;41809:44;41884:3;41869:19;;41862:35;;;41934:22;;;41928:3;41913:19;;41906:51;41974:32;41938:6;41991;41974:32;:::i;:::-;41966:40;41113:899;-1:-1:-1;;;;;;;;;;41113:899:162:o;42017:787::-;42381:3;42370:9;42363:22;42344:4;42408:57;42460:3;42449:9;42445:19;42437:6;42408:57;:::i;:::-;42513:4;42505:6;42501:17;42496:2;42485:9;42481:18;42474:45;42567:14;42559:6;42555:27;42550:2;42539:9;42535:18;42528:55;42631:12;42623:6;42619:25;42614:2;42603:9;42599:18;42592:53;42682:6;42676:3;42665:9;42661:19;42654:35;42738:9;42730:6;42726:22;42720:3;42709:9;42705:19;42698:51;42766:32;42791:6;42783;42766:32;:::i;42809:639::-;43059:6;43054:3;43047:19;43029:3;43085:2;43118;43113:3;43109:12;43150:6;43144:13;43215:2;43207:6;43203:15;43236:1;43246:175;43260:6;43257:1;43254:13;43246:175;;;43323:13;;43309:28;;43359:14;;;;43396:15;;;;43282:1;43275:9;43246:175;;;-1:-1:-1;43437:5:162;;42809:639;-1:-1:-1;;;;;;;42809:639:162:o;43453:649::-;43533:6;43586:2;43574:9;43565:7;43561:23;43557:32;43554:52;;;43602:1;43599;43592:12;43554:52;43635:9;43629:16;43668:18;43660:6;43657:30;43654:50;;;43700:1;43697;43690:12;43654:50;43723:22;;43776:4;43768:13;;43764:27;-1:-1:-1;43754:55:162;;43805:1;43802;43795:12;43754:55;43834:2;43828:9;43859:49;43875:32;43904:2;43875:32;:::i;43859:49::-;43931:2;43924:5;43917:17;43971:7;43966:2;43961;43957;43953:11;43949:20;43946:33;43943:53;;;43992:1;43989;43982:12;43943:53;44005:67;44069:2;44064;44057:5;44053:14;44048:2;44044;44040:11;44005:67;:::i;44107:764::-;44497:14;44492:3;44485:27;44467:3;44541:6;44535:13;44557:75;44625:6;44620:2;44615:3;44611:12;44604:4;44596:6;44592:17;44557:75;:::i;:::-;44696:3;44691:2;44651:16;;;44683:11;;;44676:24;44725:13;;44747:76;44725:13;44809:2;44801:11;;44794:4;44782:17;;44747:76;:::i;:::-;44843:17;44862:2;44839:26;;44107:764;-1:-1:-1;;;;44107:764:162:o;44876:689::-;45210:3;45199:9;45192:22;45173:4;45237:57;45289:3;45278:9;45274:19;45266:6;45237:57;:::i;:::-;45342:9;45334:6;45330:22;45325:2;45314:9;45310:18;45303:50;45376:32;45401:6;45393;45376:32;:::i;:::-;45362:46;;45444:6;45439:2;45428:9;45424:18;45417:34;45499:9;45491:6;45487:22;45482:2;45471:9;45467:18;45460:50;45527:32;45552:6;45544;45527:32;:::i;45570:896::-;46023:6;46012:9;46005:25;46066:3;46061:2;46050:9;46046:18;46039:31;45986:4;46093:57;46145:3;46134:9;46130:19;46122:6;46093:57;:::i;:::-;46198:9;46190:6;46186:22;46181:2;46170:9;46166:18;46159:50;46232:32;46257:6;46249;46232:32;:::i;:::-;46218:46;;46300:6;46295:2;46284:9;46280:18;46273:34;46356:9;46348:6;46344:22;46338:3;46327:9;46323:19;46316:51;46384:32;46409:6;46401;46384:32;:::i;:::-;46376:40;;;46453:6;46447:3;46436:9;46432:19;46425:35;45570:896;;;;;;;;;:::o;46754:184::-;-1:-1:-1;;;46803:1:162;46796:88;46903:4;46900:1;46893:15;46927:4;46924:1;46917:15;47203:261;47382:2;47371:9;47364:21;47345:4;47402:56;47454:2;47443:9;47439:18;47431:6;47402:56;:::i;47469:466::-;47767:6;47756:9;47749:25;47810:2;47805;47794:9;47790:18;47783:30;47730:4;47830:56;47882:2;47871:9;47867:18;47859:6;47830:56;:::i;:::-;47822:64;;47922:6;47917:2;47906:9;47902:18;47895:34;47469:466;;;;;;:::o;48955:492::-;49130:3;49168:6;49162:13;49184:66;49243:6;49238:3;49231:4;49223:6;49219:17;49184:66;:::i;:::-;49313:13;;49272:16;;;;49335:70;49313:13;49272:16;49382:4;49370:17;;49335:70;:::i;:::-;49421:20;;48955:492;-1:-1:-1;;;;48955:492:162:o;49452:546::-;49774:6;49763:9;49756:25;49817:3;49812:2;49801:9;49797:18;49790:31;49737:4;49838:57;49890:3;49879:9;49875:19;49867:6;49838:57;:::i;:::-;49943:4;49931:17;;;;49926:2;49911:18;;49904:45;-1:-1:-1;49980:2:162;49965:18;49958:34;49830:65;49452:546;-1:-1:-1;;49452:546:162:o;50003:184::-;50073:6;50126:2;50114:9;50105:7;50101:23;50097:32;50094:52;;;50142:1;50139;50132:12;50094:52;-1:-1:-1;50165:16:162;;50003:184;-1:-1:-1;50003:184:162:o;50192:274::-;50232:1;50258;50248:189;;-1:-1:-1;;;50290:1:162;50283:88;50394:4;50391:1;50384:15;50422:4;50419:1;50412:15;50248:189;-1:-1:-1;50451:9:162;;50192:274::o;50471:359::-;50674:2;50663:9;50656:21;50637:4;50694:44;50734:2;50723:9;50719:18;50711:6;50694:44;:::i;:::-;50769:2;50754:18;;50747:34;;;;-1:-1:-1;50812:2:162;50797:18;50790:34;50686:52;50471:359;-1:-1:-1;50471:359:162:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","deleteRecord(bytes32,bytes32[])":"505a181d","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","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","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","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","setUp()":"0a9254e4","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAccessControl()":"cd9847bc","testRequireAccess()":"ee982889","testRequireAccessRevert()":"560e0861","testRequireOwner()":"24476f73","testRequireOwnerRevert()":"3b533860","unregisterStoreHook(bytes32,address)":"05609129"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"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\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"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\":[],\"name\":\"setUp\",\"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\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAccessControl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireAccessRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequireOwnerRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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.\"}}],\"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.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"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\":{\"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.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The protocol version of the Store.\"}}},\"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.\"}],\"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.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store 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\":{\"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.\"},\"storeVersion()\":{\"notice\":\"Retrieves the protocol version of the Store.\"},\"testRequireAccess()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"},\"testRequireAccessRevert()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"},\"testRequireOwnerRevert()\":{\"notice\":\"forge-config: default.allow_internal_expect_revert = true\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/AccessControl.t.sol\":\"AccessControlTest\"},\"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/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x60fcfd28b812fcd1e9ead75f0513c70ba36a87e3b2f01fe78f85bd3f3cf8d85e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830b8896c26dd96f9b4c209e4c67910ea31938e8bd5721563e961ef44c88ea0d\",\"dweb:/ipfs/QmSHTDowBnhy7rvbWv9JHAfiLhLvDVRatcpoedHQE4fU1K\"]},\"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/Store.sol\":{\"keccak256\":\"0x8dcf87de5dbb768ea776ba17498a19cf74fbc454b1dfb239d52e42b7eaeeff0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c868cb7b9f67cc71603aa86f1e5a38caff01133434067359fbfe816dd5562116\",\"dweb:/ipfs/QmWo8pkuJYYCzunTw2dHVKyP6DbwHFAD328Xay3tHApeGr\"]},\"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\"]},\"node_modules/@latticexyz/store/test/StoreMock.sol\":{\"keccak256\":\"0x62f8499d3e156cdc90d081afbb836f1425698d24812dd479d6c299d0a2745b14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0540c99beddefea43c509ec192f3fa4d8d885fdaf16fedb1e12fca72efd5bd67\",\"dweb:/ipfs/Qmaw9p8gW9RiQVMHM14L6K8TwiHgD7MWMrFbZ3nuW7WdHe\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"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\":\"0x15e21a1edaad9bc31f00659cce409f4cd6eaa2cd0c5035ab32b4ffa9fa4c8d40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f5f0260668ada84712fd51de1166eeeecf53a01b896ea322f978387de363f6\",\"dweb:/ipfs/QmQdaur7oZLLf8jRw8m3cNm1wbDLRTqQ634k1DhzRCYdRa\"]},\"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\"]},\"test/AccessControl.t.sol\":{\"keccak256\":\"0x11fd5bee9deef0d8815d39886f6b7bcacf07c210b159e8a4faec88e2a5fd9b3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2688ffdf5bdd138e41b1dda057a3f950401755002b3e648c89efea2944df6490\",\"dweb:/ipfs/QmbxXnxFoFVKtdbLSKtcgxDPTYcYqcAtBUzwcUMukAqy8W\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"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":[{"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":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","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":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"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":"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":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"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":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"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":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAccessControl"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireAccess"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireAccessRevert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireOwner"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequireOwnerRevert"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"}],"devdoc":{"kind":"dev","methods":{"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."}},"storeVersion()":{"returns":{"_0":"The protocol version of the Store."}}},"version":1},"userdoc":{"kind":"user","methods":{"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."},"storeVersion()":{"notice":"Retrieves the protocol version of the Store."},"testRequireAccess()":{"notice":"forge-config: default.allow_internal_expect_revert = true"},"testRequireAccessRevert()":{"notice":"forge-config: default.allow_internal_expect_revert = true"},"testRequireOwnerRevert()":{"notice":"forge-config: default.allow_internal_expect_revert = true"}},"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":{"test/AccessControl.t.sol":"AccessControlTest"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x60fcfd28b812fcd1e9ead75f0513c70ba36a87e3b2f01fe78f85bd3f3cf8d85e","urls":["bzz-raw://830b8896c26dd96f9b4c209e4c67910ea31938e8bd5721563e961ef44c88ea0d","dweb:/ipfs/QmSHTDowBnhy7rvbWv9JHAfiLhLvDVRatcpoedHQE4fU1K"],"license":"MIT"},"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/Store.sol":{"keccak256":"0x8dcf87de5dbb768ea776ba17498a19cf74fbc454b1dfb239d52e42b7eaeeff0d","urls":["bzz-raw://c868cb7b9f67cc71603aa86f1e5a38caff01133434067359fbfe816dd5562116","dweb:/ipfs/QmWo8pkuJYYCzunTw2dHVKyP6DbwHFAD328Xay3tHApeGr"],"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"},"node_modules/@latticexyz/store/test/StoreMock.sol":{"keccak256":"0x62f8499d3e156cdc90d081afbb836f1425698d24812dd479d6c299d0a2745b14","urls":["bzz-raw://0540c99beddefea43c509ec192f3fa4d8d885fdaf16fedb1e12fca72efd5bd67","dweb:/ipfs/Qmaw9p8gW9RiQVMHM14L6K8TwiHgD7MWMrFbZ3nuW7WdHe"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"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":"0x15e21a1edaad9bc31f00659cce409f4cd6eaa2cd0c5035ab32b4ffa9fa4c8d40","urls":["bzz-raw://a1f5f0260668ada84712fd51de1166eeeecf53a01b896ea322f978387de363f6","dweb:/ipfs/QmQdaur7oZLLf8jRw8m3cNm1wbDLRTqQ634k1DhzRCYdRa"],"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"},"test/AccessControl.t.sol":{"keccak256":"0x11fd5bee9deef0d8815d39886f6b7bcacf07c210b159e8a4faec88e2a5fd9b3c","urls":["bzz-raw://2688ffdf5bdd138e41b1dda057a3f950401755002b3e648c89efea2944df6490","dweb:/ipfs/QmbxXnxFoFVKtdbLSKtcgxDPTYcYqcAtBUzwcUMukAqy8W"],"license":"MIT"}},"version":1},"id":137}