@latticexyz/world-modules 2.0.0-main-970aa105 → 2.0.0-main-44236041

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 (135) 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/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  38. package/out/InitModule.sol/InitModule.json +1 -1
  39. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  40. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  41. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  42. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  43. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  44. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  45. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  46. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  47. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  48. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  49. package/out/Module.sol/Module.json +1 -1
  50. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  51. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  52. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  53. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  54. package/out/Owners.sol/Owners.json +1 -1
  55. package/out/Puppet.sol/Puppet.json +1 -1
  56. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  57. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  58. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  59. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  60. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  61. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  62. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  63. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  64. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  65. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  66. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  67. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  68. package/out/StoreCore.sol/StoreCore.json +1 -1
  69. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  70. package/out/StoreData.sol/StoreData.json +1 -1
  71. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  72. package/out/StoreRead.sol/StoreRead.json +1 -1
  73. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  74. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  75. package/out/System.sol/System.json +1 -1
  76. package/out/SystemCall.sol/SystemCall.json +1 -1
  77. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  78. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  79. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  80. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  81. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  82. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  83. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  84. package/out/Systems.sol/Systems.json +1 -1
  85. package/out/Tables.sol/Tables.json +1 -1
  86. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  87. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  88. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  89. package/out/TokenURI.sol/TokenURI.json +1 -1
  90. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  91. package/out/TwoFields.sol/TwoFields.json +1 -1
  92. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  93. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  94. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  95. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  96. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  97. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  98. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  99. package/out/World.sol/World.json +1 -1
  100. package/out/World.t.sol/EchoSystemHook.json +1 -1
  101. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  102. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  103. package/out/World.t.sol/RevertSystemHook.json +1 -1
  104. package/out/World.t.sol/WorldTest.json +1 -1
  105. package/out/World.t.sol/WorldTestSystem.json +1 -1
  106. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  107. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  108. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  109. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  110. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  111. package/out/query.t.sol/QueryTest.json +1 -1
  112. package/out/tables/Balances.sol/Balances.json +1 -1
  113. package/package.json +8 -8
  114. package/src/index.sol +5 -5
  115. package/src/modules/erc20-puppet/tables/Allowances.sol +2 -11
  116. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +2 -11
  117. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +2 -11
  118. package/src/modules/erc20-puppet/tables/TotalSupply.sol +2 -11
  119. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +2 -11
  120. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +2 -11
  121. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +2 -11
  122. package/src/modules/erc721-puppet/tables/Owners.sol +2 -11
  123. package/src/modules/erc721-puppet/tables/TokenApproval.sol +2 -11
  124. package/src/modules/erc721-puppet/tables/TokenURI.sol +2 -11
  125. package/src/modules/keysintable/KeysInTableModule.sol +9 -9
  126. package/src/modules/keysintable/tables/KeysInTable.sol +5 -15
  127. package/src/modules/keysintable/tables/UsedKeysIndex.sol +5 -15
  128. package/src/modules/keyswithvalue/KeysWithValueModule.sol +1 -1
  129. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +2 -11
  130. package/src/modules/puppet/tables/PuppetRegistry.sol +2 -11
  131. package/src/modules/std-delegations/tables/CallboundDelegations.sol +5 -15
  132. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +5 -15
  133. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +5 -15
  134. package/src/modules/tokens/tables/Balances.sol +2 -11
  135. package/src/modules/uniqueentity/tables/UniqueEntity.sol +2 -11
@@ -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":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b614cc380620035d383390190565b60805160a05161354c6200008760003960006102d7015260006101fb015261354c6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c57815160405163d498615960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d5760405163d498615960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da5760405163d498615960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c5760405163d498615960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c5760405163d498615960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614ca3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612558565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161022b565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102d0565b610308565b61013c61013783610354565b610386565b61014d610148836103c2565b6103f4565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a961017284610438565b60405161017e9061254b565b604051809103906000f08015801561019a573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020e57600080fd5b505af1158015610222573d6000803e3d6000fd5b50505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610264576102646125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610485565b90506102c88160f81c90565b949350505050565b6000610302613a3160f11b837f416c6c6f77616e6365730000000000000000000000000000000000000000000061055c565b92915050565b610351817e200100200000000000000000000000000000000000000000000000000000006103346105e3565b61033c6106a0565b6103446106da565b61034c6107b2565b610829565b50565b6000610302613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061055c565b610351817e200100200000000000000000000000000000000000000000000000000000006103b26108fc565b6103ba6106a0565b610344610936565b6000610302613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061055c565b610351817e010102010000000000000000000000000000000000000000000000000000006104206109ad565b6104286109c6565b610430610a8b565b61034c610abe565b60006103027f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d00000000000000000000000000000000000000000061055c565b600080610490610bde565b90503073ffffffffffffffffffffffffffffffffffffffff8216036104c3576104bb86868686610c2a565b9150506102c8565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d599061051b908990899089908990600401612621565b602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190612650565b600061056a6070601061267f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061061d5761061d6125cf565b602002602001019060c581111561063657610636612692565b908160c581111561064957610649612692565b81525050606181600181518110610662576106626125cf565b602002602001019060c581111561067b5761067b612692565b908160c581111561068e5761068e612692565b90525061069a81610c60565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050601f81600081518110610662576106626125cf565b6040805160028082526060828101909352816020015b60608152602001906001900390816106f05790505090506040518060400160405280600781526020017f6163636f756e740000000000000000000000000000000000000000000000000081525081600081518110610750576107506125cf565b60200260200101819052506040518060400160405280600781526020017f7370656e64657200000000000000000000000000000000000000000000000000815250816001815181106107a4576107a46125cf565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816107c95790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6000610833610bde565b90503073ffffffffffffffffffffffffffffffffffffffff82160361086557610860878787878787610e24565b610222565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906108c1908a908a908a908a908a908a90600401612752565b600060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110610662576106626125cf565b604080516001808252818301909252606091816020015b606081526020019060019003908161094d5790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6040805160008082526020820190925261069a81610c60565b6040805160038082526080820190925260009182919060208201606080368337019050509050600081600081518110610a0157610a016125cf565b602002602001019060c5811115610a1a57610a1a612692565b908160c5811115610a2d57610a2d612692565b8152505060c581600181518110610a4657610a466125cf565b602002602001019060c5811115610a5f57610a5f612692565b908160c5811115610a7257610a72612692565b8152505060c581600281518110610662576106626125cf565b60408051600080825260208201909252606091610ab8565b6060815260200190600190039081610aa35790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610ad65790505090506040518060400160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081600081518110610b3657610b366125cf565b60200260200101819052506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600181518110610b8a57610b8a6125cf565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c0000000000000000000000000000000000000000000000000000815250816002815181106107a4576107a46125cf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610c25573391505090565b919050565b6000610c57610c398686611282565b60ff858116601b0360080285901c16610c5285876112d8565b611311565b95945050505050565b6000601c82511115610c9357815160405163d498615960e01b8152600401610c8a91815260200190565b60405180910390fd5b60008080805b8551811015610d6e576000610cd7878381518110610cb957610cb96125cf565b602002602001015160c5811115610cd257610cd2612692565b611362565b905080600003610cec57600190920191610d24565b8215610d24576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610d4557610d456125cf565b602002602001015160c5811115610d5e57610d5e612692565b901b949094179350600101610c99565b506005811115610d945760405163d498615960e01b815260048101829052602401610c8a565b84518190036008610da76002602061279c565b610db191906127af565b83901b939093179260086001610dc96002602061279c565b610dd3919061279c565b610ddd91906127af565b81901b93909317926008600180610df66002602061279c565b610e00919061279c565b610e0a919061279c565b610e1491906127af565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610e9d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15610efe57613a3160f11b8687604051602001610ebc91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c8a9392916004016127c6565b610f07856113bc565b610f12846001611603565b610f1d836000611603565b60e084901c60e885901c0160ff16825114610f7d5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff16815114610fdd5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110555760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b61105e8561179f565b6110678461179f565b146110b9576110758561179f565b61107e8461179f565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b6110c2856117d1565b6110cb846117d1565b1461111d576110d9856117d1565b6110e2846117d1565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60005b6111298661179f565b8110156111bf5761114e61113d85836117ee565b60c5811115610cd257610cd2612692565b6008601b8390030287901c60ff16146111b7576008601b8290030286901c60ff1661117c61113d86846117ee565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b600101611120565b506111c986611816565b156112235785866040516020016111e291815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610c8a9291600401612807565b61126f868686868660405160200161123b9190612820565b6040516020818303038152906040528660405160200161125b9190612820565b6040516020818303038152906040526118a7565b61127a86600161198a565b505050505050565b60008282604051602001611297929190612833565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611309576112ff60ff601b83900360080287901c168361267f565b91506001016112dd565b509392505050565b600060208210611337576020820484019350602082816113335761133361286f565b0691505b508254600882021b602082900380841115611309576001850154600882021c82179150509392505050565b6000808260c581111561137757611377612692565b60ff169050606181101561139157601f1660010192915050565b60618360c58111156113a5576113a5612692565b036113b35750601492915050565b50600092915050565b806113f3576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113fe826117d1565b90506005811115611445576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610c8a565b60006114508361179f565b9050600061145e838361267f565b9050601c8111156114a5576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610c8a565b6000805b838110156115505760ff601b82900360080287901c1660008190036114fd576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b602081111561153b576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b611545818461267f565b9250506001016114a9565b5061155a85611a48565b81146115a65761156985611a48565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c8a565b825b601c81101561127a5760ff601b82900360080287901c1680156115fa576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b506001016115a8565b8015801561160f575081155b156116305760405163d498615960e01b815260006004820152602401610c8a565b600061163b836117d1565b905060058111156116625760405163d498615960e01b815260048101829052602401610c8a565b600061166d8461179f565b9050600061167b838361267f565b9050601c8111156116a25760405163d498615960e01b815260048101829052602401610c8a565b6000805b8381101561170e5760006116bd61113d89846117ee565b9050806000036116f9576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611703818461267f565b9250506001016116a6565b5061171886611a48565b81146117435761172786611a48565b60405163d498615960e01b8152600401610c8a91815260200190565b825b8281101561022257600061175c61113d89846117ee565b90508015611796576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611745565b6000600860016117b16002602061279c565b6117bb919061279c565b6117c591906127af565b8260ff911c1692915050565b600060086001806117e46002602061279c565b6117b1919061279c565b6000601b8290036008028360ff911c1660c581111561180f5761180f612692565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184f5761184f6125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610c2a565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006118de8484611a6b565b905060006118ec8585611a88565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611926576119266125cf565b602090810291909101015261197e7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab4565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119c0576119c06125cf565b602002602001018181525050611a437f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611a0e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611ded565b505050565b60006008611a586002602061279c565b611a6291906127af565b9190911c919050565b8151815160009181810160389190911b1760609190911b1761180f565b60608282604051602001611a9d929190612885565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3394939291906128b4565b60405180910390a261127a565b6000611b4b87611e09565b905060005b8151811015611c24576000828281518110611b6d57611b6d6125cf565b60200260200101519050611b996001826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611c1b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611be8908c908c908c908c908c908c906004016128fe565b600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b505050505b50600101611b50565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5b94939291906128b4565b60405180910390a26000611c6f8888611282565b90506000602087019050611c87826000895184611eb0565b6000611c92856117d1565b1115611d16576000611ca48a8a611f6e565b878155905060208601915060008060005b611cbe886117d1565b8160ff161015611d1157611cd38d8d83611fc4565b9250611cee8a8260ff166028026038011c64ffffffffff1690565b9150611cfd8360008488611eb0565b611d07828661267f565b9450600101611cb5565b505050505b60005b835181101561197e576000848281518110611d3657611d366125cf565b60200260200101519050611d626002826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611de4576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db1908e908e908e908e908e908e906004016128fe565b600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050505b50600101611d19565b611e028585611dfc84876112d8565b85612044565b5050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e4357611e436125cf565b60209081029190910101526000611e7b7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836122df565b90506102c8611e8d8260008451612319565b6123a7565b60008160ff1682611ea38560581c90565b1660ff1614905092915050565b8215611f2a5760208310611eda57602083048401935060208381611ed657611ed661286f565b0692505b8215611f2a5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611f1b575050611f68565b50600194909401939182900391015b5b60208210611f4c5780518455600190930192601f1990910190602001611f2b565b8115611f685783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611f83929190612833565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fd9929190612833565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036120ce57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516120c193929190612957565b60405180910390a2611f68565b60006120da8585611282565b905060006120e786611e09565b905060005b81518110156121bc576000828281518110612109576121096125cf565b602002602001015190506121356004826affffffffffffffffffffff1916611e9290919063ffffffff16565b156121b3576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612180908b908b908b908b90600401612994565b600060405180830381600087803b15801561219a57600080fd5b505af11580156121ae573d6000803e3d6000fd5b505050505b506001016120ec565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516121f193929190612957565b60405180910390a261220c828565ffffffffffff16856123b8565b60005b815181101561022257600082828151811061222c5761222c6125cf565b602002602001015190506122586008826affffffffffffffffffffff1916611e9290919063ffffffff16565b156122d6576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906122a3908b908b908b908b90600401612994565b600060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050505b5060010161220f565b60606102c86122ef858585611fc4565b6000612314856122ff89896123ce565b9060ff166028026038011c64ffffffffff1690565b6123e1565b6000818311806123295750835182115b15612366578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c8a939291906129cd565b60208401612374848261267f565b90506000612382858561279c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061180f8360156000612404565b611a43838383516123c98560200190565b611eb0565b600061180f6123dd8484611f6e565b5490565b60405160208101601f19603f84840101166040528282526113098585858461247f565b606060006124128560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124385761243861286f565b04905060405193506020840160208202810160405281855260005b82811015612473578451871c825293870193602090910190600101612453565b50505050509392505050565b821561250657602083106124a9576020830484019350602083816124a5576124a561286f565b0692505b82156125065760208390036000818410156124cc5750600019600884021c6124d6565b50600019600882021c5b8554600886021b8184511682198216178452508184116124f7575050611f68565b50600194909401939182900391015b5b602082106125285783548152600190930192601f1990910190602001612507565b8115611f68576000600019600884021c8251865482191691161782525050505050565b6122a4806129f383390190565b6000806040838503121561256b57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461258f57600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146125c457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015612616578151875295820195908201906001016125fa565b509495945050505050565b84815260806020820152600061263a60808301866125e5565b60ff949094166040830152506060015292915050565b60006020828403121561266257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561030257610302612669565b634e487b7160e01b600052602160045260246000fd5b60005b838110156126c35781810151838201526020016126ab565b50506000910152565b600081518084526126e48160208601602086016126a8565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561274557601f198684030189526127338383516126cc565b98840198925090830190600101612717565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061277d60c08301856126f8565b82810360a084015261278f81856126f8565b9998505050505050505050565b8181038181111561030257610302612669565b808202811582820484141761030257610302612669565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c5760608301846126cc565b8281526040602082015260006102c860408301846126cc565b60208152600061180f60208301846126f8565b8281526000602080830184516020860160005b8281101561286257815184529284019290840190600101612846565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600083516128978184602088016126a8565b8351908301906128ab8183602088016126a8565b01949350505050565b6080815260006128c760808301876125e5565b82810360208401526128d981876126cc565b905084604084015282810360608401526128f381856126cc565b979650505050505050565b86815260c06020820152600061291760c08301886125e5565b828103604084015261292981886126cc565b9050856060840152828103608084015261294381866126cc565b9150508260a0830152979650505050505050565b60608152600061296a60608301866125e5565b65ffffffffffff85166020840152828103604084015261298a81856126cc565b9695505050505050565b8481526080602082015260006129ad60808301866125e5565b65ffffffffffff8516604084015282810360608401526128f381856126cc565b6060815260006129e060608301866126cc565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1178:1735:129:-:0;;;;;578:4:53;534:49;;1261:36:129;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1213:85:129;;;1178:1735;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c57815160405163d498615960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d5760405163d498615960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da5760405163d498615960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c5760405163d498615960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c5760405163d498615960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1178:1735:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;918:308:53;;;;;;;;1196:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1196:113:58;543:226:208;1303:1507:129;;;;;;:::i;:::-;;:::i;:::-;;1550:110:58;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;2632:25:208;;2620:2;2605:18;1550:110:58;2486:177:208;2814:97:129;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;918:308:53:-;1042:4;1067:40;;;1082:25;1067:40;;:104;;-1:-1:-1;1117:54:53;;;1132:39;1117:54;1067:104;:154;;;-1:-1:-1;1181:40:53;;;1196:25;1181:40;1067:154;1054:167;918:308;-1:-1:-1;;918:308:53:o;1196:113:58:-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1303:1507:129:-;1425:40;1445:6;1453:11;1425:19;:40::i;:::-;1492:17;1511:33;1559:11;1548:53;;;;;;;;;;;;:::i;:::-;1491:110;;-1:-1:-1;1491:110:129;-1:-1:-1;1674:29:129;-1:-1:-1;;1674:29:129;;;1670:96;;1720:39;;;;;-1:-1:-1;;4839:79:208;;1720:39:129;;;4821:98:208;4794:18;;1720:39:129;;;;;;;;1670:96;1816:16;1846:8;:6;:8::i;:::-;1816:39;;1862:12;1876:23;1903:19;-1:-1:-1;;;;;1903:32:129;2000:5;2007:9;1943:75;;;;;;;;-1:-1:-1;;;;;5142:55:208;;;;5124:74;;-1:-1:-1;;5234:79:208;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1943:75:129;;;;-1:-1:-1;;1943:75:129;;;;;;;;;;;;;;;;;;;;1903:121;;;1943:75;1903:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1861:163;;;;2035:7;2030:41;;2044:27;2060:10;2044:15;:27::i;:::-;2109:56;2127:27;2144:9;2127:16;:27::i;:::-;2156:8;2109:17;:56::i;:::-;2217:24;2244:25;2259:9;2244:14;:25::i;:::-;2217:52;;2275:14;2292:34;2305:5;2312:13;2292:12;:34::i;:::-;2275:51;-1:-1:-1;1531:18:59;1554:33;385:5:15;1554:33:59;;;;1523:65;-1:-1:-1;;;;;2466:23:129;;;1523:65:59;2503:12:129;:10;:12::i;:::-;2466:50;;;;;;;;;;;;;5822:25:208;;;;-1:-1:-1;;;;;5883:55:208;5863:18;;;5856:83;5795:18;;2466:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2575:46:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2575:21:129;:46::i;:::-;2570:167;;426:54:135;;443:18;426:54;;;7000:92:208;463:16:135;7108:11:208;;;7101:100;-1:-1:-1;;;;;2631:23:129;;;;;7217:12:208;;426:54:135;;;;;;;;;;;;418:63;;;:::i;:::-;2631:44:129;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2631:44:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2683:47:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2683:22:129;:47::i;:::-;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2742:63:129;;6460:12:208;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2785:11:129;2798:6;2742:17;:63::i;:::-;1353:1457;;;;;;;;1303:1507;:::o;2814:97::-;2874:32;;;;;;;;;;;;;;1876:98:58;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1924:194:53:-;2026:39;2038:13;2053:11;2026;:39::i;:::-;2022:92;;;2082:25;;;;;;;;;;;;;;2022:92;1924:194;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;1047:181:141;1106:10;1129:96;-1:-1:-1;;;1192:9:141;1209:13;1129:25;:96::i;15003:443:138:-;15085:24;15112:29;15125:6;:15;;;18088:26;;;10248:3:208;10244:16;;;;10262:66;10240:89;18088:26:138;;;10228:102:208;18088:26:138;;;;;;;;;10346:11:208;;;;18088:26:138;;;18000:119;15112:29;15085:56;;15148:29;15180:41;15194:6;:11;;;15207:6;:13;;;15180;:41::i;:::-;15148:73;;15227:25;15255:41;15269:6;:11;;;15282:6;:13;;;15255;:41::i;:::-;15332:16;;;15303:26;15332:16;;;;;;;;15227:69;;-1:-1:-1;15355:86:138;15377:8;15332:16;15398:11;15411:15;15227:69;15355:21;:86::i;:::-;15079:367;;;;15003:443;;:::o;1230:184:141:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;785:18:178;6350:12:208;;;6343:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6460:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;816:18:99;578:36:59;2820:46;;2819:74;603:67:178;;;620:15;603:67;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;648:21:178;6350:12:208;;;6343:101;6460:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;3232:315:26:-;3345:16;;;3359:1;3345:16;;;;;;;;;3297:11;;;;3345:16;;;;;;;;;;;;-1:-1:-1;3345:16:26;3316:45;;3400:10;3367:9;3377:1;3367:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3418:13;3434:64;1076:66;3471:9;3418:13;-1:-1:-1;;;3434:26:26;:64::i;:::-;3418:80;;3512:29;3533:5;3520:20;;7897:5;7811:97;3512:29;3504:38;3232:315;-1:-1:-1;;;;3232:315:26:o;2723:174:139:-;2777:115;2803:8;1147:66;2827:14;:12;:14::i;:::-;2843:16;:14;:16::i;:::-;2861:13;:11;:13::i;:::-;2876:15;:13;:15::i;:::-;2777:25;:115::i;:::-;2723:174;:::o;5451:301::-;5575:16;;;5589:1;5575:16;;;;;;;;;5546:26;;5575:16;;;;;;;;;;;-1:-1:-1;5575:16:139;5546:45;;5630:11;5597:9;5607:1;5597:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5649:98;5676:8;5686:9;5697:1;5718:12;5700:32;;;;;;;9664:2:208;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5700:32:139;;;;-1:-1:-1;;5700:32:139;;;;;;;;;1147:66;5649:26;:98::i;:::-;5540:212;5451:301;;;:::o;3799:97:58:-;3840:7;3862:29;:27;:29::i;1513:176:53:-;1606:4;1625:59;1646:13;1671:11;1661:22;;;;;;1625:20;:59::i;:::-;1618:66;1513:176;-1:-1:-1;;;1513:176:53:o;980:257:59:-;1067:10;1196:26;438:6;385:5:15;1196:26:59;:::i;:::-;1178:13;;;:45;;385:5:15;1142:31:59;;;;;1123:15;;;:51;:101;;-1:-1:-1;980:257:59;;;;;:::o;18310:334:138:-;18592:18;;18612:20;;18410:29;;2496:5:14;;;834:16;2527:39;;;;2509:58;2608:23;2593:39;;;;2575:58;18570:63:138;2355:344:14;18809:168:138;18897:12;18948:4;18963:6;18924:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18917:55;;18809:168;;;;:::o;6388:479:23:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:23;-1:-1:-1;;;;;6625:30:23;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:23;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;17702:457::-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:23;-1:-1:-1;;;;;17925:30:23;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:23;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1566:200:139:-;1660:19;;;1677:1;1660:19;;;;;;;;;1613:6;;;;1660:19;;;;;;;;;;;;-1:-1:-1;1660:19:139;1627:52;;1701:18;1685:10;1696:1;1685:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1733:28:139;1750:10;1733:16;:28::i;:::-;1726:35;;;1566:200;:::o;1883:208::-;1981:19;;;1998:1;1981:19;;;;;;;;;1932:6;;;;1981:19;;;;;;;;;;;;-1:-1:-1;1981:19:139;1946:54;;2024:18;2006:12;2019:1;2006:15;;;;;;;;:::i;2225:142::-;2314:15;;;2327:1;2314:15;;;;;;;;;2271:24;;2314:15;;;;;;;;;;;;;;;;;;;;2303:26;;2335:27;;;;;;;;;;;;;;;;;:8;2344:1;2335:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2225:142;:::o;2507:151::-;2602:15;;;2615:1;2602:15;;;;;;;;;2555:26;;2602:15;;;;;;;;;;;;;;;;;;;;2589:28;;2623:30;;;;;;;;;;;;;;;;;:10;2634:1;2623:13;;;;;;;;:::i;5574:520:23:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:23;-1:-1:-1;;;;;5828:30:23;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:23;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:23;-1:-1:-1;;;;;10913:30:23;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;10909:232::-;11048:86;;;;;-1:-1:-1;;;;;11048:36:23;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;4313:382:72:-;4448:16;;;4462:1;4448:16;;;;;;;;4395;;;;4448;4462:1;4448:16;;;;;;;;;;-1:-1:-1;4448:16:72;4419:45;;4509:13;-1:-1:-1;;;;;4493:31:72;4485:40;;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4546:13;4531:9;4541:1;4531:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4566:13;4582:64;1182:66;4619:9;4566:13;-1:-1:-1;;;4582:26:72;:64::i;:::-;4566:80;;4660:29;4681:5;4668:20;;7897:5:26;7811:97;4660:29:72;4652:38;4313:382;-1:-1:-1;;;;;4313:382:72:o;14260:285:19:-;14446:94;14456:7;14465:8;14475:10;14487:14;14503:11;14516:23;14531:7;14516:14;:23::i;:::-;14446:9;:94::i;:::-;14260:285;;;;;:::o;38300:541::-;38457:7;38594:242;38638:59;38679:7;38688:8;38638:40;:59::i;:::-;38715:31;;;;4432:19:3;:27;537:1:29;4431:44:3;4397:79;;;4384:93;38764:63:19;38803:11;38816:10;38764:38;:63::i;:::-;38594:17;:242::i;1233:2050:16:-;1301:6;647:2:29;1319:7:16;:14;:33;1315:82;;;1382:7;:14;1361:36;;-1:-1:-1;;;1361:36:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1315:82:16;1403:14;;;;1604:953;1628:7;:14;1624:1;:18;1604:953;;;1654:24;1681:32;:7;1689:1;1681:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1654:59;;1726:16;1746:1;1726:21;1722:401;;1911:15;;;;;1722:401;;;1955:17;;1951:172;;2079:35;;;;;;;;;;;;;;1951:172;2249:16;2234:31;;;;537:1:29;2511::16;2507;437:2:29;2489:19:16;:23;2488:40;2472:7;2480:1;2472:10;;;;;;;;:::i;:::-;;;;;;;2464:19;;;;;;;;:::i;:::-;:65;;2454:75;;;;;-1:-1:-1;2539:3:16;;1604:953;;;;902:1:29;2601:13:16;:34;2597:82;;;2644:35;;-1:-1:-1;;;2644:35:16;;;;;2632:25:208;;;2605:18;;2644:35:16;2486:177:208;2597:82:16;2779:14;;:30;;;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3067:41:16;;;3057:51;;;;;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3124:47:16;;;3114:57;;;;;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3187:49:16;;;;3177:59;;;;;1233:2050;-1:-1:-1;;;;1233:2050:16:o;9344:2432:19:-;-1:-1:-1;;;9604:7:19;:35;;;;;;:83;;-1:-1:-1;9664:23:19;9643:7;:44;;;;9604:83;9600:196;;;-1:-1:-1;;;9746:7:19;9779;9762:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;9762:25:19;;;;-1:-1:-1;;9762:25:19;;;;;;;;;;9704:85;;;;;;;;;;:::i;9600:196::-;9842:22;:11;:20;:22::i;:::-;9905:40;:9;9938:4;9905:18;:40::i;:::-;9951:43;:11;9986:5;9951:20;:43::i;:::-;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10082:8:19;:15;:40;10078:135;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10190:15:19;;10139:67;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10139:67:19;16309:248:208;10078:135:19;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10263:10:19;:17;:44;10259:145;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10379:17:19;;10324:73;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10324:73:19;16309:248:208;10259:145:19;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10461:50:19;10457:158;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10528:80:19;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10528:80:19;16309:248:208;10457:158:19;10657:29;:11;:27;:29::i;:::-;10624;:11;:27;:29::i;:::-;:62;10620:188;;10740:29;:11;:27;:29::i;:::-;10771;:11;:27;:29::i;:::-;10703:98;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10703:98:19;16309:248:208;10620:188:19;10851:30;:11;:28;:30::i;:::-;10817;:11;:28;:30::i;:::-;:64;10813:193;;10936:30;:11;:28;:30::i;:::-;10968;:11;:28;:30::i;:::-;10898:101;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10898:101:19;16309:248:208;10813:193:19;11103:9;11098:271;11118:29;:11;:27;:29::i;:::-;11114:1;:33;11098:271;;;11192:44;:22;:11;11212:1;11192:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;537:1:29;4432:19:3;:27;;;4431:44;4397:79;;;4384:93;;11166:70:19;11162:201;;537:1:29;4432:19:3;:27;;;4431:44;4397:79;;;4384:93;;11309:44:19;:22;:11;11329:1;11309:19;:22::i;:44::-;11255:99;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;11255:99:19;16309:248:208;11162:201:19;11149:3;;11098:271;;;;11431:31;11454:7;11431:22;:31::i;:::-;11427:127;;;11504:7;11537;11520:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;11520:25:19;;;;-1:-1:-1;;11520:25:19;;;;;;;;;;11479:68;;;;;;;;;:::i;11427:127::-;11595:103;11607:7;11616:11;11629:9;11640:11;11664:8;11653:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11686:10;11675:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11595:11;:103::i;:::-;11734:37;11757:7;11766:4;11734:22;:37::i;25267:355::-;25439:178;25473:7;25498:8;25528:63;25567:11;25580:10;25528:38;:63::i;:::-;25606:4;25439:16;:178::i;6749:651::-;6816:11;7052:62;;;7048:112;;-1:-1:-1;1343:66:28;;6749:651:19;-1:-1:-1;6749:651:19:o;7048:112::-;7204:183;7250:83;1171:66:28;7324:7:19;7250:40;:83::i;:::-;7353:2;7375:1;7204:17;:183::i;15405:3138::-;15699:23;15678:7;:44;;;15674:198;;15792:7;15776:75;15801:8;15811:10;15823:14;15839:11;15776:75;;;;;;;;;:::i;:::-;;;;;;;;15859:7;;15674:198;16010:22;16035:24;16051:7;16035:15;:24::i;:::-;16010:49;;16070:9;16065:340;16085:5;:12;16081:1;:16;16065:340;;;16112:9;16134:5;16140:1;16134:8;;;;;;;;:::i;:::-;;;;;;;16112:31;;16155:33;343:6:32;16155:4:19;:14;;;;;:33;;;;:::i;:::-;16151:248;;;16200:190;;;;;3404:35:4;;;;;16200:47:19;;:190;;16259:7;;16278:8;;16298:10;;16320:14;;16346:11;;16369;;16200:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16151:248;-1:-1:-1;16099:3:19;;16065:340;;;;16469:7;16453:75;16478:8;16488:10;16500:14;16516:11;16453:75;;;;;;;;;:::i;:::-;;;;;;;;16592:26;16621:59;16662:7;16671:8;16621:40;:59::i;:::-;16592:88;-1:-1:-1;16686:21:19;828:4:13;818:15;;16686:54:19;;16746:149;16784:18;16818:1;16835:10;:17;16875:13;16746;:149::i;:::-;16995:1;16962:30;:11;:28;:30::i;:::-;:34;16958:1174;;;17081:33;17117:66;17165:7;17174:8;17117:47;:66::i;:::-;629:28:18;;;17081:102:19;-1:-1:-1;828:4:13;818:15;;17357:47:19;;17513:27;17548:25;17586:7;17581:545;17599:30;:11;:28;:30::i;:::-;17595:1;:34;;;17581:545;;;17665:63;17707:7;17716:8;17726:1;17665:41;:63::i;:::-;17643:85;-1:-1:-1;17758:25:19;:14;17781:1;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;17758:25:19;17738:45;;17793:170;17835:19;17874:1;17895:17;17939:13;17793;:170::i;:::-;17973:34;17990:17;17973:34;;:::i;:::-;;-1:-1:-1;18104:3:19;;17581:545;;;;16998:1134;;;16958:1174;18206:9;18201:338;18221:5;:12;18217:1;:16;18201:338;;;18248:9;18270:5;18276:1;18270:8;;;;;;;;:::i;:::-;;;;;;;18248:31;;18291:32;437:6:32;18291:4:19;:14;;;;;:32;;;;:::i;:::-;18287:246;;;18335:189;;;;;3404:35:4;;;;;18335:46:19;;:189;;18393:7;;18412:8;;18432:10;;18454:14;;18480:11;;18503;;18335:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18287:246;-1:-1:-1;18235:3:19;;18201:338;;52798:191;52900:7;52964;52973:8;52947:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52947:35:19;;;;;;;;;52937:46;;52947:35;52937:46;;;;44397:22;52930:53;;52798:191;-1:-1:-1;;;52798:191:19:o;53815:242::-;53911:7;;;53950:84;53970:10;53966:14;;:1;:14;53950:84;;;53995:32;4384:93:3;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;53995:32:19;;:::i;:::-;;-1:-1:-1;53982:3:19;;53950:84;;;-1:-1:-1;54046:6:19;53815:242;-1:-1:-1;;;53815:242:19:o;8879:812:18:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:18;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6727:1532:3:-;6410:45;6790:68;;6832:19;;;;;;;;;;;;;;6790:68;6864:25;6892:30;:11;:28;:30::i;:::-;6864:58;;902:1:29;6932:17:3;:38;6928:137;;;6987:71;;;;;;;;16483:25:208;;;902:1:29;16524:18:208;;;16517:34;16456:18;;6987:71:3;16309:248:208;6928:137:3;7071:24;7098:29;:11;:27;:29::i;:::-;7071:56;-1:-1:-1;7133:23:3;7159:36;7178:17;7071:56;7159:36;:::i;:::-;7133:62;;647:2:29;7205:15:3;:34;7201:122;;;7256:60;;;;;;;;16483:25:208;;;647:2:29;16524:18:208;;;16517:34;16456:18;;7256:60:3;16309:248:208;7201:122:3;7365:25;7401:9;7396:391;7416:16;7412:1;:20;7396:391;;;4384:93;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;7444:24;7505:21;;;7501:196;;7545:33;;;;;;;;2632:25:208;;;2605:18;;7545:33:3;2486:177:208;7501:196:3;334:2:29;7597:16:3;:28;7593:104;;;7644:44;;;;;;;;2632:25:208;;;2605:18;;7644:44:3;2486:177:208;7593:104:3;7704:37;7725:16;7704:37;;:::i;:::-;;-1:-1:-1;;7769:3:3;;7396:391;;;;7854:30;:11;:28;:30::i;:::-;7833:17;:51;7829:165;;7937:30;:11;:28;:30::i;:::-;7901:86;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;;;16456:18;;7901:86:3;16309:248:208;7829:165:3;8050:16;8033:222;647:2:29;8068:1:3;:20;8033:222;;;4384:93;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;8164:21;;8160:89;;8204:36;;;;;;;;2632:25:208;;;2605:18;;8204:36:3;2486:177:208;8160:89:3;-1:-1:-1;8090:3:3;;8033:222;;5666:1551:16;5773:10;5772:11;:31;;;;-1:-1:-1;6410:45:3;;5787:16:16;5768:67;;;5812:23;;-1:-1:-1;;;5812:23:16;;5833:1;5812:23;;;2632:25:208;2605:18;;5812:23:16;2486:177:208;5768:67:16;5898:25;5926;:6;:23;:25::i;:::-;5898:53;;902:1:29;5961:17:16;:38;5957:90;;;6008:39;;-1:-1:-1;;;6008:39:16;;;;;2632:25:208;;;2605:18;;6008:39:16;2486:177:208;5957:90:16;6054:24;6081;:6;:22;:24::i;:::-;6054:51;-1:-1:-1;6175:23:16;6201:36;6220:17;6054:51;6201:36;:::i;:::-;6175:62;;647:2:29;6247:15:16;:34;6243:84;;;6290:37;;-1:-1:-1;;;6290:37:16;;;;;2632:25:208;;;2605:18;;6290:37:16;2486:177:208;6243:84:16;6388:25;6424:9;6419:300;6439:16;6435:1;:20;6419:300;;;6467:24;6494:39;:17;:6;6509:1;6494:14;:17::i;:39::-;6467:66;;6545:16;6565:1;6545:21;6541:88;;6585:35;;;;;;;;;;;;;;6541:88;6636:37;6657:16;6636:37;;:::i;:::-;;-1:-1:-1;;6701:3:16;;6419:300;;;;6787:25;:6;:23;:25::i;:::-;6766:17;:46;6762:121;;6850:25;:6;:23;:25::i;:::-;6829:47;;-1:-1:-1;;;6829:47:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;6762:121:16;6958:16;6941:272;6980:15;6976:1;:19;6941:272;;;7007:24;7034:39;:17;:6;7049:1;7034:14;:17::i;:39::-;7007:66;-1:-1:-1;7085:20:16;;7081:87;;7124:35;;;;;;;;;;;;;;7081:87;-1:-1:-1;7195:3:16;;6941:272;;5088:171:3;5161:7;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;5197:11:3;5176:78;5189:64;;5176:78;;5088:171;-1:-1:-1;;5088:171:3:o;5486:173::-;5560:7;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;3925:206:16:-;3995:10;4085:19;:27;;;4116:1;4084:33;4063:6;4038:82;4055:63;;4038:82;;;;;;;;;:::i;3588:314:26:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:26;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;-1:-1:-1;;;3791:24:26;:62::i;20651:676:28:-;25205:53;;;;;;21683:19:208;;;21718:12;;;21711:28;;;25178:12:28;21755::208;;;21748:28;;;25205:53:28;;;;;;;;;;21792:12:208;;;;25205:53:28;;;20942:29;20974:55;20988:18;21008:20;20974:13;:55::i;:::-;20942:87;;21035:25;21063:55;21077:18;21097:20;21063:13;:55::i;:::-;21154:16;;;21168:1;21154:16;;;;;;;;;21035:83;;-1:-1:-1;21125:26:28;;21154:16;;;;;;;;;;;;-1:-1:-1;21154:16:28;21125:45;;21209:7;21176:9;21186:1;21176:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;21224:98;1171:66;21254:9;21265:11;21278:15;21295:12;1343:66;21224:19;:98::i;4952:268:26:-;5052:16;;;5066:1;5052:16;;;;;;;;;5023:26;;5052:16;;;;;;;;;;;-1:-1:-1;5052:16:26;5023:45;;5107:10;5074:9;5084:1;5074:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5125:90;1076:66;1060:83;;5160:9;5171:1;5192:6;5174:26;;;;;;19939:14:208;19932:22;19927:3;19923:32;19911:45;;19981:1;19972:11;;19788:201;5174:26:26;;;;-1:-1:-1;;5174:26:26;;;;;;;;;-1:-1:-1;;;5125:24:26;:90::i;:::-;5017:203;4952:268;;:::o;19179:1676:19:-;19379:23;19358:7;:44;;;19354:232;;19509:7;19465:100;19528:8;19545:5;19558:4;19465:100;;;;;;;;:::i;:::-;;;;;;;;19573:7;;19354:232;19592:16;19611:59;19652:7;19661:8;19611:40;:59::i;:::-;19592:78;;19816:22;19841:24;19857:7;19841:15;:24::i;:::-;19816:49;;19876:9;19871:328;19891:5;:12;19887:1;:16;19871:328;;;19918:9;19940:5;19946:1;19940:8;;;;;;;;:::i;:::-;;;;;;;19918:31;;19961:41;548:6:32;19961:4:19;:14;;;;;:41;;;;:::i;:::-;19957:236;;;20014:170;;;;;3404:35:4;;;;;20014:54:19;;:170;;20090:7;;20119:8;;20146:5;;20169:4;;20014:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19957:236;-1:-1:-1;19905:3:19;;19871:328;;;;20300:7;20256:100;20319:8;20336:5;20349:4;20256:100;;;;;;;;:::i;:::-;;;;;;;;20406:70;20438:8;20456:5;20406:70;;20469:4;20406:13;:70::i;:::-;20530:9;20525:326;20545:5;:12;20541:1;:16;20525:326;;;20572:9;20594:5;20600:1;20594:8;;;;;;;;:::i;:::-;;;;;;;20572:31;;20615:40;657:6:32;20615:4:19;:14;;;;;:40;;;;:::i;:::-;20611:234;;;20667:169;;;;;3404:35:4;;;;;20667:53:19;;:169;;20742:7;;20771:8;;20798:5;;20821:4;;20667:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20611:234;-1:-1:-1;20559:3:19;;20525:326;;53241:282;53486:30;;;;;;21318:19:208;;;21353:12;;;21346:28;;;53329:7:19;;21390:12:208;;53486:30:19;21130:278:208;4391:342:27;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:27;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;:::-;4577:70;;4661:66;:44;4682:5;4689:1;4692:5;:12;4661:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1423:2340:18:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:29;738:25:31;;716:48;2142:18:18;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:18;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;55363:230:19:-;55484:7;55568;55577:8;55551:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55551:35:19;;;;;;;;;55541:46;;55551:35;55541:46;;;;44560:40;55514:73;;55363:230;-1:-1:-1;;;55363:230:19:o;54734:274::-;54878:7;54983;54992:8;54966:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54956:46;;;;;;54935:17;54928:25;;54908:45;;;44469:34;54908:45;:94;54900:103;;54893:110;;54734:274;;;;;:::o;4707:171:3:-;4781:7;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4803:70:3;;;;;4707:171;-1:-1:-1;4707:171:3:o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;39309:522:19:-;39445:12;39569:257;39608:79;39650:7;39659:8;39669:17;39608:41;:79::i;:::-;39705:1;39724:93;39799:17;39724:66;39772:7;39781:8;39724:47;:66::i;:::-;:74;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;39724:93:19;39569:12;:257::i;1952:561:17:-;2043:5;2138:3;2130:5;:11;:32;;;;2151:4;:11;2145:3;:17;2130:32;2126:80;;;2189:4;2195:5;2202:3;2171:35;;;;;;;;;;;;;:::i;2126:80::-;2272:4;2262:15;;2319:16;2330:5;2262:15;2319:16;:::i;:::-;;-1:-1:-1;2341:12:17;2356:11;2362:5;2356:3;:11;:::i;:::-;641:17;2491:15;2483:3;2472:14;;;;2471:36;;;;;;-1:-1:-1;;;;;1952:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;55931:301:19:-;56052:13;56144:82;56175:48;56205:7;56214:8;56175:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2867:3:17;2845:25;;2771:104;2789:21:36;2765:45;-1:-1:-1;641:17:17;3108:38;;2816:20:36;2978:11;3108:38:17;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;6010:2380:18:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:18;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:208;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:208;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:208:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:208;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:208:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:208;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:208:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:208;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:208;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:208;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:208;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:208:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:208;;10865:439;-1:-1:-1;;;;;10865:439:208:o;11309:791::-;11701:6;11690:9;11683:25;11744:3;11739:2;11728:9;11724:18;11717:31;11664:4;11771:57;11823:3;11812:9;11808:19;11800:6;11771:57;:::i;:::-;11876:9;11868:6;11864:22;11859:2;11848:9;11844:18;11837:50;11910:32;11935:6;11927;11910:32;:::i;:::-;11896:46;;11978:6;11973:2;11962:9;11958:18;11951:34;12034:9;12026:6;12022:22;12016:3;12005:9;12001:19;11994:51;12062:32;12087:6;12079;12062:32;:::i;:::-;12054:40;11309:791;-1:-1:-1;;;;;;;;11309:791:208:o;12105:545::-;12426:6;12415:9;12408:25;12469:3;12464:2;12453:9;12449:18;12442:31;12389:4;12490:57;12542:3;12531:9;12527:19;12519:6;12490:57;:::i;:::-;12595:4;12583:17;;;;12578:2;12563:18;;12556:45;-1:-1:-1;12632:2:208;12617:18;12610:34;12482:65;12105:545;-1:-1:-1;;12105:545:208:o;12655:184::-;12725:6;12778:2;12766:9;12757:7;12753:23;12749:32;12746:52;;;12794:1;12791;12784:12;12746:52;-1:-1:-1;12817:16:208;;12655:184;-1:-1:-1;12655:184:208:o;12844:::-;-1:-1:-1;;;12893:1:208;12886:88;12993:4;12990:1;12983:15;13017:4;13014:1;13007:15;13033:656;13085:3;13116;13148:5;13142:12;13175:6;13170:3;13163:19;13201:4;13230;13225:3;13221:14;13214:21;;13288:4;13278:6;13275:1;13271:14;13264:5;13260:26;13256:37;13327:4;13320:5;13316:16;13350:1;13360:303;13374:6;13371:1;13368:13;13360:303;;;-1:-1:-1;;13449:5:208;13443:4;13439:16;13435:89;13430:3;13423:102;13546:37;13578:4;13569:6;13563:13;13546:37;:::i;:::-;13641:12;;;;13538:45;-1:-1:-1;13606:15:208;;;;13396:1;13389:9;13360:303;;;-1:-1:-1;13679:4:208;;13033:656;-1:-1:-1;;;;;;;13033:656:208:o;13694:907::-;14219:6;14208:9;14201:25;14262:6;14257:2;14246:9;14242:18;14235:34;14305:6;14300:2;14289:9;14285:18;14278:34;14348:6;14343:2;14332:9;14328:18;14321:34;14392:3;14386;14375:9;14371:19;14364:32;14182:4;14419:56;14470:3;14459:9;14455:19;14447:6;14419:56;:::i;:::-;14524:9;14516:6;14512:22;14506:3;14495:9;14491:19;14484:51;14552:43;14588:6;14580;14552:43;:::i;:::-;14544:51;13694:907;-1:-1:-1;;;;;;;;;13694:907:208:o;14606:706::-;14973:6;14962:9;14955:25;15016:3;15011:2;15000:9;14996:18;14989:31;14936:4;15043:57;15095:3;15084:9;15080:19;15072:6;15043:57;:::i;:::-;15148:4;15140:6;15136:17;15131:2;15120:9;15116:18;15109:45;15202:9;15194:6;15190:22;15185:2;15174:9;15170:18;15163:50;15230:32;15255:6;15247;15230:32;:::i;:::-;15222:40;;;15299:6;15293:3;15282:9;15278:19;15271:35;14606:706;;;;;;;;:::o;15317:128::-;15384:9;;;15405:11;;;15402:37;;;15419:18;;:::i;15450:168::-;15523:9;;;15554;;15571:15;;;15565:22;;15551:37;15541:71;;15592:18;;:::i;15841:463::-;16087:66;16079:6;16075:79;16064:9;16057:98;16191:6;16186:2;16175:9;16171:18;16164:34;16234:2;16229;16218:9;16214:18;16207:30;16038:4;16254:44;16294:2;16283:9;16279:18;16271:6;16254:44;:::i;16888:280::-;17087:2;17076:9;17069:21;17050:4;17107:55;17158:2;17147:9;17143:18;17135:6;17107:55;:::i;17173:688::-;17506:3;17495:9;17488:22;17469:4;17533:57;17585:3;17574:9;17570:19;17562:6;17533:57;:::i;:::-;17638:9;17630:6;17626:22;17621:2;17610:9;17606:18;17599:50;17672:32;17697:6;17689;17672:32;:::i;:::-;17658:46;;17740:6;17735:2;17724:9;17720:18;17713:34;17795:9;17787:6;17783:22;17778:2;17767:9;17763:18;17756:50;17823:32;17848:6;17840;17823:32;:::i;:::-;17815:40;17173:688;-1:-1:-1;;;;;;;17173:688:208:o;17866:894::-;18317:6;18306:9;18299:25;18360:3;18355:2;18344:9;18340:18;18333:31;18280:4;18387:57;18439:3;18428:9;18424:19;18416:6;18387:57;:::i;:::-;18492:9;18484:6;18480:22;18475:2;18464:9;18460:18;18453:50;18526:32;18551:6;18543;18526:32;:::i;:::-;18512:46;;18594:6;18589:2;18578:9;18574:18;18567:34;18650:9;18642:6;18638:22;18632:3;18621:9;18617:19;18610:51;18678:32;18703:6;18695;18678:32;:::i;:::-;18670:40;;;18747:6;18741:3;18730:9;18726:19;18719:35;17866:894;;;;;;;;;:::o;18765:639::-;19015:6;19010:3;19003:19;18985:3;19041:2;19074;19069:3;19065:12;19106:6;19100:13;19171:2;19163:6;19159:15;19192:1;19202:175;19216:6;19213:1;19210:13;19202:175;;;19279:13;;19265:28;;19315:14;;;;19352:15;;;;19238:1;19231:9;19202:175;;;-1:-1:-1;19393:5:208;;18765:639;-1:-1:-1;;;;;;;18765:639:208:o;19409:184::-;-1:-1:-1;;;19458:1:208;19451:88;19558:4;19555:1;19548:15;19582:4;19579:1;19572:15;19994:511;20245:2;20234:9;20227:21;20208:4;20271:56;20323:2;20312:9;20308:18;20300:6;20271:56;:::i;:::-;20375:14;20367:6;20363:27;20358:2;20347:9;20343:18;20336:55;20439:9;20431:6;20427:22;20422:2;20411:9;20407:18;20400:50;20467:32;20492:6;20484;20467:32;:::i;:::-;20459:40;19994:511;-1:-1:-1;;;;;;19994:511:208:o;20510:615::-;20820:6;20809:9;20802:25;20863:3;20858:2;20847:9;20843:18;20836:31;20783:4;20890:57;20942:3;20931:9;20927:19;20919:6;20890:57;:::i;:::-;20995:14;20987:6;20983:27;20978:2;20967:9;20963:18;20956:55;21059:9;21051:6;21047:22;21042:2;21031:9;21027:18;21020:50;21087:32;21112:6;21104;21087:32;:::i;21815:359::-;22018:2;22007:9;22000:21;21981:4;22038:44;22078:2;22067:9;22063:18;22055:6;22038:44;:::i;:::-;22113:2;22098:18;;22091:34;;;;-1:-1:-1;22156:2:208;22141:18;22134:34;22030:52;21815:359;-1:-1:-1;21815:359:208:o","linkReferences":{},"immutableReferences":{"22597":[{"start":507,"length":32}],"91646":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"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\":\"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\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"Schema_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"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_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.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"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.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0\",\"dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63\",\"dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea\",\"dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b\",\"dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da\",\"dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xe3de9520aa5040f6a18711feef794a2fea4ec2ad1fb796b1ff166ede274bc50e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ba6c0c0303d02ab4b4d5643ecaf5765707f000091468075dcd22740d3d3bea\",\"dweb:/ipfs/QmdXTEjBvopLQm21NgcdwwtYsT1ke4iJjn7mA17GhUenu9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/errors.sol\":{\"keccak256\":\"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5\",\"dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6\",\"dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"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/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x8c0cd52ec48ef5a88226a8692dc378fbba8dd6b2fd2364f4cac4fe3d2562730d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b6534b916a54766c144f9e46523e5b41137849f023ab702887a7a60a4f8d0f3\",\"dweb:/ipfs/QmNbunbzrthCqJwpFSaWoJ9b9GVoNNYTFYxc1Mski8SoJ7\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0xd05c08a2fdc4ab06273bceda2618c9aec7cc362f5401dd2a8070a71719d42544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6fdfc972d7ec013ecd0deb5609ce2f8ce150b61b53d19f9fd3b60f532d04ab9\",\"dweb:/ipfs/QmRNxV9iUqo9rfjVQoJVHxcfwabJiTMt5fnEi8fM4f5D9G\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0x04e27880dab60e2f48b5e1057eb24bd5c34026601957db6e81088c656bee306f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b87eb482a34c82ae54a75ec4e70fd0ea09b0765231bdfc26e227b3745994470\",\"dweb:/ipfs/QmbFXEXbvzGxszA4z4KLHMKrMfEyoVhX5xqL7LcyLLJByt\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0x910ef149f80e14d67751ea8adf324e3dc64aa4d3341cce2f938b07ee146ab427\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d8ac5b9c0021582fcfe52f89e0a59a55ede7d120356b3326c537161daf324be\",\"dweb:/ipfs/QmNyoj1pQJHbQdreyekJYBkwKLSt5twVmZ3zjVj8WVaqUJ\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0xc4bab0981b493a1885474ce82a9aee3004d7ec76213c738e268aac467ef73a5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e87b36b0632ad8515650004ecc76ac196805b5d8bc3a5975ed80a86801c6e95b\",\"dweb:/ipfs/QmYCGY7zstQhhUwDjmzscvNDgZ6QK9kDR51fXvKYP9tmjf\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x895b4ab148c4e46949aa0063376d18083d5381784219699376ec3d69b14177a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c5b4231a141722fefcc269fa7755a13873ca7d2fc908c89311017fcc96f7e50\",\"dweb:/ipfs/QmfL873P2MUQTS4JrZMpn9ceGF7RHumbzGXX3e6h7sZj4w\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xb9c51ba0071329f2da8ccdbffff0442321a5424408e79f39ee4185e64947140a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1319f4f32be728d3691679534c802b1ee6644fb29bc4dd9bf2335dcf063cd2ae\",\"dweb:/ipfs/QmThv5NgsCMcMj4GAEXvTbgFUzarM8oCE5gNi5tQqBjTDS\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9\",\"dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7\",\"dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8\",\"dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","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":"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":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"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."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838","urls":["bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0","dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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/IStore.sol":{"keccak256":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f","urls":["bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63","dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e","urls":["bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea","dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df","urls":["bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b","dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e","urls":["bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da","dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0xe3de9520aa5040f6a18711feef794a2fea4ec2ad1fb796b1ff166ede274bc50e","urls":["bzz-raw://85ba6c0c0303d02ab4b4d5643ecaf5765707f000091468075dcd22740d3d3bea","dweb:/ipfs/QmdXTEjBvopLQm21NgcdwwtYsT1ke4iJjn7mA17GhUenu9"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/errors.sol":{"keccak256":"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30","urls":["bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5","dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3","urls":["bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6","dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"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/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x8c0cd52ec48ef5a88226a8692dc378fbba8dd6b2fd2364f4cac4fe3d2562730d","urls":["bzz-raw://1b6534b916a54766c144f9e46523e5b41137849f023ab702887a7a60a4f8d0f3","dweb:/ipfs/QmNbunbzrthCqJwpFSaWoJ9b9GVoNNYTFYxc1Mski8SoJ7"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0xd05c08a2fdc4ab06273bceda2618c9aec7cc362f5401dd2a8070a71719d42544","urls":["bzz-raw://d6fdfc972d7ec013ecd0deb5609ce2f8ce150b61b53d19f9fd3b60f532d04ab9","dweb:/ipfs/QmRNxV9iUqo9rfjVQoJVHxcfwabJiTMt5fnEi8fM4f5D9G"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0x04e27880dab60e2f48b5e1057eb24bd5c34026601957db6e81088c656bee306f","urls":["bzz-raw://8b87eb482a34c82ae54a75ec4e70fd0ea09b0765231bdfc26e227b3745994470","dweb:/ipfs/QmbFXEXbvzGxszA4z4KLHMKrMfEyoVhX5xqL7LcyLLJByt"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0x910ef149f80e14d67751ea8adf324e3dc64aa4d3341cce2f938b07ee146ab427","urls":["bzz-raw://3d8ac5b9c0021582fcfe52f89e0a59a55ede7d120356b3326c537161daf324be","dweb:/ipfs/QmNyoj1pQJHbQdreyekJYBkwKLSt5twVmZ3zjVj8WVaqUJ"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0xc4bab0981b493a1885474ce82a9aee3004d7ec76213c738e268aac467ef73a5a","urls":["bzz-raw://e87b36b0632ad8515650004ecc76ac196805b5d8bc3a5975ed80a86801c6e95b","dweb:/ipfs/QmYCGY7zstQhhUwDjmzscvNDgZ6QK9kDR51fXvKYP9tmjf"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x895b4ab148c4e46949aa0063376d18083d5381784219699376ec3d69b14177a8","urls":["bzz-raw://2c5b4231a141722fefcc269fa7755a13873ca7d2fc908c89311017fcc96f7e50","dweb:/ipfs/QmfL873P2MUQTS4JrZMpn9ceGF7RHumbzGXX3e6h7sZj4w"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xb9c51ba0071329f2da8ccdbffff0442321a5424408e79f39ee4185e64947140a","urls":["bzz-raw://1319f4f32be728d3691679534c802b1ee6644fb29bc4dd9bf2335dcf063cd2ae","dweb:/ipfs/QmThv5NgsCMcMj4GAEXvTbgFUzarM8oCE5gNi5tQqBjTDS"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d","urls":["bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9","dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db","urls":["bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7","dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2","urls":["bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8","dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS"],"license":"MIT"}},"version":1},"id":129}
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":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b614cc380620035d383390190565b60805160a05161354c6200008760003960006102d7015260006101fb015261354c6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c57815160405163d498615960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d5760405163d498615960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da5760405163d498615960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c5760405163d498615960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c5760405163d498615960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614ca3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612558565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161022b565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102d0565b610308565b61013c61013783610354565b610386565b61014d610148836103c2565b6103f4565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a961017284610438565b60405161017e9061254b565b604051809103906000f08015801561019a573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020e57600080fd5b505af1158015610222573d6000803e3d6000fd5b50505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610264576102646125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610485565b90506102c88160f81c90565b949350505050565b6000610302613a3160f11b837f416c6c6f77616e6365730000000000000000000000000000000000000000000061055c565b92915050565b610351817e200100200000000000000000000000000000000000000000000000000000006103346105e3565b61033c6106a0565b6103446106da565b61034c6107b2565b610829565b50565b6000610302613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061055c565b610351817e200100200000000000000000000000000000000000000000000000000000006103b26108fc565b6103ba6106a0565b610344610936565b6000610302613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061055c565b610351817e010102010000000000000000000000000000000000000000000000000000006104206109ad565b6104286109c6565b610430610a8b565b61034c610abe565b60006103027f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d00000000000000000000000000000000000000000061055c565b600080610490610bde565b90503073ffffffffffffffffffffffffffffffffffffffff8216036104c3576104bb86868686610c2a565b9150506102c8565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d599061051b908990899089908990600401612621565b602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190612650565b600061056a6070601061267f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061061d5761061d6125cf565b602002602001019060c581111561063657610636612692565b908160c581111561064957610649612692565b81525050606181600181518110610662576106626125cf565b602002602001019060c581111561067b5761067b612692565b908160c581111561068e5761068e612692565b90525061069a81610c60565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050601f81600081518110610662576106626125cf565b6040805160028082526060828101909352816020015b60608152602001906001900390816106f05790505090506040518060400160405280600781526020017f6163636f756e740000000000000000000000000000000000000000000000000081525081600081518110610750576107506125cf565b60200260200101819052506040518060400160405280600781526020017f7370656e64657200000000000000000000000000000000000000000000000000815250816001815181106107a4576107a46125cf565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816107c95790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6000610833610bde565b90503073ffffffffffffffffffffffffffffffffffffffff82160361086557610860878787878787610e24565b610222565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906108c1908a908a908a908a908a908a90600401612752565b600060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110610662576106626125cf565b604080516001808252818301909252606091816020015b606081526020019060019003908161094d5790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106107a4576107a46125cf565b6040805160008082526020820190925261069a81610c60565b6040805160038082526080820190925260009182919060208201606080368337019050509050600081600081518110610a0157610a016125cf565b602002602001019060c5811115610a1a57610a1a612692565b908160c5811115610a2d57610a2d612692565b8152505060c581600181518110610a4657610a466125cf565b602002602001019060c5811115610a5f57610a5f612692565b908160c5811115610a7257610a72612692565b8152505060c581600281518110610662576106626125cf565b60408051600080825260208201909252606091610ab8565b6060815260200190600190039081610aa35790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610ad65790505090506040518060400160405280600881526020017f646563696d616c7300000000000000000000000000000000000000000000000081525081600081518110610b3657610b366125cf565b60200260200101819052506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600181518110610b8a57610b8a6125cf565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c0000000000000000000000000000000000000000000000000000815250816002815181106107a4576107a46125cf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610c25573391505090565b919050565b6000610c57610c398686611282565b60ff858116601b0360080285901c16610c5285876112d8565b611311565b95945050505050565b6000601c82511115610c9357815160405163d498615960e01b8152600401610c8a91815260200190565b60405180910390fd5b60008080805b8551811015610d6e576000610cd7878381518110610cb957610cb96125cf565b602002602001015160c5811115610cd257610cd2612692565b611362565b905080600003610cec57600190920191610d24565b8215610d24576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610d4557610d456125cf565b602002602001015160c5811115610d5e57610d5e612692565b901b949094179350600101610c99565b506005811115610d945760405163d498615960e01b815260048101829052602401610c8a565b84518190036008610da76002602061279c565b610db191906127af565b83901b939093179260086001610dc96002602061279c565b610dd3919061279c565b610ddd91906127af565b81901b93909317926008600180610df66002602061279c565b610e00919061279c565b610e0a919061279c565b610e1491906127af565b9190911b92909217949350505050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610e9d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b15610efe57613a3160f11b8687604051602001610ebc91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610c8a9392916004016127c6565b610f07856113bc565b610f12846001611603565b610f1d836000611603565b60e084901c60e885901c0160ff16825114610f7d5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff16815114610fdd5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110555760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b61105e8561179f565b6110678461179f565b146110b9576110758561179f565b61107e8461179f565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b6110c2856117d1565b6110cb846117d1565b1461111d576110d9856117d1565b6110e2846117d1565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b60005b6111298661179f565b8110156111bf5761114e61113d85836117ee565b60c5811115610cd257610cd2612692565b6008601b8390030287901c60ff16146111b7576008601b8290030286901c60ff1661117c61113d86846117ee565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c8a565b600101611120565b506111c986611816565b156112235785866040516020016111e291815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610c8a9291600401612807565b61126f868686868660405160200161123b9190612820565b6040516020818303038152906040528660405160200161125b9190612820565b6040516020818303038152906040526118a7565b61127a86600161198a565b505050505050565b60008282604051602001611297929190612833565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611309576112ff60ff601b83900360080287901c168361267f565b91506001016112dd565b509392505050565b600060208210611337576020820484019350602082816113335761133361286f565b0691505b508254600882021b602082900380841115611309576001850154600882021c82179150509392505050565b6000808260c581111561137757611377612692565b60ff169050606181101561139157601f1660010192915050565b60618360c58111156113a5576113a5612692565b036113b35750601492915050565b50600092915050565b806113f3576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113fe826117d1565b90506005811115611445576040517f6793df620000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401610c8a565b60006114508361179f565b9050600061145e838361267f565b9050601c8111156114a5576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401610c8a565b6000805b838110156115505760ff601b82900360080287901c1660008190036114fd576040517f53b2dd0500000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b602081111561153b576040517f7237f23700000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b611545818461267f565b9250506001016114a9565b5061155a85611a48565b81146115a65761156985611a48565b6040517feba964de000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c8a565b825b601c81101561127a5760ff601b82900360080287901c1680156115fa576040517f1d8d44db00000000000000000000000000000000000000000000000000000000815260048101839052602401610c8a565b506001016115a8565b8015801561160f575081155b156116305760405163d498615960e01b815260006004820152602401610c8a565b600061163b836117d1565b905060058111156116625760405163d498615960e01b815260048101829052602401610c8a565b600061166d8461179f565b9050600061167b838361267f565b9050601c8111156116a25760405163d498615960e01b815260048101829052602401610c8a565b6000805b8381101561170e5760006116bd61113d89846117ee565b9050806000036116f9576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611703818461267f565b9250506001016116a6565b5061171886611a48565b81146117435761172786611a48565b60405163d498615960e01b8152600401610c8a91815260200190565b825b8281101561022257600061175c61113d89846117ee565b90508015611796576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611745565b6000600860016117b16002602061279c565b6117bb919061279c565b6117c591906127af565b8260ff911c1692915050565b600060086001806117e46002602061279c565b6117b1919061279c565b6000601b8290036008028360ff911c1660c581111561180f5761180f612692565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184f5761184f6125cf565b602090810291909101015260006102bc7f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000610c2a565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006118de8484611a6b565b905060006118ec8585611a88565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611926576119266125cf565b602090810291909101015261197e7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab4565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119c0576119c06125cf565b602002602001018181525050611a437f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611a0e91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611ded565b505050565b60006008611a586002602061279c565b611a6291906127af565b9190911c919050565b8151815160009181810160389190911b1760609190911b1761180f565b60608282604051602001611a9d929190612885565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3394939291906128b4565b60405180910390a261127a565b6000611b4b87611e09565b905060005b8151811015611c24576000828281518110611b6d57611b6d6125cf565b60200260200101519050611b996001826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611c1b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611be8908c908c908c908c908c908c906004016128fe565b600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b505050505b50600101611b50565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5b94939291906128b4565b60405180910390a26000611c6f8888611282565b90506000602087019050611c87826000895184611eb0565b6000611c92856117d1565b1115611d16576000611ca48a8a611f6e565b878155905060208601915060008060005b611cbe886117d1565b8160ff161015611d1157611cd38d8d83611fc4565b9250611cee8a8260ff166028026038011c64ffffffffff1690565b9150611cfd8360008488611eb0565b611d07828661267f565b9450600101611cb5565b505050505b60005b835181101561197e576000848281518110611d3657611d366125cf565b60200260200101519050611d626002826affffffffffffffffffffff1916611e9290919063ffffffff16565b15611de4576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db1908e908e908e908e908e908e906004016128fe565b600060405180830381600087803b158015611dcb57600080fd5b505af1158015611ddf573d6000803e3d6000fd5b505050505b50600101611d19565b611e028585611dfc84876112d8565b85612044565b5050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e4357611e436125cf565b60209081029190910101526000611e7b7f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836122df565b90506102c8611e8d8260008451612319565b6123a7565b60008160ff1682611ea38560581c90565b1660ff1614905092915050565b8215611f2a5760208310611eda57602083048401935060208381611ed657611ed661286f565b0692505b8215611f2a5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611f1b575050611f68565b50600194909401939182900391015b5b60208210611f4c5780518455600190930192601f1990910190602001611f2b565b8115611f685783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611f83929190612833565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fd9929190612833565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036120ce57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516120c193929190612957565b60405180910390a2611f68565b60006120da8585611282565b905060006120e786611e09565b905060005b81518110156121bc576000828281518110612109576121096125cf565b602002602001015190506121356004826affffffffffffffffffffff1916611e9290919063ffffffff16565b156121b3576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612180908b908b908b908b90600401612994565b600060405180830381600087803b15801561219a57600080fd5b505af11580156121ae573d6000803e3d6000fd5b505050505b506001016120ec565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516121f193929190612957565b60405180910390a261220c828565ffffffffffff16856123b8565b60005b815181101561022257600082828151811061222c5761222c6125cf565b602002602001015190506122586008826affffffffffffffffffffff1916611e9290919063ffffffff16565b156122d6576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906122a3908b908b908b908b90600401612994565b600060405180830381600087803b1580156122bd57600080fd5b505af11580156122d1573d6000803e3d6000fd5b505050505b5060010161220f565b60606102c86122ef858585611fc4565b6000612314856122ff89896123ce565b9060ff166028026038011c64ffffffffff1690565b6123e1565b6000818311806123295750835182115b15612366578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610c8a939291906129cd565b60208401612374848261267f565b90506000612382858561279c565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061180f8360156000612404565b611a43838383516123c98560200190565b611eb0565b600061180f6123dd8484611f6e565b5490565b60405160208101601f19603f84840101166040528282526113098585858461247f565b606060006124128560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124385761243861286f565b04905060405193506020840160208202810160405281855260005b82811015612473578451871c825293870193602090910190600101612453565b50505050509392505050565b821561250657602083106124a9576020830484019350602083816124a5576124a561286f565b0692505b82156125065760208390036000818410156124cc5750600019600884021c6124d6565b50600019600882021c5b8554600886021b8184511682198216178452508184116124f7575050611f68565b50600194909401939182900391015b5b602082106125285783548152600190930192601f1990910190602001612507565b8115611f68576000600019600884021c8251865482191691161782525050505050565b6122a4806129f383390190565b6000806040838503121561256b57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461258f57600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146125c457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015612616578151875295820195908201906001016125fa565b509495945050505050565b84815260806020820152600061263a60808301866125e5565b60ff949094166040830152506060015292915050565b60006020828403121561266257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561030257610302612669565b634e487b7160e01b600052602160045260246000fd5b60005b838110156126c35781810151838201526020016126ab565b50506000910152565b600081518084526126e48160208601602086016126a8565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561274557601f198684030189526127338383516126cc565b98840198925090830190600101612717565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061277d60c08301856126f8565b82810360a084015261278f81856126f8565b9998505050505050505050565b8181038181111561030257610302612669565b808202811582820484141761030257610302612669565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610c5760608301846126cc565b8281526040602082015260006102c860408301846126cc565b60208152600061180f60208301846126f8565b8281526000602080830184516020860160005b8281101561286257815184529284019290840190600101612846565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600083516128978184602088016126a8565b8351908301906128ab8183602088016126a8565b01949350505050565b6080815260006128c760808301876125e5565b82810360208401526128d981876126cc565b905084604084015282810360608401526128f381856126cc565b979650505050505050565b86815260c06020820152600061291760c08301886125e5565b828103604084015261292981886126cc565b9050856060840152828103608084015261294381866126cc565b9150508260a0830152979650505050505050565b60608152600061296a60608301866125e5565b65ffffffffffff85166020840152828103604084015261298a81856126cc565b9695505050505050565b8481526080602082015260006129ad60808301866125e5565b65ffffffffffff8516604084015282810360608401526128f381856126cc565b6060815260006129e060608301866126cc565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1178:1735:129:-:0;;;;;578:4:53;534:49;;1261:36:129;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1213:85:129;;;1178:1735;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d31565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e0b565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e0b565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612eff565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612fd7565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612ff3565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612ff3565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612ff3565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612ff3565b8284610cfc565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610dc6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610de0565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e66565b905060006108b184602001518560400151610e83565b6040805160008152602081019091529091506108d08682868686610eaf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610de0565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612ff3565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401613043565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac919081019061305c565b806020019051810190610abf91906130a5565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612ff3565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb929190602481016130ce565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c6130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f64565b9050610ca88160f81c90565b949350505050565b610cf9817e14010014000000000000000000000000000000000000000000000000000000610cdc611021565b610ce4611099565b610cec6110d3565b610cf4611158565b6111cf565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d3257610d326130ed565b602002602001018181525050610db68482600085604051602001610d81919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611289565b50505050565b60006101f16112ff565b6000610dd983838051906020012061133e565b9392505050565b6000610dee60706010613119565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610dd9565b60608282604051602001610e9892919061312c565b604051602081830303815290604052905092915050565b6000610eb96112ff565b9050306001600160a01b03821603610edd57610ed886868686866113f8565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f2a9089908990899089908990600401613197565b600060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b50505050505050505050565b600080610f6f6112ff565b9050306001600160a01b03821603610f9557610f8d86868686611415565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610fe09089908990899089906004016131e8565b602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190613217565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061105b5761105b6130ed565b602002602001019060c581111561107457611074613230565b908160c581111561108757611087613230565b90525061109381611442565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061105b5761105b6130ed565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ea5790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161116f5790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061114a5761114a6130ed565b60006111d96112ff565b9050306001600160a01b038216036111fe576111f98787878787876115fd565b611280565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f499061124d908a908a908a908a908a908a906004016132a0565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b505050505b50505050505050565b60006112936112ff565b9050306001600160a01b038216036112b257610ed88686868686611a53565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f2a90899089908990899089906004016132ea565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611339573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611383576113836130ed565b60200260200101818152505082816001815181106113a3576113a36130ed565b602090810291909101015260006113e37f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f64565b90506113ef8160f81c90565b95945050505050565b61140e85858585856114098b611a68565b611aed565b5050505050565b60006113ef6114248686611e26565b60ff858116601b0360080285901c1661143d8587611e7c565b611eb5565b6000601c8251111561146c57815160405163d498615960e01b81526004016102bd91815260200190565b60008080805b85518110156115475760006114b0878381518110611492576114926130ed565b602002602001015160c58111156114ab576114ab613230565b611f06565b9050806000036114c5576001909201916114fd565b82156114fd576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f03030287838151811061151e5761151e6130ed565b602002602001015160c581111561153757611537613230565b901b949094179350600101611472565b50600581111561156d5760405163d498615960e01b8152600481018290526024016102bd565b8451819003600861158060026020613331565b61158a9190613344565b83901b9390931792600860016115a260026020613331565b6115ac9190613331565b6115b69190613344565b81901b939093179260086001806115cf60026020613331565b6115d99190613331565b6115e39190613331565b6115ed9190613344565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061167657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116d757613a3160f11b868760405160200161169591815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd93929160040161335b565b6116e085611f66565b6116eb8460016121ad565b6116f68360006121ad565b60e084901c60e885901c0160ff168251146117565760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117b65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461182e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61183785612349565b61184084612349565b146118925761184e85612349565b61185784612349565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61189b8561237b565b6118a48461237b565b146118f6576118b28561237b565b6118bb8461237b565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b61190286612349565b811015611998576119276119168583612398565b60c58111156114ab576114ab613230565b6008601b8390030287901c60ff1614611990576008601b8290030286901c60ff166119556119168684612398565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118f9565b506119a2866123b9565b156119fc5785866040516020016119bb91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613043565b611a488686868686604051602001611a14919061339c565b60405160208183030381529060405286604051602001611a34919061339c565b604051602081830303815290604052612432565b6108d0866001612509565b61140e8585611a628487611e7c565b856125af565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611ab757507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611ae47f746273746f72650000000000000000005461626c6573000000000000000000008461284a565b60206000611eb5565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b7957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b6c94939291906133af565b60405180910390a26108d0565b6000611b8487612866565b905060005b8151811015611c5d576000828281518110611ba657611ba66130ed565b60200260200101519050611bd26001826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611c54576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611c21908c908c908c908c908c908c906004016133f9565b600060405180830381600087803b158015611c3b57600080fd5b505af1158015611c4f573d6000803e3d6000fd5b505050505b50600101611b89565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c9494939291906133af565b60405180910390a26000611ca88888611e26565b90506000602087019050611cc082600089518461290d565b6000611ccb8561237b565b1115611d4f576000611cdd8a8a6129cc565b878155905060208601915060008060005b611cf78861237b565b8160ff161015611d4a57611d0c8d8d83612a22565b9250611d278a8260ff166028026038011c64ffffffffff1690565b9150611d36836000848861290d565b611d408286613119565b9450600101611cee565b505050505b60005b8351811015610f58576000848281518110611d6f57611d6f6130ed565b60200260200101519050611d9b6002826affffffffffffffffffffff19166128ef90919063ffffffff16565b15611e1d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611dea908e908e908e908e908e908e906004016133f9565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d52565b60008282604051602001611e3b929190613452565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611ead57611ea360ff601b83900360080287901c1683613119565b9150600101611e81565b509392505050565b600060208210611edb57602082048401935060208281611ed757611ed761348e565b0691505b508254600882021b602082900380841115611ead576001850154600882021c82179150509392505050565b6000808260c5811115611f1b57611f1b613230565b60ff1690506061811015611f3557601f1660010192915050565b60618360c5811115611f4957611f49613230565b03611f575750601492915050565b50600092915050565b50919050565b80611f9d576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611fa88261237b565b90506005811115611fef576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611ffa83612349565b905060006120088383613119565b9050601c81111561204f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120fa5760ff601b82900360080287901c1660008190036120a7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120e5576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120ef8184613119565b925050600101612053565b5061210485612aa2565b81146121505761211385612aa2565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c1680156121a4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101612152565b801580156121b9575081155b156121da5760405163d498615960e01b8152600060048201526024016102bd565b60006121e58361237b565b9050600581111561220c5760405163d498615960e01b8152600481018290526024016102bd565b600061221784612349565b905060006122258383613119565b9050601c81111561224c5760405163d498615960e01b8152600481018290526024016102bd565b6000805b838110156122b85760006122676119168984612398565b9050806000036122a3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad8184613119565b925050600101612250565b506122c286612aa2565b81146122ed576122d186612aa2565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156112805760006123066119168984612398565b90508015612340576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122ef565b60006008600161235b60026020613331565b6123659190613331565b61236f9190613344565b8260ff911c1692915050565b6000600860018061238e60026020613331565b61235b9190613331565b6000601b8290036008028360ff911c1660c5811115610dd957610dd9613230565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123f2576123f26130ed565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611415565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006124698484610e66565b905060006124778585610e83565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106124b1576124b16130ed565b6020908102919091010152610f587f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611aed565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061253f5761253f6130ed565b6020026020010181815250506125aa7f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161258d91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a53565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361263957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161262c939291906134a4565b60405180910390a2610db6565b60006126458585611e26565b9050600061265286612866565b905060005b8151811015612727576000828281518110612674576126746130ed565b602002602001015190506126a06004826affffffffffffffffffffff19166128ef90919063ffffffff16565b1561271e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906126eb908b908b908b908b906004016134e1565b600060405180830381600087803b15801561270557600080fd5b505af1158015612719573d6000803e3d6000fd5b505050505b50600101612657565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161275c939291906134a4565b60405180910390a2612777828565ffffffffffff1685612ac5565b60005b8151811015611280576000828281518110612797576127976130ed565b602002602001015190506127c36008826affffffffffffffffffffff19166128ef90919063ffffffff16565b15612841576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061280e908b908b908b908b906004016134e1565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b505050505b5060010161277a565b6040805160208101849052908101829052600090606001611e3b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128a0576128a06130ed565b602090810291909101015260006128d87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612adb565b9050610ca86128ea8260008451612b15565b612ba3565b60008160ff16826129008560581c90565b1660ff1614905092915050565b82156129875760208310612937576020830484019350602083816129335761293361348e565b0692505b82156129875760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612978575050610db6565b50600194909401939182900391015b5b602082106129a95780518455600190930192601f1990910190602001612988565b8115610db6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016129e1929190613452565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612a37929190613452565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612ab260026020613331565b612abc9190613344565b9190911c919050565b6125aa83838351612ad68560200190565b61290d565b6060610ca8612aeb858585612a22565b6000612b1085612afb8989612bb4565b9060ff166028026038011c64ffffffffff1690565b612bc7565b600081831180612b255750835182115b15612b62578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd9392919061351a565b60208401612b708482613119565b90506000612b7e8585613331565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610dd98360156000612bea565b6000610dd9612bc384846129cc565b5490565b60405160208101601f19603f8484010116604052828252611ead85858584612c65565b60606000612bf88560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c1e57612c1e61348e565b04905060405193506020840160208202810160405281855260005b82811015612c59578451871c825293870193602090910190600101612c39565b50505050509392505050565b8215612cec5760208310612c8f57602083048401935060208381612c8b57612c8b61348e565b0692505b8215612cec576020839003600081841015612cb25750600019600884021c612cbc565b50600019600882021c5b8554600886021b818451168219821617845250818411612cdd575050610db6565b50600194909401939182900391015b5b60208210612d0e5783548152600190930192601f1990910190602001612ced565b8115610db6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d4357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dac57612dac612d73565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddb57612ddb612d73565b604052919050565b600067ffffffffffffffff821115612dfd57612dfd612d73565b50601f01601f191660200190565b600060208284031215612e1d57600080fd5b813567ffffffffffffffff811115612e3457600080fd5b8201601f81018413612e4557600080fd5b8035612e58612e5382612de3565b612db2565b818152856020838501011115612e6d57600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ea6578181015183820152602001612e8e565b50506000910152565b6000612ebd612e5384612de3565b9050828152838383011115612ed157600080fd5b610dd9836020830184612e8b565b600082601f830112612ef057600080fd5b610dd983835160208501612eaf565b60008060408385031215612f1257600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f3557600080fd5b602084015190925067ffffffffffffffff80821115612f5357600080fd5b9084019060608287031215612f6757600080fd5b612f6f612d89565b825160ff81168114612f8057600080fd5b8152602083015182811115612f9457600080fd5b612fa088828601612edf565b602083015250604083015182811115612fb857600080fd5b612fc488828601612edf565b6040830152508093505050509250929050565b60008251612fe9818460208701612e8b565b9190910192915050565b80516020808301519190811015611f605760001960209190910360031b1b16919050565b6000815180845261302f816020860160208601612e8b565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184613017565b60006020828403121561306e57600080fd5b815167ffffffffffffffff81111561308557600080fd5b8201601f8101841361309657600080fd5b610ca884825160208401612eaf565b6000602082840312156130b757600080fd5b81516001600160a01b0381168114610dd957600080fd5b8381528260208201526060604082015260006113ef6060830184613017565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613103565b6000835161313e818460208801612e8b565b835190830190613152818360208801612e8b565b01949350505050565b60008151808452602080850194506020840160005b8381101561318c57815187529582019590820190600101613170565b509495945050505050565b85815260a0602082015260006131b060a083018761315b565b82810360408401526131c28187613017565b905084606084015282810360808401526131dc8185613017565b98975050505050505050565b848152608060208201526000613201608083018661315b565b60ff949094166040830152506060015292915050565b60006020828403121561322957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b8481101561329357601f19868403018952613281838351613017565b98840198925090830190600101613265565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006132cb60c0830185613246565b82810360a08401526132dd8185613246565b9998505050505050505050565b85815260a06020820152600061330360a083018761315b565b60ff86166040840152828103606084015261331e8186613017565b9150508260808301529695505050505050565b818103818111156101e1576101e1613103565b80820281158282048414176101e1576101e1613103565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113ef6060830184613017565b602081526000610dd96020830184613246565b6080815260006133c2608083018761315b565b82810360208401526133d48187613017565b905084604084015282810360608401526133ee8185613017565b979650505050505050565b86815260c06020820152600061341260c083018861315b565b82810360408401526134248188613017565b9050856060840152828103608084015261343e8186613017565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561348157815184529284019290840190600101613465565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134b7606083018661315b565b65ffffffffffff8516602084015282810360408401526134d78185613017565b9695505050505050565b8481526080602082015260006134fa608083018661315b565b65ffffffffffff8516604084015282810360608401526133ee8185613017565b60608152600061352d6060830186613017565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1178:1735:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;918:308:53;;;;;;;;1196:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1196:113:58;543:226:208;1303:1507:129;;;;;;:::i;:::-;;:::i;:::-;;1550:110:58;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;2632:25:208;;2620:2;2605:18;1550:110:58;2486:177:208;2814:97:129;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;918:308:53:-;1042:4;1067:40;;;1082:25;1067:40;;:104;;-1:-1:-1;1117:54:53;;;1132:39;1117:54;1067:104;:154;;;-1:-1:-1;1181:40:53;;;1196:25;1181:40;1067:154;1054:167;918:308;-1:-1:-1;;918:308:53:o;1196:113:58:-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1303:1507:129:-;1425:40;1445:6;1453:11;1425:19;:40::i;:::-;1492:17;1511:33;1559:11;1548:53;;;;;;;;;;;;:::i;:::-;1491:110;;-1:-1:-1;1491:110:129;-1:-1:-1;1674:29:129;-1:-1:-1;;1674:29:129;;;1670:96;;1720:39;;;;;-1:-1:-1;;4839:79:208;;1720:39:129;;;4821:98:208;4794:18;;1720:39:129;;;;;;;;1670:96;1816:16;1846:8;:6;:8::i;:::-;1816:39;;1862:12;1876:23;1903:19;-1:-1:-1;;;;;1903:32:129;2000:5;2007:9;1943:75;;;;;;;;-1:-1:-1;;;;;5142:55:208;;;;5124:74;;-1:-1:-1;;5234:79:208;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1943:75:129;;;;-1:-1:-1;;1943:75:129;;;;;;;;;;;;;;;;;;;;1903:121;;;1943:75;1903:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1861:163;;;;2035:7;2030:41;;2044:27;2060:10;2044:15;:27::i;:::-;2109:56;2127:27;2144:9;2127:16;:27::i;:::-;2156:8;2109:17;:56::i;:::-;2217:24;2244:25;2259:9;2244:14;:25::i;:::-;2217:52;;2275:14;2292:34;2305:5;2312:13;2292:12;:34::i;:::-;2275:51;-1:-1:-1;1531:18:59;1554:33;385:5:15;1554:33:59;;;;1523:65;-1:-1:-1;;;;;2466:23:129;;;1523:65:59;2503:12:129;:10;:12::i;:::-;2466:50;;;;;;;;;;;;;5822:25:208;;;;-1:-1:-1;;;;;5883:55:208;5863:18;;;5856:83;5795:18;;2466:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2575:46:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2575:21:129;:46::i;:::-;2570:167;;426:54:135;;443:18;426:54;;;7000:92:208;463:16:135;7108:11:208;;;7101:100;-1:-1:-1;;;;;2631:23:129;;;;;7217:12:208;;426:54:135;;;;;;;;;;;;418:63;;;:::i;:::-;2631:44:129;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2631:44:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2683:47:129;;-1:-1:-1;6460:12:208;;-1:-1:-1;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2683:22:129;:47::i;:::-;803:76:135;;;-1:-1:-1;;;803:76:135;;;6133:92:208;836:16:135;6241:11:208;;;6234:100;854:24:135;6350:12:208;;;6343:101;2742:63:129;;6460:12:208;803:76:135;;;;;;;;;;;;795:85;;;:::i;:::-;2785:11:129;2798:6;2742:17;:63::i;:::-;1353:1457;;;;;;;;1303:1507;:::o;2814:97::-;2874:32;;;;;;;;;;;;;;1876:98:58;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1924:194:53:-;2026:39;2038:13;2053:11;2026;:39::i;:::-;2022:92;;;2082:25;;;;;;;;;;;;;;2022:92;1924:194;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;1047:181:141;1106:10;1129:96;-1:-1:-1;;;1192:9:141;1209:13;1129:25;:96::i;14790:443:138:-;14872:24;14899:29;14912:6;:15;;;17875:26;;;10248:3:208;10244:16;;;;10262:66;10240:89;17875:26:138;;;10228:102:208;17875:26:138;;;;;;;;;10346:11:208;;;;17875:26:138;;;17787:119;14899:29;14872:56;;14935:29;14967:41;14981:6;:11;;;14994:6;:13;;;14967;:41::i;:::-;14935:73;;15014:25;15042:41;15056:6;:11;;;15069:6;:13;;;15042;:41::i;:::-;15119:16;;;15090:26;15119:16;;;;;;;;15014:69;;-1:-1:-1;15142:86:138;15164:8;15119:16;15185:11;15198:15;15014:69;15142:21;:86::i;:::-;14866:367;;;;14790:443;;:::o;1230:184:141:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;785:18:178;6350:12:208;;;6343:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6460:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;816:18:99;578:36:59;2820:46;;2819:74;603:67:178;;;620:15;603:67;;;6133:92:208;405:17:178;6241:11:208;;;6234:100;648:21:178;6350:12:208;;;6343:101;6460:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2972:315:26:-;3085:16;;;3099:1;3085:16;;;;;;;;;3037:11;;;;3085:16;;;;;;;;;;;;-1:-1:-1;3085:16:26;3056:45;;3140:10;3107:9;3117:1;3107:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3158:13;3174:64;1102:66;3211:9;3158:13;-1:-1:-1;;;3174:26:26;:64::i;:::-;3158:80;;3252:29;3273:5;3260:20;;7637:5;7551:97;3252:29;3244:38;2972:315;-1:-1:-1;;;;2972:315:26:o;2510:174:139:-;2564:115;2590:8;1174:66;2614:14;:12;:14::i;:::-;2630:16;:14;:16::i;:::-;2648:13;:11;:13::i;:::-;2663:15;:13;:15::i;:::-;2564:25;:115::i;:::-;2510:174;:::o;5238:301::-;5362:16;;;5376:1;5362:16;;;;;;;;;5333:26;;5362:16;;;;;;;;;;;-1:-1:-1;5362:16:139;5333:45;;5417:11;5384:9;5394:1;5384:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5436:98;5463:8;5473:9;5484:1;5505:12;5487:32;;;;;;;9664:2:208;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5487:32:139;;;;-1:-1:-1;;5487:32:139;;;;;;;;;1174:66;5436:26;:98::i;:::-;5327:212;5238:301;;;:::o;3799:97:58:-;3840:7;3862:29;:27;:29::i;1513:176:53:-;1606:4;1625:59;1646:13;1671:11;1661:22;;;;;;1625:20;:59::i;:::-;1618:66;1513:176;-1:-1:-1;;;1513:176:53:o;980:257:59:-;1067:10;1196:26;438:6;385:5:15;1196:26:59;:::i;:::-;1178:13;;;:45;;385:5:15;1142:31:59;;;;;1123:15;;;:51;:101;;-1:-1:-1;980:257:59;;;;;:::o;18097:334:138:-;18379:18;;18399:20;;18197:29;;2496:5:14;;;834:16;2527:39;;;;2509:58;2608:23;2593:39;;;;2575:58;18357:63:138;2355:344:14;18596:168:138;18684:12;18735:4;18750:6;18711:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18704:55;;18596:168;;;;:::o;6388:479:23:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:23;-1:-1:-1;;;;;6625:30:23;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:23;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;17702:457::-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:23;-1:-1:-1;;;;;17925:30:23;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:23;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1353:200:139:-;1447:19;;;1464:1;1447:19;;;;;;;;;1400:6;;;;1447:19;;;;;;;;;;;;-1:-1:-1;1447:19:139;1414:52;;1488:18;1472:10;1483:1;1472:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1520:28:139;1537:10;1520:16;:28::i;:::-;1513:35;;;1353:200;:::o;1670:208::-;1768:19;;;1785:1;1768:19;;;;;;;;;1719:6;;;;1768:19;;;;;;;;;;;;-1:-1:-1;1768:19:139;1733:54;;1811:18;1793:12;1806:1;1793:15;;;;;;;;:::i;2012:142::-;2101:15;;;2114:1;2101:15;;;;;;;;;2058:24;;2101:15;;;;;;;;;;;;;;;;;;;;2090:26;;2122:27;;;;;;;;;;;;;;;;;:8;2131:1;2122:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2012:142;:::o;2294:151::-;2389:15;;;2402:1;2389:15;;;;;;;;;2342:26;;2389:15;;;;;;;;;;;;;;;;;;;;2376:28;;2410:30;;;;;;;;;;;;;;;;;:10;2421:1;2410:13;;;;;;;;:::i;5574:520:23:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:23;-1:-1:-1;;;;;5828:30:23;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:23;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:23;-1:-1:-1;;;;;10913:30:23;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;10909:232::-;11048:86;;;;;-1:-1:-1;;;;;11048:36:23;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;4048:382:72:-;4183:16;;;4197:1;4183:16;;;;;;;;4130;;;;4183;4197:1;4183:16;;;;;;;;;;-1:-1:-1;4183:16:72;4154:45;;4244:13;-1:-1:-1;;;;;4228:31:72;4220:40;;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4281:13;4266:9;4276:1;4266:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4301:13;4317:64;1213:66;4354:9;4301:13;-1:-1:-1;;;4317:26:72;:64::i;:::-;4301:80;;4395:29;4416:5;4403:20;;7637:5:26;7551:97;4395:29:72;4387:38;4048:382;-1:-1:-1;;;;;4048:382:72:o;13787:285:19:-;13973:94;13983:7;13992:8;14002:10;14014:14;14030:11;14043:23;14058:7;14043:14;:23::i;:::-;13973:9;:94::i;:::-;13787:285;;;;;:::o;37827:541::-;37984:7;38121:242;38165:59;38206:7;38215:8;38165:40;:59::i;:::-;38242:31;;;;4432:19:3;:27;537:1:29;4431:44:3;4397:79;;;4384:93;38291:63:19;38330:11;38343:10;38291:38;:63::i;:::-;38121:17;:242::i;1233:2050:16:-;1301:6;647:2:29;1319:7:16;:14;:33;1315:82;;;1382:7;:14;1361:36;;-1:-1:-1;;;1361:36:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1315:82:16;1403:14;;;;1604:953;1628:7;:14;1624:1;:18;1604:953;;;1654:24;1681:32;:7;1689:1;1681:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1654:59;;1726:16;1746:1;1726:21;1722:401;;1911:15;;;;;1722:401;;;1955:17;;1951:172;;2079:35;;;;;;;;;;;;;;1951:172;2249:16;2234:31;;;;537:1:29;2511::16;2507;437:2:29;2489:19:16;:23;2488:40;2472:7;2480:1;2472:10;;;;;;;;:::i;:::-;;;;;;;2464:19;;;;;;;;:::i;:::-;:65;;2454:75;;;;;-1:-1:-1;2539:3:16;;1604:953;;;;902:1:29;2601:13:16;:34;2597:82;;;2644:35;;-1:-1:-1;;;2644:35:16;;;;;2632:25:208;;;2605:18;;2644:35:16;2486:177:208;2597:82:16;2779:14;;:30;;;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3067:41:16;;;3057:51;;;;;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3124:47:16;;;3114:57;;;;;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3187:49:16;;;;3177:59;;;;;1233:2050;-1:-1:-1;;;;1233:2050:16:o;8869:2432:19:-;-1:-1:-1;;;9129:7:19;:35;;;;;;:83;;-1:-1:-1;9189:23:19;9168:7;:44;;;;9129:83;9125:196;;;-1:-1:-1;;;9271:7:19;9304;9287:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;9287:25:19;;;;-1:-1:-1;;9287:25:19;;;;;;;;;;9229:85;;;;;;;;;;:::i;9125:196::-;9367:22;:11;:20;:22::i;:::-;9430:40;:9;9463:4;9430:18;:40::i;:::-;9476:43;:11;9511:5;9476:20;:43::i;:::-;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;9607:8:19;:15;:40;9603:135;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;9715:15:19;;9664:67;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;9664:67:19;16309:248:208;9603:135:19;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;9788:10:19;:17;:44;9784:145;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;9904:17:19;;9849:73;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;9849:73:19;16309:248:208;9784:145:19;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;9986:50:19;9982:158;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;1576:38:29;5142:60:16;;;1408:34:29;5065:59:16;;;5059:144;5044:159;;10053:80:19;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10053:80:19;16309:248:208;9982:158:19;10182:29;:11;:27;:29::i;:::-;10149;:11;:27;:29::i;:::-;:62;10145:188;;10265:29;:11;:27;:29::i;:::-;10296;:11;:27;:29::i;:::-;10228:98;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10228:98:19;16309:248:208;10145:188:19;10376:30;:11;:28;:30::i;:::-;10342;:11;:28;:30::i;:::-;:64;10338:193;;10461:30;:11;:28;:30::i;:::-;10493;:11;:28;:30::i;:::-;10423:101;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10423:101:19;16309:248:208;10338:193:19;10628:9;10623:271;10643:29;:11;:27;:29::i;:::-;10639:1;:33;10623:271;;;10717:44;:22;:11;10737:1;10717:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;537:1:29;4432:19:3;:27;;;4431:44;4397:79;;;4384:93;;10691:70:19;10687:201;;537:1:29;4432:19:3;:27;;;4431:44;4397:79;;;4384:93;;10834:44:19;:22;:11;10854:1;10834:19;:22::i;:44::-;10780:99;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;16456:18;;10780:99:19;16309:248:208;10687:201:19;10674:3;;10623:271;;;;10956:31;10979:7;10956:22;:31::i;:::-;10952:127;;;11029:7;11062;11045:25;;;;;;15783:19:208;;15827:2;15818:12;;15623:213;11045:25:19;;;;-1:-1:-1;;11045:25:19;;;;;;;;;;11004:68;;;;;;;;;:::i;10952:127::-;11120:103;11132:7;11141:11;11154:9;11165:11;11189:8;11178:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11211:10;11200:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11120:11;:103::i;:::-;11259:37;11282:7;11291:4;11259:22;:37::i;24794:355::-;24966:178;25000:7;25025:8;25055:63;25094:11;25107:10;25055:38;:63::i;:::-;25133:4;24966:16;:178::i;6273:652::-;6340:11;6576:64;;;6572:111;;-1:-1:-1;1471:66:28;;6273:652:19;-1:-1:-1;6273:652:19:o;6572:111::-;6727:185;6773:85;1342:66:28;6849:7:19;6773:40;:85::i;:::-;6878:2;6900:1;6727:17;:185::i;14932:3138::-;15226:23;15205:7;:44;;;15201:198;;15319:7;15303:75;15328:8;15338:10;15350:14;15366:11;15303:75;;;;;;;;;:::i;:::-;;;;;;;;15386:7;;15201:198;15537:22;15562:24;15578:7;15562:15;:24::i;:::-;15537:49;;15597:9;15592:340;15612:5;:12;15608:1;:16;15592:340;;;15639:9;15661:5;15667:1;15661:8;;;;;;;;:::i;:::-;;;;;;;15639:31;;15682:33;343:6:32;15682:4:19;:14;;;;;:33;;;;:::i;:::-;15678:248;;;15727:190;;;;;3404:35:4;;;;;15727:47:19;;:190;;15786:7;;15805:8;;15825:10;;15847:14;;15873:11;;15896;;15727:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15678:248;-1:-1:-1;15626:3:19;;15592:340;;;;15996:7;15980:75;16005:8;16015:10;16027:14;16043:11;15980:75;;;;;;;;;:::i;:::-;;;;;;;;16119:26;16148:59;16189:7;16198:8;16148:40;:59::i;:::-;16119:88;-1:-1:-1;16213:21:19;828:4:13;818:15;;16213:54:19;;16273:149;16311:18;16345:1;16362:10;:17;16402:13;16273;:149::i;:::-;16522:1;16489:30;:11;:28;:30::i;:::-;:34;16485:1174;;;16608:33;16644:66;16692:7;16701:8;16644:47;:66::i;:::-;629:28:18;;;16608:102:19;-1:-1:-1;828:4:13;818:15;;16884:47:19;;17040:27;17075:25;17113:7;17108:545;17126:30;:11;:28;:30::i;:::-;17122:1;:34;;;17108:545;;;17192:63;17234:7;17243:8;17253:1;17192:41;:63::i;:::-;17170:85;-1:-1:-1;17285:25:19;:14;17308:1;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;17285:25:19;17265:45;;17320:170;17362:19;17401:1;17422:17;17466:13;17320;:170::i;:::-;17500:34;17517:17;17500:34;;:::i;:::-;;-1:-1:-1;17631:3:19;;17108:545;;;;16525:1134;;;16485:1174;17733:9;17728:338;17748:5;:12;17744:1;:16;17728:338;;;17775:9;17797:5;17803:1;17797:8;;;;;;;;:::i;:::-;;;;;;;17775:31;;17818:32;437:6:32;17818:4:19;:14;;;;;:32;;;;:::i;:::-;17814:246;;;17862:189;;;;;3404:35:4;;;;;17862:46:19;;:189;;17920:7;;17939:8;;17959:10;;17981:14;;18007:11;;18030;;17862:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17814:246;-1:-1:-1;17762:3:19;;17728:338;;52325:191;52427:7;52491;52500:8;52474:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52474:35:19;;;;;;;;;52464:46;;52474:35;52464:46;;;;43924:22;52457:53;;52325:191;-1:-1:-1;;;52325:191:19:o;53342:242::-;53438:7;;;53477:84;53497:10;53493:14;;:1;:14;53477:84;;;53522:32;4384:93:3;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;53522:32:19;;:::i;:::-;;-1:-1:-1;53509:3:19;;53477:84;;;-1:-1:-1;53573:6:19;53342:242;-1:-1:-1;;;53342:242:19:o;8879:812:18:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:18;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;6727:1532:3:-;6410:45;6790:68;;6832:19;;;;;;;;;;;;;;6790:68;6864:25;6892:30;:11;:28;:30::i;:::-;6864:58;;902:1:29;6932:17:3;:38;6928:137;;;6987:71;;;;;;;;16483:25:208;;;902:1:29;16524:18:208;;;16517:34;16456:18;;6987:71:3;16309:248:208;6928:137:3;7071:24;7098:29;:11;:27;:29::i;:::-;7071:56;-1:-1:-1;7133:23:3;7159:36;7178:17;7071:56;7159:36;:::i;:::-;7133:62;;647:2:29;7205:15:3;:34;7201:122;;;7256:60;;;;;;;;16483:25:208;;;647:2:29;16524:18:208;;;16517:34;16456:18;;7256:60:3;16309:248:208;7201:122:3;7365:25;7401:9;7396:391;7416:16;7412:1;:20;7396:391;;;4384:93;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;7444:24;7505:21;;;7501:196;;7545:33;;;;;;;;2632:25:208;;;2605:18;;7545:33:3;2486:177:208;7501:196:3;334:2:29;7597:16:3;:28;7593:104;;;7644:44;;;;;;;;2632:25:208;;;2605:18;;7644:44:3;2486:177:208;7593:104:3;7704:37;7725:16;7704:37;;:::i;:::-;;-1:-1:-1;;7769:3:3;;7396:391;;;;7854:30;:11;:28;:30::i;:::-;7833:17;:51;7829:165;;7937:30;:11;:28;:30::i;:::-;7901:86;;;;;;;;16483:25:208;;;;16524:18;;;16517:34;;;16456:18;;7901:86:3;16309:248:208;7829:165:3;8050:16;8033:222;647:2:29;8068:1:3;:20;8033:222;;;4384:93;4432:19;:27;;;537:1:29;4431:44:3;4397:79;;;4384:93;8164:21;;8160:89;;8204:36;;;;;;;;2632:25:208;;;2605:18;;8204:36:3;2486:177:208;8160:89:3;-1:-1:-1;8090:3:3;;8033:222;;5666:1551:16;5773:10;5772:11;:31;;;;-1:-1:-1;6410:45:3;;5787:16:16;5768:67;;;5812:23;;-1:-1:-1;;;5812:23:16;;5833:1;5812:23;;;2632:25:208;2605:18;;5812:23:16;2486:177:208;5768:67:16;5898:25;5926;:6;:23;:25::i;:::-;5898:53;;902:1:29;5961:17:16;:38;5957:90;;;6008:39;;-1:-1:-1;;;6008:39:16;;;;;2632:25:208;;;2605:18;;6008:39:16;2486:177:208;5957:90:16;6054:24;6081;:6;:22;:24::i;:::-;6054:51;-1:-1:-1;6175:23:16;6201:36;6220:17;6054:51;6201:36;:::i;:::-;6175:62;;647:2:29;6247:15:16;:34;6243:84;;;6290:37;;-1:-1:-1;;;6290:37:16;;;;;2632:25:208;;;2605:18;;6290:37:16;2486:177:208;6243:84:16;6388:25;6424:9;6419:300;6439:16;6435:1;:20;6419:300;;;6467:24;6494:39;:17;:6;6509:1;6494:14;:17::i;:39::-;6467:66;;6545:16;6565:1;6545:21;6541:88;;6585:35;;;;;;;;;;;;;;6541:88;6636:37;6657:16;6636:37;;:::i;:::-;;-1:-1:-1;;6701:3:16;;6419:300;;;;6787:25;:6;:23;:25::i;:::-;6766:17;:46;6762:121;;6850:25;:6;:23;:25::i;:::-;6829:47;;-1:-1:-1;;;6829:47:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;6762:121:16;6958:16;6941:272;6980:15;6976:1;:19;6941:272;;;7007:24;7034:39;:17;:6;7049:1;7034:14;:17::i;:39::-;7007:66;-1:-1:-1;7085:20:16;;7081:87;;7124:35;;;;;;;;;;;;;;7081:87;-1:-1:-1;7195:3:16;;6941:272;;5088:171:3;5161:7;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;5197:11:3;5176:78;5189:64;;5176:78;;5088:171;-1:-1:-1;;5088:171:3:o;5486:173::-;5560:7;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;3925:206:16:-;3995:10;4085:19;:27;;;4116:1;4084:33;4063:6;4038:82;4055:63;;4038:82;;;;;;;;;:::i;3328:314:26:-;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:26;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:26;:62::i;20396:676:28:-;24950:53;;;;;;21683:19:208;;;21718:12;;;21711:28;;;24923:12:28;21755::208;;;21748:28;;;24950:53:28;;;;;;;;;;21792:12:208;;;;24950:53:28;;;20687:29;20719:55;20733:18;20753:20;20719:13;:55::i;:::-;20687:87;;20780:25;20808:55;20822:18;20842:20;20808:13;:55::i;:::-;20899:16;;;20913:1;20899:16;;;;;;;;;20780:83;;-1:-1:-1;20870:26:28;;20899:16;;;;;;;;;;;;-1:-1:-1;20899:16:28;20870:45;;20954:7;20921:9;20931:1;20921:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20969:98;1342:66;20999:9;21010:11;21023:15;21040:12;1471:66;20969:19;:98::i;4692:268:26:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:26;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;19939:14:208;19932:22;19927:3;19923:32;19911:45;;19981:1;19972:11;;19788:201;4914:26:26;;;;-1:-1:-1;;4914:26:26;;;;;;;;;-1:-1:-1;;;4865:24:26;:90::i;:::-;4757:203;4692:268;;:::o;18706:1676:19:-;18906:23;18885:7;:44;;;18881:232;;19036:7;18992:100;19055:8;19072:5;19085:4;18992:100;;;;;;;;:::i;:::-;;;;;;;;19100:7;;18881:232;19119:16;19138:59;19179:7;19188:8;19138:40;:59::i;:::-;19119:78;;19343:22;19368:24;19384:7;19368:15;:24::i;:::-;19343:49;;19403:9;19398:328;19418:5;:12;19414:1;:16;19398:328;;;19445:9;19467:5;19473:1;19467:8;;;;;;;;:::i;:::-;;;;;;;19445:31;;19488:41;548:6:32;19488:4:19;:14;;;;;:41;;;;:::i;:::-;19484:236;;;19541:170;;;;;3404:35:4;;;;;19541:54:19;;:170;;19617:7;;19646:8;;19673:5;;19696:4;;19541:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19484:236;-1:-1:-1;19432:3:19;;19398:328;;;;19827:7;19783:100;19846:8;19863:5;19876:4;19783:100;;;;;;;;:::i;:::-;;;;;;;;19933:70;19965:8;19983:5;19933:70;;19996:4;19933:13;:70::i;:::-;20057:9;20052:326;20072:5;:12;20068:1;:16;20052:326;;;20099:9;20121:5;20127:1;20121:8;;;;;;;;:::i;:::-;;;;;;;20099:31;;20142:40;657:6:32;20142:4:19;:14;;;;;:40;;;;:::i;:::-;20138:234;;;20194:169;;;;;3404:35:4;;;;;20194:53:19;;:169;;20269:7;;20298:8;;20325:5;;20348:4;;20194:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20138:234;-1:-1:-1;20086:3:19;;20052:326;;52768:282;53013:30;;;;;;21318:19:208;;;21353:12;;;21346:28;;;52856:7:19;;21390:12:208;;53013:30:19;21130:278:208;4132:342:27;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:27;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;:::-;4318:70;;4402:66;:44;4423:5;4430:1;4433:5;:12;4402:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1423:2340:18:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:29;738:25:31;;716:48;2142:18:18;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:18;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;54890:230:19:-;55011:7;55095;55104:8;55078:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55078:35:19;;;;;;;;;55068:46;;55078:35;55068:46;;;;44087:40;55041:73;;54890:230;-1:-1:-1;;;54890:230:19:o;54261:274::-;54405:7;54510;54519:8;54493:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54483:46;;;;;;54462:17;54455:25;;54435:45;;;43996:34;54435:45;:94;54427:103;;54420:110;;54261:274;;;;;:::o;4707:171:3:-;4781:7;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4803:70:3;;;;;4707:171;-1:-1:-1;4707:171:3:o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;38836:522:19:-;38972:12;39096:257;39135:79;39177:7;39186:8;39196:17;39135:41;:79::i;:::-;39232:1;39251:93;39326:17;39251:66;39299:7;39308:8;39251:47;:66::i;:::-;:74;6799:16:14;;922;6799;834;6788:27;6748:68;6726:92;;;6611:218;39251:93:19;39096:12;:257::i;1952:561:17:-;2043:5;2138:3;2130:5;:11;:32;;;;2151:4;:11;2145:3;:17;2130:32;2126:80;;;2189:4;2195:5;2202:3;2171:35;;;;;;;;;;;;;:::i;2126:80::-;2272:4;2262:15;;2319:16;2330:5;2262:15;2319:16;:::i;:::-;;-1:-1:-1;2341:12:17;2356:11;2362:5;2356:3;:11;:::i;:::-;641:17;2491:15;2483:3;2472:14;;;;2471:36;;;;;;-1:-1:-1;;;;;1952:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;55458:301:19:-;55579:13;55671:82;55702:48;55732:7;55741:8;55702:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2867:3:17;2845:25;;2771:104;2789:21:36;2765:45;-1:-1:-1;641:17:17;3108:38;;2816:20:36;2978:11;3108:38:17;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;6010:2380:18:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:18;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;14:332:208:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:208;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:208;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:208:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:208;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:208:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:208;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:208:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:208;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:208;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:208;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:208;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:208:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:208;;10865:439;-1:-1:-1;;;;;10865:439:208:o;11309:791::-;11701:6;11690:9;11683:25;11744:3;11739:2;11728:9;11724:18;11717:31;11664:4;11771:57;11823:3;11812:9;11808:19;11800:6;11771:57;:::i;:::-;11876:9;11868:6;11864:22;11859:2;11848:9;11844:18;11837:50;11910:32;11935:6;11927;11910:32;:::i;:::-;11896:46;;11978:6;11973:2;11962:9;11958:18;11951:34;12034:9;12026:6;12022:22;12016:3;12005:9;12001:19;11994:51;12062:32;12087:6;12079;12062:32;:::i;:::-;12054:40;11309:791;-1:-1:-1;;;;;;;;11309:791:208:o;12105:545::-;12426:6;12415:9;12408:25;12469:3;12464:2;12453:9;12449:18;12442:31;12389:4;12490:57;12542:3;12531:9;12527:19;12519:6;12490:57;:::i;:::-;12595:4;12583:17;;;;12578:2;12563:18;;12556:45;-1:-1:-1;12632:2:208;12617:18;12610:34;12482:65;12105:545;-1:-1:-1;;12105:545:208:o;12655:184::-;12725:6;12778:2;12766:9;12757:7;12753:23;12749:32;12746:52;;;12794:1;12791;12784:12;12746:52;-1:-1:-1;12817:16:208;;12655:184;-1:-1:-1;12655:184:208:o;12844:::-;-1:-1:-1;;;12893:1:208;12886:88;12993:4;12990:1;12983:15;13017:4;13014:1;13007:15;13033:656;13085:3;13116;13148:5;13142:12;13175:6;13170:3;13163:19;13201:4;13230;13225:3;13221:14;13214:21;;13288:4;13278:6;13275:1;13271:14;13264:5;13260:26;13256:37;13327:4;13320:5;13316:16;13350:1;13360:303;13374:6;13371:1;13368:13;13360:303;;;-1:-1:-1;;13449:5:208;13443:4;13439:16;13435:89;13430:3;13423:102;13546:37;13578:4;13569:6;13563:13;13546:37;:::i;:::-;13641:12;;;;13538:45;-1:-1:-1;13606:15:208;;;;13396:1;13389:9;13360:303;;;-1:-1:-1;13679:4:208;;13033:656;-1:-1:-1;;;;;;;13033:656:208:o;13694:907::-;14219:6;14208:9;14201:25;14262:6;14257:2;14246:9;14242:18;14235:34;14305:6;14300:2;14289:9;14285:18;14278:34;14348:6;14343:2;14332:9;14328:18;14321:34;14392:3;14386;14375:9;14371:19;14364:32;14182:4;14419:56;14470:3;14459:9;14455:19;14447:6;14419:56;:::i;:::-;14524:9;14516:6;14512:22;14506:3;14495:9;14491:19;14484:51;14552:43;14588:6;14580;14552:43;:::i;:::-;14544:51;13694:907;-1:-1:-1;;;;;;;;;13694:907:208:o;14606:706::-;14973:6;14962:9;14955:25;15016:3;15011:2;15000:9;14996:18;14989:31;14936:4;15043:57;15095:3;15084:9;15080:19;15072:6;15043:57;:::i;:::-;15148:4;15140:6;15136:17;15131:2;15120:9;15116:18;15109:45;15202:9;15194:6;15190:22;15185:2;15174:9;15170:18;15163:50;15230:32;15255:6;15247;15230:32;:::i;:::-;15222:40;;;15299:6;15293:3;15282:9;15278:19;15271:35;14606:706;;;;;;;;:::o;15317:128::-;15384:9;;;15405:11;;;15402:37;;;15419:18;;:::i;15450:168::-;15523:9;;;15554;;15571:15;;;15565:22;;15551:37;15541:71;;15592:18;;:::i;15841:463::-;16087:66;16079:6;16075:79;16064:9;16057:98;16191:6;16186:2;16175:9;16171:18;16164:34;16234:2;16229;16218:9;16214:18;16207:30;16038:4;16254:44;16294:2;16283:9;16279:18;16271:6;16254:44;:::i;16888:280::-;17087:2;17076:9;17069:21;17050:4;17107:55;17158:2;17147:9;17143:18;17135:6;17107:55;:::i;17173:688::-;17506:3;17495:9;17488:22;17469:4;17533:57;17585:3;17574:9;17570:19;17562:6;17533:57;:::i;:::-;17638:9;17630:6;17626:22;17621:2;17610:9;17606:18;17599:50;17672:32;17697:6;17689;17672:32;:::i;:::-;17658:46;;17740:6;17735:2;17724:9;17720:18;17713:34;17795:9;17787:6;17783:22;17778:2;17767:9;17763:18;17756:50;17823:32;17848:6;17840;17823:32;:::i;:::-;17815:40;17173:688;-1:-1:-1;;;;;;;17173:688:208:o;17866:894::-;18317:6;18306:9;18299:25;18360:3;18355:2;18344:9;18340:18;18333:31;18280:4;18387:57;18439:3;18428:9;18424:19;18416:6;18387:57;:::i;:::-;18492:9;18484:6;18480:22;18475:2;18464:9;18460:18;18453:50;18526:32;18551:6;18543;18526:32;:::i;:::-;18512:46;;18594:6;18589:2;18578:9;18574:18;18567:34;18650:9;18642:6;18638:22;18632:3;18621:9;18617:19;18610:51;18678:32;18703:6;18695;18678:32;:::i;:::-;18670:40;;;18747:6;18741:3;18730:9;18726:19;18719:35;17866:894;;;;;;;;;:::o;18765:639::-;19015:6;19010:3;19003:19;18985:3;19041:2;19074;19069:3;19065:12;19106:6;19100:13;19171:2;19163:6;19159:15;19192:1;19202:175;19216:6;19213:1;19210:13;19202:175;;;19279:13;;19265:28;;19315:14;;;;19352:15;;;;19238:1;19231:9;19202:175;;;-1:-1:-1;19393:5:208;;18765:639;-1:-1:-1;;;;;;;18765:639:208:o;19409:184::-;-1:-1:-1;;;19458:1:208;19451:88;19558:4;19555:1;19548:15;19582:4;19579:1;19572:15;19994:511;20245:2;20234:9;20227:21;20208:4;20271:56;20323:2;20312:9;20308:18;20300:6;20271:56;:::i;:::-;20375:14;20367:6;20363:27;20358:2;20347:9;20343:18;20336:55;20439:9;20431:6;20427:22;20422:2;20411:9;20407:18;20400:50;20467:32;20492:6;20484;20467:32;:::i;:::-;20459:40;19994:511;-1:-1:-1;;;;;;19994:511:208:o;20510:615::-;20820:6;20809:9;20802:25;20863:3;20858:2;20847:9;20843:18;20836:31;20783:4;20890:57;20942:3;20931:9;20927:19;20919:6;20890:57;:::i;:::-;20995:14;20987:6;20983:27;20978:2;20967:9;20963:18;20956:55;21059:9;21051:6;21047:22;21042:2;21031:9;21027:18;21020:50;21087:32;21112:6;21104;21087:32;:::i;21815:359::-;22018:2;22007:9;22000:21;21981:4;22038:44;22078:2;22067:9;22063:18;22055:6;22038:44;:::i;:::-;22113:2;22098:18;;22091:34;;;;-1:-1:-1;22156:2:208;22141:18;22134:34;22030:52;21815:359;-1:-1:-1;21815:359:208:o","linkReferences":{},"immutableReferences":{"22537":[{"start":507,"length":32}],"91361":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"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\":\"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\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"Schema_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"events\":{\"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_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.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"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.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0\",\"dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63\",\"dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea\",\"dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b\",\"dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da\",\"dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855\",\"dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"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\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/errors.sol\":{\"keccak256\":\"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5\",\"dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6\",\"dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610\",\"dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"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/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x8c0cd52ec48ef5a88226a8692dc378fbba8dd6b2fd2364f4cac4fe3d2562730d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b6534b916a54766c144f9e46523e5b41137849f023ab702887a7a60a4f8d0f3\",\"dweb:/ipfs/QmNbunbzrthCqJwpFSaWoJ9b9GVoNNYTFYxc1Mski8SoJ7\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07\",\"dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac\",\"dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a\",\"dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787\",\"dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x895b4ab148c4e46949aa0063376d18083d5381784219699376ec3d69b14177a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c5b4231a141722fefcc269fa7755a13873ca7d2fc908c89311017fcc96f7e50\",\"dweb:/ipfs/QmfL873P2MUQTS4JrZMpn9ceGF7RHumbzGXX3e6h7sZj4w\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xb9c51ba0071329f2da8ccdbffff0442321a5424408e79f39ee4185e64947140a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1319f4f32be728d3691679534c802b1ee6644fb29bc4dd9bf2335dcf063cd2ae\",\"dweb:/ipfs/QmThv5NgsCMcMj4GAEXvTbgFUzarM8oCE5gNi5tQqBjTDS\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f\",\"dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf\",\"dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8\",\"dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","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":"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":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"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."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc20-puppet/ERC20Module.sol":"ERC20Module"},"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xddb7fe629b2fef153ef807b6edf87b9249bd2bea6d9ff8f871626880ad5f2838","urls":["bzz-raw://6689819089408ec1ea8269dc859fb45ac384b47683802dea5672521ce1b13ef0","dweb:/ipfs/QmVKg2veSMyWEsz6YoYiPDSt1QehGo3C38q2TWhmoo3xod"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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/IStore.sol":{"keccak256":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x352acfb660943a6c626adf262444385c93b034ffe2e6cd5aec6b78af1eacf45f","urls":["bzz-raw://0755c5269ce33e1eb3200a16954fc6d47cc2d0adb1adc0a79d152712aa21ec63","dweb:/ipfs/QmaFXnr7xMW6dZegbXKMnwTFVTHd8NYWcC9ZMoSRMLaJgc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6c8c2afc2102aae3577057f5c5077f6606b553ab698f34484fc5958a7994e59e","urls":["bzz-raw://4afabc0d9e58c25f600ea36bb7c6f5f3393496880fdfd810df4f914d2fbe1bea","dweb:/ipfs/QmYJpEEf4DDQiUWy4gj4Pa8jypxYRKNdiUSEvev2gVZBBj"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x8c901269f30610e060a238c7a0c488b58cf9a7dc983bf87d49555e16976b49df","urls":["bzz-raw://ce8cff1b275fc5f2b54455102671c45936d88d5795f9853832808504c708324b","dweb:/ipfs/QmY9oHiTEyUMdXBu5kjV6SH5YYo2jkkoG9XHuG22bX1ew5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x225f9a9debf14152e3adecdca848f01fbfdc42c093f97c0f80ae0a43cdcf468e","urls":["bzz-raw://8e15dc3efa43440a9e4be75a439bc8140580fa3008789647450744ee837c11da","dweb:/ipfs/QmYrTN2it1r9dUrFR1pSM33cbhtbWjE41gswG9QWZ9TqHA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x4ffff18377ca8c94ec29ba504ed4f107943c4fe0a963de006375774c2de57cc7","urls":["bzz-raw://279fe91c8f7fecb582aba253f7b6c59df11b4675721015557161f3d7f1af3855","dweb:/ipfs/QmVQnrxjgPGswYNkQ6bMMuv9TTjBp83u2UZPtpzeBDtR41"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"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":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/errors.sol":{"keccak256":"0x10d1f9fc51a33e2f586fbb1963f4073ffe0a020909fdda06162ef1cf4e931c30","urls":["bzz-raw://a4ec8f24fbe99ed3520446db632571859033870be31537a8b0b5bfb88b5fc1c5","dweb:/ipfs/QmUNDSUU757c24cwVKLpB7nWtTqcNZXPyNcbiiVShpW2Gh"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3","urls":["bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6","dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x8f9f072762de332fbe4e03621eb984958efc21ae8444ed0dd3cf0ef0ec3770b8","urls":["bzz-raw://efe99411a9129b2da6763ad8e2ecb44c08f48deefaa9fff2d9d25358453bf610","dweb:/ipfs/QmdRaxsT2UQfnCwETAVZBV58AkQUopt4gpQBiZAYZhFdE4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"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/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x8c0cd52ec48ef5a88226a8692dc378fbba8dd6b2fd2364f4cac4fe3d2562730d","urls":["bzz-raw://1b6534b916a54766c144f9e46523e5b41137849f023ab702887a7a60a4f8d0f3","dweb:/ipfs/QmNbunbzrthCqJwpFSaWoJ9b9GVoNNYTFYxc1Mski8SoJ7"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0xfab62a78a24dbc9e1b322775c077406dd72136680d34af03783c276ef6cf8d81","urls":["bzz-raw://4f9e23c4c4a5cf8230d241a2e3f990af3a55cfeb1635550a74040d5f43b88a07","dweb:/ipfs/QmQmiJ6KsUBHyRrn8Ux5oJUmCmzyS7Et1zSo5qdZwSC22y"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0x486a443f96c0fc45db781aa199aa285e530774dcdcd59084b21a41cb7eccc462","urls":["bzz-raw://ff8a5d10346b05f8a435946ffd99e8981e78bbfd02ba9fd111bda5400b95a9ac","dweb:/ipfs/QmTFLaR71LD813eEAuxAPpaJLKp1d1Zhepy8tATMonBecm"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0xe73a3444b3f6b39f05c44f28f565c8c4d82dd47407409b98dd31b254858d4910","urls":["bzz-raw://4228a9ab63399a4a6d79e8929f0c200e148d759e726e6c4b2f0d2a0e8d0f066a","dweb:/ipfs/QmPUbf52kBXrgagk3fPeAFTvzzmEugxJcQKXaJsizJvmKW"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0xc76f069a931ff7bdbb366bc278dce2687c3b9d9e3a52ef8b343224b8ea7abcb9","urls":["bzz-raw://3a843a14f80300a23cbf23b1a8ed709a2292e81c84a153173f9f25e234331787","dweb:/ipfs/QmWCTwwtvHuWvrEWizNLDRtRFFkaYfuZe3NWmdgUhJqSg5"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x895b4ab148c4e46949aa0063376d18083d5381784219699376ec3d69b14177a8","urls":["bzz-raw://2c5b4231a141722fefcc269fa7755a13873ca7d2fc908c89311017fcc96f7e50","dweb:/ipfs/QmfL873P2MUQTS4JrZMpn9ceGF7RHumbzGXX3e6h7sZj4w"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xb9c51ba0071329f2da8ccdbffff0442321a5424408e79f39ee4185e64947140a","urls":["bzz-raw://1319f4f32be728d3691679534c802b1ee6644fb29bc4dd9bf2335dcf063cd2ae","dweb:/ipfs/QmThv5NgsCMcMj4GAEXvTbgFUzarM8oCE5gNi5tQqBjTDS"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe25a174217afd9b3c76ae2ebea731e1665842ac2468676be364ea8ab8927e900","urls":["bzz-raw://d5e99b330162a02388ff2c8e128fc0a0a3fcef8dfe6a2272e5b0b06985c0c40f","dweb:/ipfs/QmYsNjTK9q9jMhKkmukoD5CPDTACfucCnaxpD2YhC1HMFX"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0xbcac8a2e257dbf5ecda31a810ec06ec1ba3cb58bd86e3e8ca11b4b30e9874d5b","urls":["bzz-raw://7a239b60f437c86bba500a7e8688526709825efcbf58e237bd00ebbf256a82bf","dweb:/ipfs/QmSroeSCdk69AAPn1ZBYTjnrk6pQX4iErmPx5SS5C2NNbz"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2","urls":["bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8","dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS"],"license":"MIT"}},"version":1},"id":129}