@latticexyz/world-modules 2.0.0-main-2c920de7 → 2.0.0-main-6878b505

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 (122) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/Delegation.sol/Delegation.json +1 -1
  13. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  14. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  15. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  16. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  17. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  18. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  19. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  20. package/out/ERC20System.sol/ERC20System.json +1 -1
  21. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  23. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  24. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  26. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  27. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  28. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  29. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  30. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  31. package/out/ERC721System.sol/ERC721System.json +1 -1
  32. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  33. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  34. package/out/Hook.sol/HookInstance.json +1 -1
  35. package/out/Hook.sol/HookLib.json +1 -1
  36. package/out/Hooks.sol/Hooks.json +1 -1
  37. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  38. package/out/IStore.sol/IStore.json +1 -1
  39. package/out/IStoreData.sol/IStoreData.json +1 -1
  40. package/out/IStoreEvents.sol/IStoreEvents.abi.json +13 -0
  41. package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +13 -0
  42. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  43. package/out/IStoreWrite.sol/IStoreWrite.abi.json +13 -0
  44. package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +13 -0
  45. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  46. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  47. package/out/InitModule.sol/InitModule.json +1 -1
  48. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  49. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  50. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  51. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  52. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  53. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  54. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  55. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  56. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  57. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  58. package/out/Module.sol/Module.json +1 -1
  59. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  60. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  61. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  62. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  63. package/out/Owners.sol/Owners.json +1 -1
  64. package/out/Puppet.sol/Puppet.json +1 -1
  65. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  66. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  67. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  68. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  69. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  70. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  71. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  72. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  73. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  74. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  75. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  76. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  77. package/out/StoreCore.sol/StoreCore.json +1 -1
  78. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  79. package/out/StoreData.sol/StoreData.json +1 -1
  80. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  81. package/out/StoreRead.sol/StoreRead.json +1 -1
  82. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  83. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  84. package/out/System.sol/System.json +1 -1
  85. package/out/SystemCall.sol/SystemCall.json +1 -1
  86. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  87. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  88. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  89. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  90. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  91. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  92. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  93. package/out/Systems.sol/Systems.json +1 -1
  94. package/out/Tables.sol/Tables.json +1 -1
  95. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  96. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  97. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  98. package/out/TokenURI.sol/TokenURI.json +1 -1
  99. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  100. package/out/TwoFields.sol/TwoFields.json +1 -1
  101. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  102. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  103. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  104. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  105. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  106. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  107. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  108. package/out/World.sol/World.json +1 -1
  109. package/out/World.t.sol/EchoSystemHook.json +1 -1
  110. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  111. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  112. package/out/World.t.sol/RevertSystemHook.json +1 -1
  113. package/out/World.t.sol/WorldTest.json +1 -1
  114. package/out/World.t.sol/WorldTestSystem.json +1 -1
  115. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  116. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  117. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  118. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  119. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  120. package/out/query.t.sol/QueryTest.json +1 -1
  121. package/out/tables/Balances.sol/Balances.json +1 -1
  122. package/package.json +8 -8
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"PackedCounter"},{"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":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_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":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:95:-:0;;;981:4:86;938:48;;2226:12847:95;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:62;;;;;;:::i;:::-;;:::i;:::-;;;592:14:212;;585:22;567:41;;555:2;540:18;2331:198:62;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:212;;;765:74;;753:2;738:18;1262:113:62;619:226:212;11618:932:95;;;;;;:::i;:::-;;:::i;:::-;;8379:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:212;;;3108:98;;3096:2;3081:18;8379:1508:95;2964:248:212;5808:2236:95;;;;;;:::i;:::-;;:::i;1616:110:62:-;;;-1:-1:-1;;3800:14:62;3796:25;3783:39;3899:25:212;;3887:2;3872:18;1616:110:62;3753:177:212;10291:997:95;;;;;;:::i;:::-;;:::i;4742:388::-;;;;;;:::i;:::-;;:::i;14605:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13276:1145::-;;;;;;:::i;:::-;;:::i;12735:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:62:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:62;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:62;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:62:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11618:932:95:-;1061:20:86;:18;:20::i;:::-;11823:141:95::1;11869:12;:10;:12::i;:::-;11900:9;11938:19;11823:26;:141::i;:::-;12014:41;12035:19;12014:20;:41::i;:::-;12010:536;;;12159:25;12187:39;12206:19;12187:18;:39::i;:::-;12159:67;;12234:73;12251:17;12270:36;12234:16;:73::i;:::-;12378:161;12429:12;:10;:12::i;:::-;12461:19;12500:12;12529:1;12378:32;:161::i;:::-;;12057:489;12010:536;11618:932:::0;;;:::o;8379:1508::-;8518:28;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;8625:8:95;:37;::::1;;8621:138;;-1:-1:-1::0;;;8722:8:95::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8621:138;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;:::-;8896:26;:50::i;:::-;8993:29;9025:59;9060:23;:8;451:5:20::0;2634:44:63;;2536:148;9060:23:95::1;-1:-1:-1::0;;9025:59:95::1;:34;:59::i;:::-;8993:91;;9090:35;9145:15;9168:23;9128:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:102;;9239:22;9229:33;;;;;;9198:65;;9329:27;9359:53;9390:21;9359:30;:53::i;:::-;9329:83:::0;-1:-1:-1;9423:40:95;;9419:111:::1;;9472:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:212;;9472:58:95::1;::::0;::::1;3108:98:212::0;3081:18;;9472:58:95::1;2964:248:212::0;9419:111:95::1;9614:41:::0;;::::1;::::0;::::1;::::0;9662:79:::1;9685:21:::0;9708:8;9614:41;9662:22:::1;:79::i;:::-;9804:78;9828:21;9858:22;9804:23;:78::i;:::-;8548:1339;;;;8379:1508:::0;;;;:::o;5808:2236::-;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;5996:8:95;:37;::::1;;5992:138;;-1:-1:-1::0;;;6093:8:95::1;6103:19;:8;:17;:19::i;5992:138::-;578:36:63::0;2952:46;;-1:-1:-1;;;2951:74:63;6239:43:95::1;2951:74:63::0;6239:30:95::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:95::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;:::-;6665:54;;;;;;;;;;;;:::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:95;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:212;;7018:42:95::1;::::0;::::1;765:74:212::0;738:18;;7018:42:95::1;619:226:212::0;6875:192:95::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:95;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;10291:997::-;10468:28;1061:20:86;:18;:20::i;:::-;625:63:84::1;::::0;;-1:-1:-1;;;625:63:84::1;::::0;::::1;8547:92:212::0;662:14:84::1;8655:11:212::0;;;8648:100;;;8764:12;;;8757:101;10556:59:95::1;::::0;8874:12:212;625:63:84::1;;;;;;;;;;;;617:72;;;:::i;:::-;10602:12:95;:10;:12::i;10556:59::-;-1:-1:-1::0;10718:40:95;;::::1;::::0;::::1;::::0;10825:27:::1;10855:53;10718:40:::0;10855:30:::1;:53::i;:::-;10825:83:::0;-1:-1:-1;10919:40:95;;10915:111:::1;;10968:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:212;;10968:58:95::1;::::0;::::1;3108:98:212::0;3081:18;;10968:58:95::1;2964:248:212::0;10915:111:95::1;11071:79;11094:21;11117:8;11127:22;11071;:79::i;:::-;11213:70;11237:21;11260:22;11213:23;:70::i;:::-;10498:790;10291:997:::0;;;;;:::o;4742:388::-;1061:20:86;:18;:20::i;:::-;4899:50:95::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1160:66:80;5094:8:95::0;5112:11;5044:27:::1;:81::i;:::-;4742:388:::0;;:::o;14605:466::-;1061:20:86;:18;:20::i;:::-;14746:29:95::1;14763:11;14746:16;:29::i;:::-;14820:43;14851:11;14820:30;:43::i;:::-;14917:53;14944:11;14957:12;:10;:12::i;14917:53::-;15014:52;15054:11;15014:39;:52::i;:::-;14605:466:::0;:::o;2536:736::-;1061:20:86;:18;:20::i;:::-;2673:29:95::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13276:1145::-:0;1061:20:86;:18;:20::i;:::-;13490:29:95::1;13507:11;13490:16;:29::i;:::-;13581:41;13602:19;13581:20;:41::i;:::-;13576:107;;13639:37;;;;;;;;;;;;;;13576:107;13736:53;13763:11;13776:12;:10;:12::i;13736:53::-;13888:25;13916:39;13935:19;13916:18;:39::i;:::-;13888:67;;13961:73;13978:17;13997:36;13961:16;:73::i;:::-;14080:65;14112:11;14125:19;14080:31;:65::i;:::-;14216:19:::0;;:23;14212:205:::1;;14249:161;14300:12;:10;:12::i;14212:205::-;13436:985;13276:1145:::0;;;:::o;12735:223::-;1061:20:86;:18;:20::i;:::-;12868:85:95::1;12916:12;:10;:12::i;:::-;12941:9;12868:34;:85::i;3576:936::-:0;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;3801:8:95;:37;::::1;;3797:138;;-1:-1:-1::0;;;3898:8:95::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;578:36:63;2952:46;;2951:74;4221:30:95::1;:57::i;:::-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:95::1;:97::i;1942:98:62:-:0;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:62;3325:45;2992:383;:::o;1179:189:86:-;-1:-1:-1;;;;;1265:6:86;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;6156:426:83:-;6284:16;;;6298:1;6284:16;;;;;;;;6255:26;;6284:16;;;;;;;;;;-1:-1:-1;6284:16:83;6255:45;;6345:9;-1:-1:-1;;;;;6329:27:83;6321:36;;6306:9;6316:1;6306:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6402:9;-1:-1:-1;;;;;6386:27:83;6378:36;;6363:9;6373:1;6363:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6421:156;1175:66;1159:83;;6469:9;6486:1;6530:19;6495:56;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;6495:56:83;;;;-1:-1:-1;;6495:56:83;;;;;;;;;-1:-1:-1;;;6421:24:83;:156::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;3073:307:82:-;3188:16;;;3202:1;3188:16;;;;;;;;;3137:14;;;;3188:16;;;;;;;;;;;;-1:-1:-1;3188:16:82;3159:45;;3243:8;3210:9;3220:1;3210:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3259:13;3275:62;1152:66;3310:9;3259:13;1281:66;3275:24;:62::i;:::-;3351:23;;;3073:307;-1:-1:-1;;;;3073:307:82:o;692:238:97:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;9825:55:212;;853:70:97;;;9807:74:212;-1:-1:-1;;;;;;9917:79:212;;9897:18;;;9890:107;9780:18;;853:70:97;9635:368:212;5258:401:59;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:59:o;3483:592:63:-;3547:13;3617:10;451:5:20;2634:44:63;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:63;-1:-1:-1;;3836:35:63;;;:102;;3885:53;-1:-1:-1;;3885:53:63;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:63;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2140:233::-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;578:36:63;2952:46;;2951:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;1862:322:63:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:63;;3218:1:2;3214:13;;3210:24;2007:39:63;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;11424:79:212;;2089:30:63;;;11412:92:212;2089:30:63;;11520:12:212;;;;2089:30:63;;;875:21:2;;;2089:30:63;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:63:o;3132::73:-;3258:16;;;3272:1;3258:16;;;;;;;;;3202:19;;;;3258:16;;;;;;;;;;;;-1:-1:-1;3258:16:73;3229:45;;3303:16;3295:25;;;3280:9;3290:1;3280:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3327:13;3343:62;1171:66;3378:9;3327:13;1300:66;3343:24;:62::i;7237:454::-;7343:24;7370:46;7383:8;7393:22;7370:12;:46::i;:::-;7519:16;;;7533:1;7519:16;;;;;;;;;7343:73;;-1:-1:-1;7423:29:73;;7458:25;;7423:29;;7519:16;;;;;;;;;;;;-1:-1:-1;7519:16:73;7490:45;;7564:16;7556:25;;;7541:9;7551:1;7541:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7588:98;1171:66;7618:9;7629:11;7642:15;7659:12;1300:66;7588:19;:98::i;:::-;7337:354;;;;7237:454;;;:::o;3184:455:74:-;3271:24;3301:29;3333:32;3347:17;3333:13;:32::i;:::-;3301:64;;3371:25;3399:32;3413:17;3399:13;:32::i;:::-;3467:16;;;3481:1;3467:16;;;;;;;;;3371:60;;-1:-1:-1;3438:26:74;;3467:16;;;;;;;;;;;;-1:-1:-1;3467:16:74;3438:45;;3512:16;3504:25;;;3489:9;3499:1;3489:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3536:98;1092:66;3566:9;3577:11;3590:15;3607:12;1221:66;3536:19;:98::i;3162:160:63:-;3225:7;3289:26;438:6;451:5:20;3289:26:63;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:63:o;3784:313:81:-;3893:16;;;3907:1;3893:16;;;;;;;;;3837:19;;;;3893:16;;;;;;;;;;;;-1:-1:-1;3893:16:81;3864:45;;3954:6;-1:-1:-1;;;;;3938:24:81;3930:33;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3970:13;3986:62;1166:66;4021:9;3970:13;-1:-1:-1;;;3986:24:81;:62::i;5762:222::-;5845:16;;;5859:1;5845:16;;;;;;;;;5816:26;;5845:16;;;;;;;;;;;-1:-1:-1;5845:16:81;5816:45;;5906:6;-1:-1:-1;;;;;5890:24:81;5882:33;;5867:9;5877:1;5867:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5922:57;1166:66;5955:9;-1:-1:-1;;;5922:22:81;:57::i;6291:295:79:-;6397:16;;;6411:1;6397:16;;;;;;;;6368:26;;6397:16;;;;;;;;;;-1:-1:-1;6397:16:79;6368:45;;6452:10;6419:9;6429:1;6419:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6508:6;-1:-1:-1;;;;;6492:24:79;6484:33;;6469:9;6479:1;6469:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6524:57;1166:66;6557:9;-1:-1:-1;;;6524:22:79;:57::i;4219:268:31:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:31;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;12013:14:212;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4441:26:31;;;;-1:-1:-1;;4441:26:31;;;;;;;;;-1:-1:-1;;;4392:24:31;:90::i;6910:423:82:-;6995:24;7022:34;7035:6;7043:12;7022;:34::i;:::-;7159:16;;;7173:1;7159:16;;;;;;;;;6995:61;;-1:-1:-1;7063:29:82;;7098:25;;7063:29;;7159:16;;;;;;;;;;;;-1:-1:-1;7159:16:82;7130:45;;7214:8;7181:9;7191:1;7181:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7230:98;1152:66;7260:9;7271:11;7284:15;7301:12;1281:66;7230:19;:98::i;5145:286:81:-;5240:16;;;5254:1;5240:16;;;;;;;;;5211:26;;5240:16;;;;;;;;;;;-1:-1:-1;5240:16:81;5211:45;;5301:6;-1:-1:-1;;;;;5285:24:81;5277:33;;5262:9;5272:1;5262:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5317:109;1166:66;1150:83;;5352:9;5363:1;5401:8;5366:45;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;5555:332:79;5665:16;;;5679:1;5665:16;;;;;;;;5636:26;;5665:16;;;;;;;;;;-1:-1:-1;5665:16:79;5636:45;;5720:10;5687:9;5697:1;5687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5776:6;-1:-1:-1;;;;;5760:24:79;5752:33;;5737:9;5747:1;5737:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5792:90;1166:66;1150:83;;5827:9;5838:1;5859:6;5841:26;;;;;;12013:14:212;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1474:1069:4;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:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;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;596:401:98:-;-1:-1:-1;;;578:36:63;2952:46;;2951:74;821:10:98;803:79;799:196;;-1:-1:-1;;;956:10:98;968:21;:10;:19;:21::i;5970:214:77:-;6060:16;;;6074:1;6060:16;;;;;;;;;6031:26;;6060:16;;;;;;;;;;;-1:-1:-1;6060:16:77;6031:45;;6115:11;6082:9;6092:1;6082:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6134;1180:66;6169:9;6134:24;:45::i;648:770:99:-;776:17;796:25;:10;451:5:20;2634:44:63;;2536:148;796:25:99;776:45;-1:-1:-1;825:30:99;858:45;-1:-1:-1;;858:45:99;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:99;;975:441;;1017:65;1036:16;1055:26;1080:1;1055:22;:26;:::i;:::-;2702:27:2;2716:4;2702:27;2696:34;;2575:165;1017:65:99;:72;;;;1013:146;;1106:46;;;;;-1:-1:-1;;12365:79:212;;1106:46:99;;;12347:98:212;12320:18;;1106:46:99;12201:250:212;1013:146:99;1170:9;1165:247;1185:26;1210:1;1185:22;:26;:::i;:::-;1181:1;:30;1165:247;;;2716:4:2;2702:27;;;;2696:34;1230:47:99;;;;;:102;;;;-1:-1:-1;1281:44:99;1300:16;1319:5;:1;1323;1319:5;:::i;1281:44::-;:51;;;;;1230:102;1226:180;;;1351:46;;;;;-1:-1:-1;;12365:79:212;;1351:46:99;;;12347:98:212;12320:18;;1351:46:99;12201:250:212;1226:180:99;1213:3;;1165:247;;2855:314:31;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:31;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:31;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:20;1541:126;5020:265:78;5117:16;;;5131:1;5117:16;;;;;;;;;5088:26;;5117:16;;;;;;;;;;;-1:-1:-1;5117:16:78;5088:45;;5172:11;5139:9;5149:1;5139:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5191:89;1166:66;1150:83;;5226:9;5237:1;5258:5;5240:25;;;;;;;12605:2:212;12601:15;;;;-1:-1:-1;;12597:88:212;12585:101;;12711:2;12702:12;;12456:264;5240:25:78;;;;-1:-1:-1;;5240:25:78;;;;;;;;;1295:66;5191:24;:89::i;5560:349:77:-;5674:16;;;5688:1;5674:16;;;;;;;;;5645:26;;5674:16;;;;;;;;;;;-1:-1:-1;5674:16:77;5645:45;;5729:11;5696:9;5706:1;5696:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5748:156;1180:66;1164:83;;5796:9;5813:1;5857:19;5822:56;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;6643:291:83;6747:16;;;6761:1;6747:16;;;;;;;;6718:26;;6747:16;;;;;;;;;;-1:-1:-1;6747:16:83;6718:45;;6808:9;-1:-1:-1;;;;;6792:27:83;6784:36;;6769:9;6779:1;6769:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6865:9;-1:-1:-1;;;;;6849:27:83;6841:36;;6826:9;6836:1;6826:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6884:45;1175:66;6919:9;6884:24;:45::i;9574:257:80:-;9671:16;;;9685:1;9671:16;;;;;;;;;9642:26;;9671:16;;;;;;;;;;;-1:-1:-1;9671:16:80;9642:45;;9726:8;9693:9;9703:1;9693:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9742:84;1160:66;1144:83;;9783:9;9794:1;9815:8;9797:28;;;;;;;12878:66:212;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;9797:28:80;;;;;;;;;;;;;9742:30;:84::i;4048:97:62:-;4089:7;4111:29;:27;:29::i;22785:355:24:-;22957:178;22991:7;23016:8;23046:63;23085:11;23098:10;23046:38;:63::i;:::-;23124:4;22957:16;:178::i;1129:181:47:-;764:71:84;;;-1:-1:-1;;;764:71:84;;;8547:92:212;1205:4:47;8655:11:212;;;8648:100;;;814:20:84;8764:12:212;;;8757:101;1205:4:47;8874:12:212;764:71:84;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;35844:541:24:-;36001:7;36138:242;36182:59;36223:7;36232:8;36182:40;:59::i;:::-;36259:31;;;;4322:19:3;:27;579:1:34;4321:44:3;4287:79;;;4274:93;36308:63:24;36347:11;36360:10;36308:38;:63::i;:::-;36138:17;:242::i;:::-;36125:255;35844:541;-1:-1:-1;;;;;35844:541:24:o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;:::-;1491:88;1312:272;-1:-1:-1;;;1312:272:49:o;3782:1003:59:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:101;4194:4:59;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:59;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:59;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:59;-1:-1:-1;4560:9:59;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:101;4645:4:59;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:59;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:59;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:100:-;551:6;545:13;538:4;530:6;526:17;519:40;3747:306:78;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:78;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;9143:179:73:-;9240:12;9284:8;9294:22;9267:50;;;;;;;;13616:19:212;;;-1:-1:-1;;;;;;13665:79:212;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9267:50:73;;;;;;;;;;;;;9260:57;;9143:179;;;;:::o;12891:3164:24:-;13185:23;13164:7;:44;;;13160:211;;13291:7;13262:88;13300:8;13310:10;13322:14;13338:11;13262:88;;;;;;;;;:::i;:::-;;;;;;;;13358:7;;13160:211;13509:22;13534:24;13550:7;13534:15;:24::i;:::-;13509:49;;13569:9;13564:340;13584:5;:12;13580:1;:16;13564:340;;;13611:9;13633:5;13639:1;13633:8;;;;;;;;:::i;:::-;;;;;;;13611:31;;13654:33;409:6:36;13654:4:24;:14;;;;;:33;;;;:::i;:::-;13650:248;;;13699:190;;;;;3536:35:4;;;;;13699:47:24;;:190;;13758:7;;13777:8;;13797:10;;13819:14;;13845:11;;13868;;13699:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:248;-1:-1:-1;13598:3:24;;13564:340;;;;13981:7;13952:88;13990:8;14000:10;14012:14;14028:11;13952:88;;;;;;;;;:::i;:::-;;;;;;;;14104:26;14133:59;14174:7;14183:8;14133:40;:59::i;:::-;14104:88;-1:-1:-1;14198:21:24;894:4:18;884:15;;14198:54:24;;14258:149;14296:18;14330:1;14347:10;:17;14387:13;14258;:149::i;:::-;14507:1;14474:30;:11;:28;:30::i;:::-;:34;14470:1174;;;14593:33;14629:66;14677:7;14686:8;14629:47;:66::i;:::-;695:28:23;;;14593:102:24;-1:-1:-1;894:4:18;884:15;;14869:47:24;;15025:27;15060:25;15098:7;15093:545;15111:30;:11;:28;:30::i;:::-;15107:1;:34;;;15093:545;;;15177:63;15219:7;15228:8;15238:1;15177:41;:63::i;:::-;15155:85;-1:-1:-1;15270:25:24;:14;15293:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;15270:25:24;15250:45;;15305:170;15347:19;15386:1;15407:17;15451:13;15305;:170::i;:::-;15485:34;15502:17;15485:34;;:::i;:::-;;-1:-1:-1;15616:3:24;;15093:545;;;;14510:1134;;;14470:1174;15718:9;15713:338;15733:5;:12;15729:1;:16;15713:338;;;15760:9;15782:5;15788:1;15782:8;;;;;;;;:::i;:::-;;;;;;;15760:31;;15803:32;503:6:36;15803:4:24;:14;;;;;:32;;;;:::i;:::-;15799:246;;;15847:189;;;;;3536:35:4;;;;;15847:46:24;;:189;;15905:7;;15924:8;;15944:10;;15966:14;;15992:11;;16015;;15847:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15799:246;-1:-1:-1;15747:3:24;;15713:338;;;;13100:2955;;;12891:3164;;;;;;:::o;5278:304:74:-;5357:29;5517:54;5545:17;5539:31;967:16:19;2053:39;;;2035:58;;1896:263;5747:155:74;5826:12;5877:17;5853:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5846:51;;5747:155;;;:::o;25973:1804:24:-;26161:23;26140:7;:44;;;26136:173;;26270:7;26238:50;26279:8;26238:50;;;;;;:::i;:::-;;;;;;;;25973:1804;;;:::o;26136:173::-;26450:22;26475:24;26491:7;26475:15;:24::i;:::-;26450:49;;26510:9;26505:235;26525:5;:12;26521:1;:16;26505:235;;;26552:9;26574:5;26580:1;26574:8;;;;;;;;:::i;:::-;;;;;;;26552:31;;26595:36;1049:6:36;26595:4:24;:14;;;;;:36;;;;:::i;:::-;26591:143;;;26643:82;;;;;3536:35:4;;;;;26643:50:24;;:82;;26694:7;;26703:8;;26713:11;;26643:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26591:143;-1:-1:-1;26539:3:24;;26505:235;;;;26820:7;26788:50;26829:8;26788:50;;;;;;:::i;:::-;;;;;;;;26871:26;26900:59;26941:7;26950:8;26900:40;:59::i;:::-;26871:88;;26965:113;26997:18;27025:1;27044:30;:11;:28;:30::i;:::-;27034:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27034:41:24;;26965:13;:113::i;:::-;27297:1;27264:30;:11;:28;:30::i;:::-;:34;27260:236;;;27308:33;27344:66;27392:7;27401:8;27344:47;:66::i;:::-;27308:102;;27418:71;27449:25;27484:2;27418:12;:71::i;:::-;27300:196;27260:236;27545:9;27540:233;27560:5;:12;27556:1;:16;27540:233;;;27587:9;27609:5;27615:1;27609:8;;;;;;;;:::i;:::-;;;;;;;27587:31;;27630:35;1149:6:36;27630:4:24;:14;;;;;:35;;;;:::i;:::-;27626:141;;;27677:81;;;;;3536:35:4;;;;;27677:49:24;;:81;;27727:7;;27736:8;;27746:11;;27677:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27626:141;-1:-1:-1;27574:3:24;;27540:233;;8733:150:82;8840:38;;8813:12;17019:15:212;;;-1:-1:-1;;17015:88:212;8840:38:82;;;17003:101:212;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;8813:12:82;17183::212;;8840:38:82;16852:349:212;3524:369:30;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:30;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:30;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;13842:301:28:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:28;-1:-1:-1;;;;;13977:30:28;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:28;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:28;-1:-1:-1;;;;;12551:30:28;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:28;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:28;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:28:o;51493:242:24:-;51589:7;;;51628:84;51648:10;51644:14;;:1;:14;51628:84;;;51673:32;4274:93:3;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;51673:32:24;;:::i;:::-;;-1:-1:-1;51660:3:24;;51628:84;;16691:1682;16891:23;16870:7;:44;;;16866:235;;17024:7;16977:103;17043:8;17060:5;17073:4;16977:103;;;;;;;;:::i;:::-;;;;;;;;17088:7;;16866:235;17107:16;17126:59;17167:7;17176:8;17126:40;:59::i;:::-;17107:78;;17331:22;17356:24;17372:7;17356:15;:24::i;:::-;17331:49;;17391:9;17386:328;17406:5;:12;17402:1;:16;17386:328;;;17433:9;17455:5;17461:1;17455:8;;;;;;;;:::i;:::-;;;;;;;17433:31;;17476:41;614:6:36;17476:4:24;:14;;;;;:41;;;;:::i;:::-;17472:236;;;17529:170;;;;;3536:35:4;;;;;17529:54:24;;:170;;17605:7;;17634:8;;17661:5;;17684:4;;17529:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17472:236;-1:-1:-1;17420:3:24;;17386:328;;;;17818:7;17771:103;17837:8;17854:5;17867:4;17771:103;;;;;;;;:::i;:::-;;;;;;;;17924:70;17956:8;17974:5;17924:70;;17987:4;17924:13;:70::i;:::-;18048:9;18043:326;18063:5;:12;18059:1;:16;18043:326;;;18090:9;18112:5;18118:1;18112:8;;;;;;;;:::i;:::-;;;;;;;18090:31;;18133:40;723:6:36;18133:4:24;:14;;;;;:40;;;;:::i;:::-;18129:234;;;18185:169;;;;;3536:35:4;;;;;18185:53:24;;:169;;18260:7;;18289:8;;18316:5;;18339:4;;18185:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18129:234;-1:-1:-1;18077:3:24;;18043:326;;50476:191;50578:7;50642;50651:8;50625:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50625:35:24;;;;;;;;;50615:46;;50625:35;50615:46;;;;42033:22;50608:53;;50476:191;-1:-1:-1;;;50476:191:24: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;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;3126:79:212;;4295:56:49;;;3108:98:212;4234:4:49;;;;3081:18:212;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;3854:344:80:-;3971:16;;;3985:1;3971:16;;;;;;;;;3912:22;;3942:26;;3971:16;;;;;;;;;;;;-1:-1:-1;3971:16:80;3942:45;;4026:8;3993:9;4003:1;3993:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4042:18;4063:49;1160:66;4099:9;4042:18;4063:25;:49::i;:::-;4042:70;;4126:66;:44;4147:5;4154:1;4157:5;:12;4126:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:59:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:59;-1:-1:-1;;;;;;2067:27:59;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:63;2952:46;;-1:-1:-1;;;2951:74:63;2432:22:59;2515:26;2951:74:63;2515:13:59;:26::i;:::-;2490:51;-1:-1:-1;2549:50:59;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2634:44:63;;2536:148;2681:23:59;-1:-1:-1;;2681:41:59;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:59;-1:-1:-1;;;;;;;1761:1386:59:o;3655:342:32:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:32;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::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:34;804:25:35;;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:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;5376:173:3:-;5450:7;579:1:34;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5486:11:3;5465:79;5478:65;;5465:79;;5376:173;-1:-1:-1;;5376:173:3:o;53041:230:24:-;53162:7;53246;53255:8;53229:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53229:35:24;;;;;;;;;53219:46;;53229:35;53219:46;;;;42196:40;53192:73;;53041:230;-1:-1:-1;;;53041:230:24:o;52412:274::-;52556:7;52661;52670:8;52644:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52634:46;;;;;;52613:17;52606:25;;52586:45;;;42105:34;52586:45;:94;52578:103;;52571:110;;52412:274;;;;;:::o;4597:171:3:-;4671:7;579:1:34;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;4693:70:3;;;;;4597:171;-1:-1:-1;4597:171:3:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:23;1055:5;:68::i;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;;36853:522:24;36989:12;37113:257;37152:79;37194:7;37203:8;37213:17;37152:41;:79::i;:::-;37249:1;37268:93;37343:17;37268:66;37316:7;37325:8;37268:47;:66::i;:::-;:74;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;37268:93:24;37113: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;;;;;;;;;;;;;:::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:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;23830:737:24:-;24081:36;24120:66;24168:7;24177:8;24120:47;:66::i;:::-;24081:105;-1:-1:-1;24192:26:24;24228:49;24081:105;24259:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;24228:49:24;24192:86;;24285:277;24339:7;24364:8;24399:17;24442:1;24464:19;24497:4;24533:22;24285:36;:277::i;25229:145::-;25313:56;25326:7;25335:8;25345:23;25360:7;25345:14;:23::i;:::-;25313:12;:56::i;28441:790::-;28700:36;28739:66;28787:7;28796:8;28739:47;:66::i;:::-;28700:105;-1:-1:-1;28811:26:24;28847:49;28700:105;28878:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;28847:49:24;28811:86;;28935:291;28989:7;29014:8;29049:17;29099:19;29140:1;29155:10;29197:22;28935:36;:291::i;5924:432:82:-;6052:16;;;6066:1;6052:16;;;;;;;;;5982:14;;;;;;6052:16;;;;;;;;;;;-1:-1:-1;6052:16:82;6023:45;;6107:8;6074:9;6084:1;6074:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6124:24;;;6210:78;1152:66;6253:9;1281:66;6210:19;:78::i;:::-;-1:-1:-1;;2716:4:2;2702:27;;2696:34;2702:27;;;;2696:34;7557:32:82;;;;;;7621:30;;;;;;-1:-1:-1;5924:432:82;-1:-1:-1;;;;;;5924:432:82:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3755:308:72:-;3868:16;;;3882:1;3868:16;;;;;;;;;3816:15;;;;3868:16;;;;;;;;;;;;-1:-1:-1;3868:16:72;3839:45;;3923:11;3890:9;3900:1;3890:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3942:13;3958:62;1154:66;3993:9;3942:13;-1:-1:-1;;;3958:24:72;:62::i;5054:269::-;5153:16;;;5167:1;5153:16;;;;;;;;;5124:26;;5153:16;;;;;;;;;;;-1:-1:-1;5153:16:72;5124:45;;5208:11;5175:9;5185:1;5175:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5227:91;1154:66;1138:83;;5262:9;5273:1;5294:7;5276:27;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;5594:317:62;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:62;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:62;;;;-1:-1:-1;5594:317:62;-1:-1:-1;;;;;5594:317:62:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:62;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53609:301:24;53730:13;53822:82;53853:48;53883:7;53892:8;53853: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;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;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:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;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;;43926:3999:24;44344:14;44323:7;:35;;;44319:161;;44414:14;44430:7;44463;44446:25;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;44446:25:24;;;;-1:-1:-1;;44446:25:24;;;;;;;;;;44375:98;;;;;;;;;;:::i;44319:161::-;44486:27;44516:49;:22;44547:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;44516:49:24;44486:79;;44571:26;44636:4;:11;44622;44600:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44571:76;;44919:18;44896:19;:41;;:98;;;;-1:-1:-1;44975:19:24;44941:30;44960:11;44941:16;:30;:::i;:::-;:53;;;;44896:98;44892:218;;;45011:92;;;;;21761:12:212;21800:15;;;45011:92:24;;;21782:34:212;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;45011:92:24;21555:371:212;44892:218:24;45216:19;45197:16;:38;;;45193:140;;;45252:74;;;;;;;;22104:25:212;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;45252:74:24;21931:266:212;45193:140:24;45372:35;45410:72;:22;45444:17;45463:18;45410:33;:72::i;:::-;45372:110;;45629:22;45654:24;45670:7;45654:15;:24::i;:::-;45629:49;;45689:9;45684:486;45704:5;:12;45700:1;:16;45684:486;;;45731:9;45753:5;45759:1;45753:8;;;;;;;;:::i;:::-;;;;;;;45731:31;;45774:42;836:6:36;45774:4:24;:14;;;;;:42;;;;:::i;:::-;45770:394;;;3536:35:4;;;;-1:-1:-1;;;;;45828:55:24;;45905:7;45934:8;45973:17;46020:16;46061:11;46100:22;46140:4;45828:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45770:394;-1:-1:-1;45718:3:24;;45684:486;;;-1:-1:-1;46228:32:24;;;:13;46368:107;46386:17;46382:21;;:1;:21;;;46368:107;;;46431:33;:22;46462:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;46431:33:24;46422:42;;;;46405:3;;46368:107;;;;46600:7;46544:277;46627:8;46664:17;46705:5;46734:11;46771:21;46808:4;46544:277;;;;;;;;;;;:::i;:::-;;;;;;;;46176:652;46913:18;46890:19;:41;46886:248;;46941:31;46975:48;47005:7;47014:8;46975:29;:48::i;:::-;695:28:23;;;-1:-1:-1;46886:248:24;47191:27;47221:61;47245:7;47254:8;47264:17;47221:23;:61::i;:::-;47191:91;;47290:92;47322:19;47351:16;47290:92;;47375:4;47290:13;:92::i;:::-;47183:206;47443:9;47438:483;47458:5;:12;47454:1;:16;47438:483;;;47485:9;47507:5;47513:1;47507:8;;;;;;;;:::i;:::-;;;;;;;47485:31;;47528:41;947:6:36;47528:4:24;:14;;;;;:41;;;;:::i;:::-;47524:391;;;3536:35:4;;;;-1:-1:-1;;;;;47581:54:24;;47657:7;47686:8;47725:17;47772:16;47813:11;47852:21;47891:4;47581:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47524:391;-1:-1:-1;47472:3:24;;47438:483;;;;44169:3756;;;;43926:3999;;;;;;;:::o;3998:652::-;4065:11;4301:64;;;4297:111;;-1:-1:-1;1339:66:33;;3998:652:24;-1:-1:-1;3998:652:24:o;4297:111::-;4452:185;4498:85;1210:66:33;4574:7:24;4498:40;:85::i;:::-;4603:2;4625:1;4452:17;:185::i;32433:1314::-;32563:23;32588:28;32618:24;32684:20;32707:30;:11;:28;:30::i;:::-;32684:53;;32798:65;32831:7;32840:8;32850:12;32798:32;:65::i;:::-;32785:78;;32927:24;32954:30;:11;:28;:30::i;:::-;32927:57;-1:-1:-1;32994:20:24;;32990:753;;33087:66;33135:7;33144:8;33087:47;:66::i;:::-;33070:83;-1:-1:-1;6395:59:19;;;33205:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33205:33:24;-1:-1:-1;33191:47:24;-1:-1:-1;894:4:18;884:15;;33246:21:24;33310:427;33328:16;33324:1;:20;;;33310:427;;;33361:27;33391:63;33433:7;33442:8;33452:1;33391:41;:63::i;:::-;33361:93;-1:-1:-1;33464:14:24;33481:25;:14;33504:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;33481:25:24;33464:42;;33516:110;33547:19;33576:1;33587:6;33610:13;33516:12;:110::i;:::-;33705:23;33722:6;33705:23;;:::i;:::-;;;33351:386;;33346:3;;;;;:::i;:::-;;;;33310:427;;;;33016:727;32990:753;32644:1103;;32433:1314;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;578:36:63;2952:46;;2951:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:62:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::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:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;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:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;7408:1509:19:-;7534:13;1137:16;7559:25;;7555:118;;;7601:65;;;;;;;;3899:25:212;;;3872:18;;7601:65:19;3753:177:212;7555:118:19;7735:13;6395:59;;;7012:16;;;1055;7012;967;7001:27;6961:68;;;6939:92;;7998:38;;;7994:192;;8081:19;8063:15;:37;8048:52;;;;7994:192;;;8162:15;8140:19;:37;8125:52;;;;7994:192;-1:-1:-1;8502:16:19;967;1055;8369;;;;8358:27;8494:35;;;8808:5;8647:26;8628:45;;;;8627:61;;;8789:24;;;;8818:34;;;;;8788:65;;-1:-1:-1;7408:1509:19;;;;;:::o;50919:282:24:-;51164:30;;;;;;24801:19:212;;;24836:12;;;24829:28;;;51007:7:24;;24873:12:212;;51164:30:24;24613:278:212;48493:360:24;48619:12;48643:6;48653:1;48643:11;48639:26;;-1:-1:-1;48656:9:24;;;;;;;;;-1:-1:-1;48656:9:24;;;;48639:26;48706:16;48725:41;48748:7;48757:8;48725:22;:41::i;:::-;48706:60;;48779:69;48810:8;48828:1;48839:6;48779:12;:69::i;4003:378:79:-;4127:16;;;4141:1;4127:16;;;;;;;;4079:11;;;;4127:16;4141:1;4127:16;;;;;;;;;;-1:-1:-1;4127:16:79;4098:45;;4182:10;4149:9;4159:1;4149:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4238:6;-1:-1:-1;;;;;4222:24:79;4214:33;;4199:9;4209:1;4199:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4254:13;4270:62;1166:66;4305:9;4254:13;-1:-1:-1;;;4270:24:79;:62::i;:::-;4254:78;;4346:29;4367:5;4354:20;;1650:10:20;1541:126;14:219:212;81:20;;-1:-1:-1;;;;;;130:78:212;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:212;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:212;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:212;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:212;2327:18;;2314:32;;-1:-1:-1;2397:2:212;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:212;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:212;;4804:211;-1:-1:-1;4804:211:212:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:212;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:212;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:212;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:212:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:212:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:212;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:212;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:212:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:212;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:212;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:212;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:212;;13784:439;-1:-1:-1;;;;;13784:439:212:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:212:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:212;;19321:639;-1:-1:-1;;;;;;;19321:639:212:o;19965:184::-;-1:-1:-1;;;20014:1:212;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:212;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:212;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:212;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:212:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:212:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:212:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:212:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:212;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:212:o","linkReferences":{},"immutableReferences":{"34879":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"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\":\"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\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"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\":\"PackedCounter\",\"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\":\"PackedCounter\",\"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\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"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\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"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\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e\",\"dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk\"]},\"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/IFieldLayoutErrors.sol\":{\"keccak256\":\"0x8d12106404bdc1b48e621de7b3c6cc9ecd228229cc2de8b15af99cf7d7bc5e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018a1127ea61809cf843b21a2c128b3ff1e552547a3d285def22bfd71ab5446d\",\"dweb:/ipfs/QmQApX8sRCpb69R1Ur5mistPWhfa2ckZyHksQuyNvnRf63\"]},\"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol\":{\"keccak256\":\"0x3c52620068df7859fefd2abbed50e63ed685c3cb9f1b50cb99cba1c2de7bb990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f167c535d51a82f28a81c90a32d451b3e76b677998741652e775d9333e1aacf7\",\"dweb:/ipfs/QmdGSt7EKLp2ViiDZ2YPX5Wd1mKBAPvffKgFFseFiDtegt\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x2f4e0b03b6a7f04975f233b9be143afec2d9aef8fe8a14d4615e9dd5b7b70e1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b353c4664ecf99277642b03a94407c3a069a0c25fe1b2d83b296014b5daa397\",\"dweb:/ipfs/QmQAbdJDWsBWvP8o8faQtyRoV5WdcU2CabbpUsqE7Y5dGh\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x303b790491ff1076852e5840581967b744ac0ecbb646c867eab27ec03d8d4eb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa527b83abac782d12d0ab567cfcc13dd73641e33b33a4fe67a9c3b80bb816a\",\"dweb:/ipfs/QmSPnmn5u96Jju85gdsEBToagGXVvYVdzFZoqRkXBrqYVY\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699\",\"dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xd53378e918f78655096851862e128722e57bcdb8c7ff58f50a8527a3945fe54f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38788d5de1db8f9f6243386530a7be9af971afcba8b860d2386cd2917cf380e8\",\"dweb:/ipfs/QmVt2tyxgiKEmXoHhRzkoUKgqm3kkfTgKrahCC9hMXxH25\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"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\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a\",\"dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a\",\"dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"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\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c\",\"dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"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\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121\",\"dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf\",\"dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"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":"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":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"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":"PackedCounter","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":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"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":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2","urls":["bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e","dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk"],"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/IFieldLayoutErrors.sol":{"keccak256":"0x8d12106404bdc1b48e621de7b3c6cc9ecd228229cc2de8b15af99cf7d7bc5e77","urls":["bzz-raw://018a1127ea61809cf843b21a2c128b3ff1e552547a3d285def22bfd71ab5446d","dweb:/ipfs/QmQApX8sRCpb69R1Ur5mistPWhfa2ckZyHksQuyNvnRf63"],"license":"MIT"},"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol":{"keccak256":"0x3c52620068df7859fefd2abbed50e63ed685c3cb9f1b50cb99cba1c2de7bb990","urls":["bzz-raw://f167c535d51a82f28a81c90a32d451b3e76b677998741652e775d9333e1aacf7","dweb:/ipfs/QmdGSt7EKLp2ViiDZ2YPX5Wd1mKBAPvffKgFFseFiDtegt"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x2f4e0b03b6a7f04975f233b9be143afec2d9aef8fe8a14d4615e9dd5b7b70e1e","urls":["bzz-raw://1b353c4664ecf99277642b03a94407c3a069a0c25fe1b2d83b296014b5daa397","dweb:/ipfs/QmQAbdJDWsBWvP8o8faQtyRoV5WdcU2CabbpUsqE7Y5dGh"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x303b790491ff1076852e5840581967b744ac0ecbb646c867eab27ec03d8d4eb4","urls":["bzz-raw://1fa527b83abac782d12d0ab567cfcc13dd73641e33b33a4fe67a9c3b80bb816a","dweb:/ipfs/QmSPnmn5u96Jju85gdsEBToagGXVvYVdzFZoqRkXBrqYVY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d","urls":["bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699","dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xd53378e918f78655096851862e128722e57bcdb8c7ff58f50a8527a3945fe54f","urls":["bzz-raw://38788d5de1db8f9f6243386530a7be9af971afcba8b860d2386cd2917cf380e8","dweb:/ipfs/QmVt2tyxgiKEmXoHhRzkoUKgqm3kkfTgKrahCC9hMXxH25"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"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":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"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/PackedCounter.sol":{"keccak256":"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7","urls":["bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a","dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721","urls":["bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a","dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"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":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4","urls":["bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c","dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"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":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864","urls":["bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121","dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd","urls":["bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf","dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":95}
1
+ {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"PackedCounter"},{"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":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_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":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:95:-:0;;;981:4:86;938:48;;2226:12847:95;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:62;;;;;;:::i;:::-;;:::i;:::-;;;592:14:212;;585:22;567:41;;555:2;540:18;2331:198:62;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:212;;;765:74;;753:2;738:18;1262:113:62;619:226:212;11618:932:95;;;;;;:::i;:::-;;:::i;:::-;;8379:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:212;;;3108:98;;3096:2;3081:18;8379:1508:95;2964:248:212;5808:2236:95;;;;;;:::i;:::-;;:::i;1616:110:62:-;;;-1:-1:-1;;3800:14:62;3796:25;3783:39;3899:25:212;;3887:2;3872:18;1616:110:62;3753:177:212;10291:997:95;;;;;;:::i;:::-;;:::i;4742:388::-;;;;;;:::i;:::-;;:::i;14605:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13276:1145::-;;;;;;:::i;:::-;;:::i;12735:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:62:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:62;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:62;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:62:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11618:932:95:-;1061:20:86;:18;:20::i;:::-;11823:141:95::1;11869:12;:10;:12::i;:::-;11900:9;11938:19;11823:26;:141::i;:::-;12014:41;12035:19;12014:20;:41::i;:::-;12010:536;;;12159:25;12187:39;12206:19;12187:18;:39::i;:::-;12159:67;;12234:73;12251:17;12270:36;12234:16;:73::i;:::-;12378:161;12429:12;:10;:12::i;:::-;12461:19;12500:12;12529:1;12378:32;:161::i;:::-;;12057:489;12010:536;11618:932:::0;;;:::o;8379:1508::-;8518:28;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;8625:8:95;:37;::::1;;8621:138;;-1:-1:-1::0;;;8722:8:95::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8621:138;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;:::-;8896:26;:50::i;:::-;8993:29;9025:59;9060:23;:8;451:5:20::0;2634:44:63;;2536:148;9060:23:95::1;-1:-1:-1::0;;9025:59:95::1;:34;:59::i;:::-;8993:91;;9090:35;9145:15;9168:23;9128:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:102;;9239:22;9229:33;;;;;;9198:65;;9329:27;9359:53;9390:21;9359:30;:53::i;:::-;9329:83:::0;-1:-1:-1;9423:40:95;;9419:111:::1;;9472:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:212;;9472:58:95::1;::::0;::::1;3108:98:212::0;3081:18;;9472:58:95::1;2964:248:212::0;9419:111:95::1;9614:41:::0;;::::1;::::0;::::1;::::0;9662:79:::1;9685:21:::0;9708:8;9614:41;9662:22:::1;:79::i;:::-;9804:78;9828:21;9858:22;9804:23;:78::i;:::-;8548:1339;;;;8379:1508:::0;;;;:::o;5808:2236::-;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;5996:8:95;:37;::::1;;5992:138;;-1:-1:-1::0;;;6093:8:95::1;6103:19;:8;:17;:19::i;5992:138::-;578:36:63::0;2952:46;;-1:-1:-1;;;2951:74:63;6239:43:95::1;2951:74:63::0;6239:30:95::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:95::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;:::-;6665:54;;;;;;;;;;;;:::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:95;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:212;;7018:42:95::1;::::0;::::1;765:74:212::0;738:18;;7018:42:95::1;619:226:212::0;6875:192:95::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:95;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;10291:997::-;10468:28;1061:20:86;:18;:20::i;:::-;625:63:84::1;::::0;;-1:-1:-1;;;625:63:84::1;::::0;::::1;8547:92:212::0;662:14:84::1;8655:11:212::0;;;8648:100;;;8764:12;;;8757:101;10556:59:95::1;::::0;8874:12:212;625:63:84::1;;;;;;;;;;;;617:72;;;:::i;:::-;10602:12:95;:10;:12::i;10556:59::-;-1:-1:-1::0;10718:40:95;;::::1;::::0;::::1;::::0;10825:27:::1;10855:53;10718:40:::0;10855:30:::1;:53::i;:::-;10825:83:::0;-1:-1:-1;10919:40:95;;10915:111:::1;;10968:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:212;;10968:58:95::1;::::0;::::1;3108:98:212::0;3081:18;;10968:58:95::1;2964:248:212::0;10915:111:95::1;11071:79;11094:21;11117:8;11127:22;11071;:79::i;:::-;11213:70;11237:21;11260:22;11213:23;:70::i;:::-;10498:790;10291:997:::0;;;;;:::o;4742:388::-;1061:20:86;:18;:20::i;:::-;4899:50:95::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1160:66:80;5094:8:95::0;5112:11;5044:27:::1;:81::i;:::-;4742:388:::0;;:::o;14605:466::-;1061:20:86;:18;:20::i;:::-;14746:29:95::1;14763:11;14746:16;:29::i;:::-;14820:43;14851:11;14820:30;:43::i;:::-;14917:53;14944:11;14957:12;:10;:12::i;14917:53::-;15014:52;15054:11;15014:39;:52::i;:::-;14605:466:::0;:::o;2536:736::-;1061:20:86;:18;:20::i;:::-;2673:29:95::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13276:1145::-:0;1061:20:86;:18;:20::i;:::-;13490:29:95::1;13507:11;13490:16;:29::i;:::-;13581:41;13602:19;13581:20;:41::i;:::-;13576:107;;13639:37;;;;;;;;;;;;;;13576:107;13736:53;13763:11;13776:12;:10;:12::i;13736:53::-;13888:25;13916:39;13935:19;13916:18;:39::i;:::-;13888:67;;13961:73;13978:17;13997:36;13961:16;:73::i;:::-;14080:65;14112:11;14125:19;14080:31;:65::i;:::-;14216:19:::0;;:23;14212:205:::1;;14249:161;14300:12;:10;:12::i;14212:205::-;13436:985;13276:1145:::0;;;:::o;12735:223::-;1061:20:86;:18;:20::i;:::-;12868:85:95::1;12916:12;:10;:12::i;:::-;12941:9;12868:34;:85::i;3576:936::-:0;1061:20:86;:18;:20::i;:::-;-1:-1:-1;;;3801:8:95;:37;::::1;;3797:138;;-1:-1:-1::0;;;3898:8:95::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;578:36:63;2952:46;;2951:74;4221:30:95::1;:57::i;:::-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:95::1;:97::i;1942:98:62:-:0;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:62;3325:45;2992:383;:::o;1179:189:86:-;-1:-1:-1;;;;;1265:6:86;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;6156:426:83:-;6284:16;;;6298:1;6284:16;;;;;;;;6255:26;;6284:16;;;;;;;;;;-1:-1:-1;6284:16:83;6255:45;;6345:9;-1:-1:-1;;;;;6329:27:83;6321:36;;6306:9;6316:1;6306:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6402:9;-1:-1:-1;;;;;6386:27:83;6378:36;;6363:9;6373:1;6363:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6421:156;1175:66;1159:83;;6469:9;6486:1;6530:19;6495:56;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;6495:56:83;;;;-1:-1:-1;;6495:56:83;;;;;;;;;-1:-1:-1;;;6421:24:83;:156::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;3073:307:82:-;3188:16;;;3202:1;3188:16;;;;;;;;;3137:14;;;;3188:16;;;;;;;;;;;;-1:-1:-1;3188:16:82;3159:45;;3243:8;3210:9;3220:1;3210:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3259:13;3275:62;1152:66;3310:9;3259:13;1281:66;3275:24;:62::i;:::-;3351:23;;;3073:307;-1:-1:-1;;;;3073:307:82:o;692:238:97:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;9825:55:212;;853:70:97;;;9807:74:212;-1:-1:-1;;;;;;9917:79:212;;9897:18;;;9890:107;9780:18;;853:70:97;9635:368:212;5258:401:59;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:59:o;3483:592:63:-;3547:13;3617:10;451:5:20;2634:44:63;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:63;-1:-1:-1;;3836:35:63;;;:102;;3885:53;-1:-1:-1;;3885:53:63;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:63;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2140:233::-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;578:36:63;2952:46;;2951:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;1862:322:63:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:63;;3218:1:2;3214:13;;3210:24;2007:39:63;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;11424:79:212;;2089:30:63;;;11412:92:212;2089:30:63;;11520:12:212;;;;2089:30:63;;;875:21:2;;;2089:30:63;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:63:o;3132::73:-;3258:16;;;3272:1;3258:16;;;;;;;;;3202:19;;;;3258:16;;;;;;;;;;;;-1:-1:-1;3258:16:73;3229:45;;3303:16;3295:25;;;3280:9;3290:1;3280:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3327:13;3343:62;1171:66;3378:9;3327:13;1300:66;3343:24;:62::i;7237:454::-;7343:24;7370:46;7383:8;7393:22;7370:12;:46::i;:::-;7519:16;;;7533:1;7519:16;;;;;;;;;7343:73;;-1:-1:-1;7423:29:73;;7458:25;;7423:29;;7519:16;;;;;;;;;;;;-1:-1:-1;7519:16:73;7490:45;;7564:16;7556:25;;;7541:9;7551:1;7541:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7588:98;1171:66;7618:9;7629:11;7642:15;7659:12;1300:66;7588:19;:98::i;:::-;7337:354;;;;7237:454;;;:::o;3184:455:74:-;3271:24;3301:29;3333:32;3347:17;3333:13;:32::i;:::-;3301:64;;3371:25;3399:32;3413:17;3399:13;:32::i;:::-;3467:16;;;3481:1;3467:16;;;;;;;;;3371:60;;-1:-1:-1;3438:26:74;;3467:16;;;;;;;;;;;;-1:-1:-1;3467:16:74;3438:45;;3512:16;3504:25;;;3489:9;3499:1;3489:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3536:98;1092:66;3566:9;3577:11;3590:15;3607:12;1221:66;3536:19;:98::i;3162:160:63:-;3225:7;3289:26;438:6;451:5:20;3289:26:63;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:63:o;3784:313:81:-;3893:16;;;3907:1;3893:16;;;;;;;;;3837:19;;;;3893:16;;;;;;;;;;;;-1:-1:-1;3893:16:81;3864:45;;3954:6;-1:-1:-1;;;;;3938:24:81;3930:33;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3970:13;3986:62;1166:66;4021:9;3970:13;-1:-1:-1;;;3986:24:81;:62::i;5762:222::-;5845:16;;;5859:1;5845:16;;;;;;;;;5816:26;;5845:16;;;;;;;;;;;-1:-1:-1;5845:16:81;5816:45;;5906:6;-1:-1:-1;;;;;5890:24:81;5882:33;;5867:9;5877:1;5867:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5922:57;1166:66;5955:9;-1:-1:-1;;;5922:22:81;:57::i;6291:295:79:-;6397:16;;;6411:1;6397:16;;;;;;;;6368:26;;6397:16;;;;;;;;;;-1:-1:-1;6397:16:79;6368:45;;6452:10;6419:9;6429:1;6419:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6508:6;-1:-1:-1;;;;;6492:24:79;6484:33;;6469:9;6479:1;6469:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6524:57;1166:66;6557:9;-1:-1:-1;;;6524:22:79;:57::i;4219:268:31:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:31;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;12013:14:212;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4441:26:31;;;;-1:-1:-1;;4441:26:31;;;;;;;;;-1:-1:-1;;;4392:24:31;:90::i;6910:423:82:-;6995:24;7022:34;7035:6;7043:12;7022;:34::i;:::-;7159:16;;;7173:1;7159:16;;;;;;;;;6995:61;;-1:-1:-1;7063:29:82;;7098:25;;7063:29;;7159:16;;;;;;;;;;;;-1:-1:-1;7159:16:82;7130:45;;7214:8;7181:9;7191:1;7181:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7230:98;1152:66;7260:9;7271:11;7284:15;7301:12;1281:66;7230:19;:98::i;5145:286:81:-;5240:16;;;5254:1;5240:16;;;;;;;;;5211:26;;5240:16;;;;;;;;;;;-1:-1:-1;5240:16:81;5211:45;;5301:6;-1:-1:-1;;;;;5285:24:81;5277:33;;5262:9;5272:1;5262:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5317:109;1166:66;1150:83;;5352:9;5363:1;5401:8;5366:45;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;5555:332:79;5665:16;;;5679:1;5665:16;;;;;;;;5636:26;;5665:16;;;;;;;;;;-1:-1:-1;5665:16:79;5636:45;;5720:10;5687:9;5697:1;5687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5776:6;-1:-1:-1;;;;;5760:24:79;5752:33;;5737:9;5747:1;5737:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5792:90;1166:66;1150:83;;5827:9;5838:1;5859:6;5841:26;;;;;;12013:14:212;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1474:1069:4;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:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;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;596:401:98:-;-1:-1:-1;;;578:36:63;2952:46;;2951:74;821:10:98;803:79;799:196;;-1:-1:-1;;;956:10:98;968:21;:10;:19;:21::i;5970:214:77:-;6060:16;;;6074:1;6060:16;;;;;;;;;6031:26;;6060:16;;;;;;;;;;;-1:-1:-1;6060:16:77;6031:45;;6115:11;6082:9;6092:1;6082:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6134;1180:66;6169:9;6134:24;:45::i;648:770:99:-;776:17;796:25;:10;451:5:20;2634:44:63;;2536:148;796:25:99;776:45;-1:-1:-1;825:30:99;858:45;-1:-1:-1;;858:45:99;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:99;;975:441;;1017:65;1036:16;1055:26;1080:1;1055:22;:26;:::i;:::-;2702:27:2;2716:4;2702:27;2696:34;;2575:165;1017:65:99;:72;;;;1013:146;;1106:46;;;;;-1:-1:-1;;12365:79:212;;1106:46:99;;;12347:98:212;12320:18;;1106:46:99;12201:250:212;1013:146:99;1170:9;1165:247;1185:26;1210:1;1185:22;:26;:::i;:::-;1181:1;:30;1165:247;;;2716:4:2;2702:27;;;;2696:34;1230:47:99;;;;;:102;;;;-1:-1:-1;1281:44:99;1300:16;1319:5;:1;1323;1319:5;:::i;1281:44::-;:51;;;;;1230:102;1226:180;;;1351:46;;;;;-1:-1:-1;;12365:79:212;;1351:46:99;;;12347:98:212;12320:18;;1351:46:99;12201:250:212;1226:180:99;1213:3;;1165:247;;2855:314:31;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:31;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:31;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:20;1541:126;5020:265:78;5117:16;;;5131:1;5117:16;;;;;;;;;5088:26;;5117:16;;;;;;;;;;;-1:-1:-1;5117:16:78;5088:45;;5172:11;5139:9;5149:1;5139:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5191:89;1166:66;1150:83;;5226:9;5237:1;5258:5;5240:25;;;;;;;12605:2:212;12601:15;;;;-1:-1:-1;;12597:88:212;12585:101;;12711:2;12702:12;;12456:264;5240:25:78;;;;-1:-1:-1;;5240:25:78;;;;;;;;;1295:66;5191:24;:89::i;5560:349:77:-;5674:16;;;5688:1;5674:16;;;;;;;;;5645:26;;5674:16;;;;;;;;;;;-1:-1:-1;5674:16:77;5645:45;;5729:11;5696:9;5706:1;5696:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5748:156;1180:66;1164:83;;5796:9;5813:1;5857:19;5822:56;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;6643:291:83;6747:16;;;6761:1;6747:16;;;;;;;;6718:26;;6747:16;;;;;;;;;;-1:-1:-1;6747:16:83;6718:45;;6808:9;-1:-1:-1;;;;;6792:27:83;6784:36;;6769:9;6779:1;6769:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6865:9;-1:-1:-1;;;;;6849:27:83;6841:36;;6826:9;6836:1;6826:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6884:45;1175:66;6919:9;6884:24;:45::i;9574:257:80:-;9671:16;;;9685:1;9671:16;;;;;;;;;9642:26;;9671:16;;;;;;;;;;;-1:-1:-1;9671:16:80;9642:45;;9726:8;9693:9;9703:1;9693:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9742:84;1160:66;1144:83;;9783:9;9794:1;9815:8;9797:28;;;;;;;12878:66:212;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;9797:28:80;;;;;;;;;;;;;9742:30;:84::i;4048:97:62:-;4089:7;4111:29;:27;:29::i;22785:355:24:-;22957:178;22991:7;23016:8;23046:63;23085:11;23098:10;23046:38;:63::i;:::-;23124:4;22957:16;:178::i;1129:181:47:-;764:71:84;;;-1:-1:-1;;;764:71:84;;;8547:92:212;1205:4:47;8655:11:212;;;8648:100;;;814:20:84;8764:12:212;;;8757:101;1205:4:47;8874:12:212;764:71:84;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;35844:541:24:-;36001:7;36138:242;36182:59;36223:7;36232:8;36182:40;:59::i;:::-;36259:31;;;;4322:19:3;:27;579:1:34;4321:44:3;4287:79;;;4274:93;36308:63:24;36347:11;36360:10;36308:38;:63::i;:::-;36138:17;:242::i;:::-;36125:255;35844:541;-1:-1:-1;;;;;35844:541:24:o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;:::-;1491:88;1312:272;-1:-1:-1;;;1312:272:49:o;3782:1003:59:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:101;4194:4:59;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:59;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:59;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:59;-1:-1:-1;4560:9:59;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:101;4645:4:59;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:59;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:59;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:100:-;551:6;545:13;538:4;530:6;526:17;519:40;3747:306:78;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:78;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;9143:179:73:-;9240:12;9284:8;9294:22;9267:50;;;;;;;;13616:19:212;;;-1:-1:-1;;;;;;13665:79:212;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9267:50:73;;;;;;;;;;;;;9260:57;;9143:179;;;;:::o;12891:3164:24:-;13185:23;13164:7;:44;;;13160:211;;13291:7;13262:88;13300:8;13310:10;13322:14;13338:11;13262:88;;;;;;;;;:::i;:::-;;;;;;;;13358:7;;13160:211;13509:22;13534:24;13550:7;13534:15;:24::i;:::-;13509:49;;13569:9;13564:340;13584:5;:12;13580:1;:16;13564:340;;;13611:9;13633:5;13639:1;13633:8;;;;;;;;:::i;:::-;;;;;;;13611:31;;13654:33;409:6:36;13654:4:24;:14;;;;;:33;;;;:::i;:::-;13650:248;;;13699:190;;;;;3536:35:4;;;;;13699:47:24;;:190;;13758:7;;13777:8;;13797:10;;13819:14;;13845:11;;13868;;13699:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:248;-1:-1:-1;13598:3:24;;13564:340;;;;13981:7;13952:88;13990:8;14000:10;14012:14;14028:11;13952:88;;;;;;;;;:::i;:::-;;;;;;;;14104:26;14133:59;14174:7;14183:8;14133:40;:59::i;:::-;14104:88;-1:-1:-1;14198:21:24;894:4:18;884:15;;14198:54:24;;14258:149;14296:18;14330:1;14347:10;:17;14387:13;14258;:149::i;:::-;14507:1;14474:30;:11;:28;:30::i;:::-;:34;14470:1174;;;14593:33;14629:66;14677:7;14686:8;14629:47;:66::i;:::-;695:28:23;;;14593:102:24;-1:-1:-1;894:4:18;884:15;;14869:47:24;;15025:27;15060:25;15098:7;15093:545;15111:30;:11;:28;:30::i;:::-;15107:1;:34;;;15093:545;;;15177:63;15219:7;15228:8;15238:1;15177:41;:63::i;:::-;15155:85;-1:-1:-1;15270:25:24;:14;15293:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;15270:25:24;15250:45;;15305:170;15347:19;15386:1;15407:17;15451:13;15305;:170::i;:::-;15485:34;15502:17;15485:34;;:::i;:::-;;-1:-1:-1;15616:3:24;;15093:545;;;;14510:1134;;;14470:1174;15718:9;15713:338;15733:5;:12;15729:1;:16;15713:338;;;15760:9;15782:5;15788:1;15782:8;;;;;;;;:::i;:::-;;;;;;;15760:31;;15803:32;503:6:36;15803:4:24;:14;;;;;:32;;;;:::i;:::-;15799:246;;;15847:189;;;;;3536:35:4;;;;;15847:46:24;;:189;;15905:7;;15924:8;;15944:10;;15966:14;;15992:11;;16015;;15847:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15799:246;-1:-1:-1;15747:3:24;;15713:338;;;;13100:2955;;;12891:3164;;;;;;:::o;5278:304:74:-;5357:29;5517:54;5545:17;5539:31;967:16:19;2053:39;;;2035:58;;1896:263;5747:155:74;5826:12;5877:17;5853:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5846:51;;5747:155;;;:::o;25973:1804:24:-;26161:23;26140:7;:44;;;26136:173;;26270:7;26238:50;26279:8;26238:50;;;;;;:::i;:::-;;;;;;;;25973:1804;;;:::o;26136:173::-;26450:22;26475:24;26491:7;26475:15;:24::i;:::-;26450:49;;26510:9;26505:235;26525:5;:12;26521:1;:16;26505:235;;;26552:9;26574:5;26580:1;26574:8;;;;;;;;:::i;:::-;;;;;;;26552:31;;26595:36;1049:6:36;26595:4:24;:14;;;;;:36;;;;:::i;:::-;26591:143;;;26643:82;;;;;3536:35:4;;;;;26643:50:24;;:82;;26694:7;;26703:8;;26713:11;;26643:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26591:143;-1:-1:-1;26539:3:24;;26505:235;;;;26820:7;26788:50;26829:8;26788:50;;;;;;:::i;:::-;;;;;;;;26871:26;26900:59;26941:7;26950:8;26900:40;:59::i;:::-;26871:88;;26965:113;26997:18;27025:1;27044:30;:11;:28;:30::i;:::-;27034:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27034:41:24;;26965:13;:113::i;:::-;27297:1;27264:30;:11;:28;:30::i;:::-;:34;27260:236;;;27308:33;27344:66;27392:7;27401:8;27344:47;:66::i;:::-;27308:102;;27418:71;27449:25;27484:2;27418:12;:71::i;:::-;27300:196;27260:236;27545:9;27540:233;27560:5;:12;27556:1;:16;27540:233;;;27587:9;27609:5;27615:1;27609:8;;;;;;;;:::i;:::-;;;;;;;27587:31;;27630:35;1149:6:36;27630:4:24;:14;;;;;:35;;;;:::i;:::-;27626:141;;;27677:81;;;;;3536:35:4;;;;;27677:49:24;;:81;;27727:7;;27736:8;;27746:11;;27677:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27626:141;-1:-1:-1;27574:3:24;;27540:233;;8733:150:82;8840:38;;8813:12;17019:15:212;;;-1:-1:-1;;17015:88:212;8840:38:82;;;17003:101:212;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;8813:12:82;17183::212;;8840:38:82;16852:349:212;3524:369:30;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:30;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:30;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;13842:301:28:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:28;-1:-1:-1;;;;;13977:30:28;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:28;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:28;-1:-1:-1;;;;;12551:30:28;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:28;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:28;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:28:o;51493:242:24:-;51589:7;;;51628:84;51648:10;51644:14;;:1;:14;51628:84;;;51673:32;4274:93:3;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;51673:32:24;;:::i;:::-;;-1:-1:-1;51660:3:24;;51628:84;;16691:1682;16891:23;16870:7;:44;;;16866:235;;17024:7;16977:103;17043:8;17060:5;17073:4;16977:103;;;;;;;;:::i;:::-;;;;;;;;17088:7;;16866:235;17107:16;17126:59;17167:7;17176:8;17126:40;:59::i;:::-;17107:78;;17331:22;17356:24;17372:7;17356:15;:24::i;:::-;17331:49;;17391:9;17386:328;17406:5;:12;17402:1;:16;17386:328;;;17433:9;17455:5;17461:1;17455:8;;;;;;;;:::i;:::-;;;;;;;17433:31;;17476:41;614:6:36;17476:4:24;:14;;;;;:41;;;;:::i;:::-;17472:236;;;17529:170;;;;;3536:35:4;;;;;17529:54:24;;:170;;17605:7;;17634:8;;17661:5;;17684:4;;17529:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17472:236;-1:-1:-1;17420:3:24;;17386:328;;;;17818:7;17771:103;17837:8;17854:5;17867:4;17771:103;;;;;;;;:::i;:::-;;;;;;;;17924:70;17956:8;17974:5;17924:70;;17987:4;17924:13;:70::i;:::-;18048:9;18043:326;18063:5;:12;18059:1;:16;18043:326;;;18090:9;18112:5;18118:1;18112:8;;;;;;;;:::i;:::-;;;;;;;18090:31;;18133:40;723:6:36;18133:4:24;:14;;;;;:40;;;;:::i;:::-;18129:234;;;18185:169;;;;;3536:35:4;;;;;18185:53:24;;:169;;18260:7;;18289:8;;18316:5;;18339:4;;18185:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18129:234;-1:-1:-1;18077:3:24;;18043:326;;50476:191;50578:7;50642;50651:8;50625:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50625:35:24;;;;;;;;;50615:46;;50625:35;50615:46;;;;42033:22;50608:53;;50476:191;-1:-1:-1;;;50476:191:24: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;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;3126:79:212;;4295:56:49;;;3108:98:212;4234:4:49;;;;3081:18:212;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;3854:344:80:-;3971:16;;;3985:1;3971:16;;;;;;;;;3912:22;;3942:26;;3971:16;;;;;;;;;;;;-1:-1:-1;3971:16:80;3942:45;;4026:8;3993:9;4003:1;3993:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4042:18;4063:49;1160:66;4099:9;4042:18;4063:25;:49::i;:::-;4042:70;;4126:66;:44;4147:5;4154:1;4157:5;:12;4126:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:59:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:59;-1:-1:-1;;;;;;2067:27:59;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:63;2952:46;;-1:-1:-1;;;2951:74:63;2432:22:59;2515:26;2951:74:63;2515:13:59;:26::i;:::-;2490:51;-1:-1:-1;2549:50:59;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2634:44:63;;2536:148;2681:23:59;-1:-1:-1;;2681:41:59;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:59;-1:-1:-1;;;;;;;1761:1386:59:o;3655:342:32:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:32;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::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:34;804:25:35;;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:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;5376:173:3:-;5450:7;579:1:34;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5486:11:3;5465:79;5478:65;;5465:79;;5376:173;-1:-1:-1;;5376:173:3:o;53041:230:24:-;53162:7;53246;53255:8;53229:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53229:35:24;;;;;;;;;53219:46;;53229:35;53219:46;;;;42196:40;53192:73;;53041:230;-1:-1:-1;;;53041:230:24:o;52412:274::-;52556:7;52661;52670:8;52644:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52634:46;;;;;;52613:17;52606:25;;52586:45;;;42105:34;52586:45;:94;52578:103;;52571:110;;52412:274;;;;;:::o;4597:171:3:-;4671:7;579:1:34;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;4693:70:3;;;;;4597:171;-1:-1:-1;4597:171:3:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:23;1055:5;:68::i;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;;36853:522:24;36989:12;37113:257;37152:79;37194:7;37203:8;37213:17;37152:41;:79::i;:::-;37249:1;37268:93;37343:17;37268:66;37316:7;37325:8;37268:47;:66::i;:::-;:74;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;37268:93:24;37113: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;;;;;;;;;;;;;:::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:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;23830:737:24:-;24081:36;24120:66;24168:7;24177:8;24120:47;:66::i;:::-;24081:105;-1:-1:-1;24192:26:24;24228:49;24081:105;24259:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;24228:49:24;24192:86;;24285:277;24339:7;24364:8;24399:17;24442:1;24464:19;24497:4;24533:22;24285:36;:277::i;25229:145::-;25313:56;25326:7;25335:8;25345:23;25360:7;25345:14;:23::i;:::-;25313:12;:56::i;28441:790::-;28700:36;28739:66;28787:7;28796:8;28739:47;:66::i;:::-;28700:105;-1:-1:-1;28811:26:24;28847:49;28700:105;28878:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;28847:49:24;28811:86;;28935:291;28989:7;29014:8;29049:17;29099:19;29140:1;29155:10;29197:22;28935:36;:291::i;5924:432:82:-;6052:16;;;6066:1;6052:16;;;;;;;;;5982:14;;;;;;6052:16;;;;;;;;;;;-1:-1:-1;6052:16:82;6023:45;;6107:8;6074:9;6084:1;6074:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6124:24;;;6210:78;1152:66;6253:9;1281:66;6210:19;:78::i;:::-;-1:-1:-1;;2716:4:2;2702:27;;2696:34;2702:27;;;;2696:34;7557:32:82;;;;;;7621:30;;;;;;-1:-1:-1;5924:432:82;-1:-1:-1;;;;;;5924:432:82:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3755:308:72:-;3868:16;;;3882:1;3868:16;;;;;;;;;3816:15;;;;3868:16;;;;;;;;;;;;-1:-1:-1;3868:16:72;3839:45;;3923:11;3890:9;3900:1;3890:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3942:13;3958:62;1154:66;3993:9;3942:13;-1:-1:-1;;;3958:24:72;:62::i;5054:269::-;5153:16;;;5167:1;5153:16;;;;;;;;;5124:26;;5153:16;;;;;;;;;;;-1:-1:-1;5153:16:72;5124:45;;5208:11;5175:9;5185:1;5175:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5227:91;1154:66;1138:83;;5262:9;5273:1;5294:7;5276:27;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;5594:317:62;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:62;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:62;;;;-1:-1:-1;5594:317:62;-1:-1:-1;;;;;5594:317:62:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:62;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53609:301:24;53730:13;53822:82;53853:48;53883:7;53892:8;53853: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;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;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:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;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;;43926:3999:24;44344:14;44323:7;:35;;;44319:161;;44414:14;44430:7;44463;44446:25;;;;;;9577:19:212;;9621:2;9612:12;;9448:182;44446:25:24;;;;-1:-1:-1;;44446:25:24;;;;;;;;;;44375:98;;;;;;;;;;:::i;44319:161::-;44486:27;44516:49;:22;44547:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;44516:49:24;44486:79;;44571:26;44636:4;:11;44622;44600:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44571:76;;44919:18;44896:19;:41;;:98;;;;-1:-1:-1;44975:19:24;44941:30;44960:11;44941:16;:30;:::i;:::-;:53;;;;44896:98;44892:218;;;45011:92;;;;;21761:12:212;21800:15;;;45011:92:24;;;21782:34:212;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;45011:92:24;21555:371:212;44892:218:24;45216:19;45197:16;:38;;;45193:140;;;45252:74;;;;;;;;22104:25:212;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;45252:74:24;21931:266:212;45193:140:24;45372:35;45410:72;:22;45444:17;45463:18;45410:33;:72::i;:::-;45372:110;;45629:22;45654:24;45670:7;45654:15;:24::i;:::-;45629:49;;45689:9;45684:486;45704:5;:12;45700:1;:16;45684:486;;;45731:9;45753:5;45759:1;45753:8;;;;;;;;:::i;:::-;;;;;;;45731:31;;45774:42;836:6:36;45774:4:24;:14;;;;;:42;;;;:::i;:::-;45770:394;;;3536:35:4;;;;-1:-1:-1;;;;;45828:55:24;;45905:7;45934:8;45973:17;46020:16;46061:11;46100:22;46140:4;45828:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45770:394;-1:-1:-1;45718:3:24;;45684:486;;;-1:-1:-1;46228:32:24;;;:13;46368:107;46386:17;46382:21;;:1;:21;;;46368:107;;;46431:33;:22;46462:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;46431:33:24;46422:42;;;;46405:3;;46368:107;;;;46600:7;46544:277;46627:8;46664:17;46705:5;46734:11;46771:21;46808:4;46544:277;;;;;;;;;;;:::i;:::-;;;;;;;;46176:652;46913:18;46890:19;:41;46886:248;;46941:31;46975:48;47005:7;47014:8;46975:29;:48::i;:::-;695:28:23;;;-1:-1:-1;46886:248:24;47191:27;47221:61;47245:7;47254:8;47264:17;47221:23;:61::i;:::-;47191:91;;47290:92;47322:19;47351:16;47290:92;;47375:4;47290:13;:92::i;:::-;47183:206;47443:9;47438:483;47458:5;:12;47454:1;:16;47438:483;;;47485:9;47507:5;47513:1;47507:8;;;;;;;;:::i;:::-;;;;;;;47485:31;;47528:41;947:6:36;47528:4:24;:14;;;;;:41;;;;:::i;:::-;47524:391;;;3536:35:4;;;;-1:-1:-1;;;;;47581:54:24;;47657:7;47686:8;47725:17;47772:16;47813:11;47852:21;47891:4;47581:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47524:391;-1:-1:-1;47472:3:24;;47438:483;;;;44169:3756;;;;43926:3999;;;;;;;:::o;3998:652::-;4065:11;4301:64;;;4297:111;;-1:-1:-1;1339:66:33;;3998:652:24;-1:-1:-1;3998:652:24:o;4297:111::-;4452:185;4498:85;1210:66:33;4574:7:24;4498:40;:85::i;:::-;4603:2;4625:1;4452:17;:185::i;32433:1314::-;32563:23;32588:28;32618:24;32684:20;32707:30;:11;:28;:30::i;:::-;32684:53;;32798:65;32831:7;32840:8;32850:12;32798:32;:65::i;:::-;32785:78;;32927:24;32954:30;:11;:28;:30::i;:::-;32927:57;-1:-1:-1;32994:20:24;;32990:753;;33087:66;33135:7;33144:8;33087:47;:66::i;:::-;33070:83;-1:-1:-1;6395:59:19;;;33205:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33205:33:24;-1:-1:-1;33191:47:24;-1:-1:-1;894:4:18;884:15;;33246:21:24;33310:427;33328:16;33324:1;:20;;;33310:427;;;33361:27;33391:63;33433:7;33442:8;33452:1;33391:41;:63::i;:::-;33361:93;-1:-1:-1;33464:14:24;33481:25;:14;33504:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;33481:25:24;33464:42;;33516:110;33547:19;33576:1;33587:6;33610:13;33516:12;:110::i;:::-;33705:23;33722:6;33705:23;;:::i;:::-;;;33351:386;;33346:3;;;;;:::i;:::-;;;;33310:427;;;;33016:727;32990:753;32644:1103;;32433:1314;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;578:36:63;2952:46;;2951:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:62:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::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:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;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:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;7408:1509:19:-;7534:13;1137:16;7559:25;;7555:118;;;7601:65;;;;;;;;3899:25:212;;;3872:18;;7601:65:19;3753:177:212;7555:118:19;7735:13;6395:59;;;7012:16;;;1055;7012;967;7001:27;6961:68;;;6939:92;;7998:38;;;7994:192;;8081:19;8063:15;:37;8048:52;;;;7994:192;;;8162:15;8140:19;:37;8125:52;;;;7994:192;-1:-1:-1;8502:16:19;967;1055;8369;;;;8358:27;8494:35;;;8808:5;8647:26;8628:45;;;;8627:61;;;8789:24;;;;8818:34;;;;;8788:65;;-1:-1:-1;7408:1509:19;;;;;:::o;50919:282:24:-;51164:30;;;;;;24801:19:212;;;24836:12;;;24829:28;;;51007:7:24;;24873:12:212;;51164:30:24;24613:278:212;48493:360:24;48619:12;48643:6;48653:1;48643:11;48639:26;;-1:-1:-1;48656:9:24;;;;;;;;;-1:-1:-1;48656:9:24;;;;48639:26;48706:16;48725:41;48748:7;48757:8;48725:22;:41::i;:::-;48706:60;;48779:69;48810:8;48828:1;48839:6;48779:12;:69::i;4003:378:79:-;4127:16;;;4141:1;4127:16;;;;;;;;4079:11;;;;4127:16;4141:1;4127:16;;;;;;;;;;-1:-1:-1;4127:16:79;4098:45;;4182:10;4149:9;4159:1;4149:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4238:6;-1:-1:-1;;;;;4222:24:79;4214:33;;4199:9;4209:1;4199:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4254:13;4270:62;1166:66;4305:9;4254:13;-1:-1:-1;;;4270:24:79;:62::i;:::-;4254:78;;4346:29;4367:5;4354:20;;1650:10:20;1541:126;14:219:212;81:20;;-1:-1:-1;;;;;;130:78:212;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:212;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:212;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:212;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:212;2327:18;;2314:32;;-1:-1:-1;2397:2:212;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:212;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:212;;4804:211;-1:-1:-1;4804:211:212:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:212;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:212;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:212;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:212:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:212:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:212;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:212;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:212:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:212;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:212;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:212;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:212;;13784:439;-1:-1:-1;;;;;13784:439:212:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:212:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:212;;19321:639;-1:-1:-1;;;;;;;19321:639:212:o;19965:184::-;-1:-1:-1;;;20014:1:212;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:212;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:212;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:212;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:212:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:212:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:212:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:212:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:212;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:212:o","linkReferences":{},"immutableReferences":{"34883":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"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\":\"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\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"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\":\"PackedCounter\",\"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\":\"PackedCounter\",\"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\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"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\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"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\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e\",\"dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk\"]},\"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/IFieldLayoutErrors.sol\":{\"keccak256\":\"0x8d12106404bdc1b48e621de7b3c6cc9ecd228229cc2de8b15af99cf7d7bc5e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018a1127ea61809cf843b21a2c128b3ff1e552547a3d285def22bfd71ab5446d\",\"dweb:/ipfs/QmQApX8sRCpb69R1Ur5mistPWhfa2ckZyHksQuyNvnRf63\"]},\"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol\":{\"keccak256\":\"0x3c52620068df7859fefd2abbed50e63ed685c3cb9f1b50cb99cba1c2de7bb990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f167c535d51a82f28a81c90a32d451b3e76b677998741652e775d9333e1aacf7\",\"dweb:/ipfs/QmdGSt7EKLp2ViiDZ2YPX5Wd1mKBAPvffKgFFseFiDtegt\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x2f4e0b03b6a7f04975f233b9be143afec2d9aef8fe8a14d4615e9dd5b7b70e1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b353c4664ecf99277642b03a94407c3a069a0c25fe1b2d83b296014b5daa397\",\"dweb:/ipfs/QmQAbdJDWsBWvP8o8faQtyRoV5WdcU2CabbpUsqE7Y5dGh\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x303b790491ff1076852e5840581967b744ac0ecbb646c867eab27ec03d8d4eb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fa527b83abac782d12d0ab567cfcc13dd73641e33b33a4fe67a9c3b80bb816a\",\"dweb:/ipfs/QmSPnmn5u96Jju85gdsEBToagGXVvYVdzFZoqRkXBrqYVY\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699\",\"dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021\",\"dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xd53378e918f78655096851862e128722e57bcdb8c7ff58f50a8527a3945fe54f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38788d5de1db8f9f6243386530a7be9af971afcba8b860d2386cd2917cf380e8\",\"dweb:/ipfs/QmVt2tyxgiKEmXoHhRzkoUKgqm3kkfTgKrahCC9hMXxH25\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2\",\"dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"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\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a\",\"dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a\",\"dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"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\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c\",\"dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"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\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121\",\"dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf\",\"dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"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":"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":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"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":"PackedCounter","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":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"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":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2","urls":["bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e","dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk"],"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/IFieldLayoutErrors.sol":{"keccak256":"0x8d12106404bdc1b48e621de7b3c6cc9ecd228229cc2de8b15af99cf7d7bc5e77","urls":["bzz-raw://018a1127ea61809cf843b21a2c128b3ff1e552547a3d285def22bfd71ab5446d","dweb:/ipfs/QmQApX8sRCpb69R1Ur5mistPWhfa2ckZyHksQuyNvnRf63"],"license":"MIT"},"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol":{"keccak256":"0x3c52620068df7859fefd2abbed50e63ed685c3cb9f1b50cb99cba1c2de7bb990","urls":["bzz-raw://f167c535d51a82f28a81c90a32d451b3e76b677998741652e775d9333e1aacf7","dweb:/ipfs/QmdGSt7EKLp2ViiDZ2YPX5Wd1mKBAPvffKgFFseFiDtegt"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x2f4e0b03b6a7f04975f233b9be143afec2d9aef8fe8a14d4615e9dd5b7b70e1e","urls":["bzz-raw://1b353c4664ecf99277642b03a94407c3a069a0c25fe1b2d83b296014b5daa397","dweb:/ipfs/QmQAbdJDWsBWvP8o8faQtyRoV5WdcU2CabbpUsqE7Y5dGh"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x303b790491ff1076852e5840581967b744ac0ecbb646c867eab27ec03d8d4eb4","urls":["bzz-raw://1fa527b83abac782d12d0ab567cfcc13dd73641e33b33a4fe67a9c3b80bb816a","dweb:/ipfs/QmSPnmn5u96Jju85gdsEBToagGXVvYVdzFZoqRkXBrqYVY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d","urls":["bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699","dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb","urls":["bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021","dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xd53378e918f78655096851862e128722e57bcdb8c7ff58f50a8527a3945fe54f","urls":["bzz-raw://38788d5de1db8f9f6243386530a7be9af971afcba8b860d2386cd2917cf380e8","dweb:/ipfs/QmVt2tyxgiKEmXoHhRzkoUKgqm3kkfTgKrahCC9hMXxH25"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82","urls":["bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2","dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"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":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"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/PackedCounter.sol":{"keccak256":"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7","urls":["bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a","dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721","urls":["bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a","dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"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":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4","urls":["bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c","dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"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":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864","urls":["bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121","dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd","urls":["bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf","dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":95}