@etherisc/gif-next 0.0.2-ce8407f-016 → 0.0.2-d243ae6-520

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) hide show
  1. package/README.md +104 -1
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +314 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +610 -0
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +26 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +249 -0
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +157 -0
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +774 -0
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
  17. package/artifacts/contracts/components/Product.sol/Product.json +754 -0
  18. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
  19. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
  20. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
  21. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
  22. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
  23. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
  24. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  39. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  40. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  41. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +1 -1
  42. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +13 -0
  43. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +1 -1
  44. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +15 -2
  45. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +1 -1
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +342 -1
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +489 -493
  52. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +45 -32
  54. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  55. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +438 -33
  56. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +654 -16
  58. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  59. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +432 -0
  60. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +481 -0
  62. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +113 -0
  64. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  65. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -77
  66. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  67. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  68. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +10 -244
  69. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  76. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
  78. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +827 -0
  79. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
  80. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +466 -0
  81. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  82. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +446 -0
  83. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
  84. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +561 -0
  85. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
  86. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +751 -0
  87. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  88. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +47 -2
  89. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  90. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +41 -161
  91. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  92. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +134 -7
  93. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  94. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  95. package/artifacts/contracts/registry/Registry.sol/Registry.json +62 -190
  96. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  97. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +287 -39
  98. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +61 -33
  100. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  101. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  102. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  103. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  104. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  105. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  106. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +1 -1
  107. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  108. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  109. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  110. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  111. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
  112. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  113. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +6 -6
  114. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
  115. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +442 -0
  116. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  117. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +2 -2
  118. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  119. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  120. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  121. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  122. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  123. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  124. package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
  125. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  126. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +6 -6
  127. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  128. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +111 -5
  129. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  130. package/artifacts/contracts/test/TestService.sol/TestService.json +17 -17
  131. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  132. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  133. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  134. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  135. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +2 -2
  136. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  137. package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
  138. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  139. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  140. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  141. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  142. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  143. package/artifacts/contracts/types/Fee.sol/FeeLib.json +4 -4
  144. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  145. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  146. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  147. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  148. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  149. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  150. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  151. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  152. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  153. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  154. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  155. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
  156. package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
  157. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
  158. package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
  159. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  160. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  161. package/contracts/components/BaseComponent.sol +86 -0
  162. package/contracts/components/Distribution.sol +166 -0
  163. package/contracts/components/IBaseComponent.sol +7 -2
  164. package/contracts/components/IDistributionComponent.sol +43 -0
  165. package/contracts/components/IPoolComponent.sol +62 -0
  166. package/contracts/components/IProductComponent.sol +35 -0
  167. package/contracts/components/Pool.sol +259 -0
  168. package/contracts/components/Product.sol +297 -0
  169. package/contracts/experiment/cloning/Cloner.sol +47 -0
  170. package/contracts/instance/AccessManagedSimple.sol +12 -4
  171. package/contracts/instance/AccessManagerSimple.sol +12 -2
  172. package/contracts/instance/IAccessManagerSimple.sol +1 -1
  173. package/contracts/instance/IInstance.sol +23 -1
  174. package/contracts/instance/IInstanceService.sol +30 -0
  175. package/contracts/instance/Instance.sol +59 -9
  176. package/contracts/instance/InstanceAccessManager.sol +2 -2
  177. package/contracts/instance/InstanceReader.sol +63 -8
  178. package/contracts/instance/InstanceService.sol +111 -18
  179. package/contracts/instance/InstanceServiceManager.sol +56 -0
  180. package/contracts/instance/base/ComponentServiceBase.sol +49 -0
  181. package/contracts/instance/base/IInstanceBase.sol +23 -0
  182. package/contracts/instance/base/IKeyValueStore.sol +5 -4
  183. package/contracts/instance/base/KeyValueStore.sol +4 -20
  184. package/contracts/instance/module/IAccess.sol +2 -2
  185. package/contracts/instance/module/ISetup.sol +3 -1
  186. package/contracts/instance/module/ITreasury.sol +1 -1
  187. package/contracts/instance/service/ComponentOwnerService.sol +317 -0
  188. package/contracts/instance/service/IComponentOwnerService.sol +20 -0
  189. package/contracts/instance/service/IDistributionService.sol +12 -0
  190. package/contracts/instance/service/IPoolService.sol +37 -0
  191. package/contracts/instance/service/IProductService.sol +107 -0
  192. package/contracts/registry/ChainNft.sol +40 -25
  193. package/contracts/registry/IRegistry.sol +5 -20
  194. package/contracts/registry/IRegistryService.sol +16 -10
  195. package/contracts/registry/Registry.sol +87 -155
  196. package/contracts/registry/RegistryService.sol +182 -107
  197. package/contracts/registry/RegistryServiceManager.sol +23 -2
  198. package/contracts/shared/ERC165.sol +1 -1
  199. package/contracts/shared/IRegisterable.sol +1 -1
  200. package/contracts/{instance/base → shared}/IService.sol +3 -3
  201. package/contracts/shared/ProxyManager.sol +3 -3
  202. package/contracts/shared/Registerable.sol +2 -2
  203. package/contracts/shared/RegisterableUpgradable.sol +16 -0
  204. package/contracts/shared/Service.sol +54 -0
  205. package/contracts/shared/TokenHandler.sol +2 -2
  206. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  207. package/contracts/shared/Versionable.sol +1 -1
  208. package/contracts/test/TestFee.sol +2 -2
  209. package/contracts/test/TestRoleId.sol +6 -6
  210. package/contracts/test/TestService.sol +3 -5
  211. package/contracts/types/Fee.sol +3 -3
  212. package/contracts/types/RoleId.sol +11 -4
  213. package/contracts/types/UFixed.sol +128 -12
  214. package/package.json +4 -3
  215. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  216. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  217. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  218. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  219. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  220. package/contracts/instance/base/ServiceBase.sol +0 -44
  221. package/contracts/registry/IChainNft.sol +0 -22
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Cloner",
4
+ "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "ERC1167FailedCreateClone",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "master",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "name": "createClone",
25
+ "outputs": [
26
+ {
27
+ "internalType": "address",
28
+ "name": "cloned",
29
+ "type": "address"
30
+ }
31
+ ],
32
+ "stateMutability": "nonpayable",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [],
37
+ "name": "mock1",
38
+ "outputs": [
39
+ {
40
+ "internalType": "contract Mock1",
41
+ "name": "",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "stateMutability": "view",
46
+ "type": "function"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "mock2",
51
+ "outputs": [
52
+ {
53
+ "internalType": "contract Mock2",
54
+ "name": "",
55
+ "type": "address"
56
+ }
57
+ ],
58
+ "stateMutability": "view",
59
+ "type": "function"
60
+ }
61
+ ],
62
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161001d906100a8565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055604051610066906100b4565b604051809103906000f080158015610082573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03929092169190911790556100c0565b60948061025383390190565b60d0806102e783390190565b610184806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806305e2387f1461004657806357894c1b146100755780638c0a703014610088575b600080fd5b600154610059906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461011e565b61009b565b600054610059906001600160a01b031681565b60006100a6826100ac565b92915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610119576040516330be1a3d60e21b815260040160405180910390fd5b919050565b60006020828403121561013057600080fd5b81356001600160a01b038116811461014757600080fd5b939250505056fea264697066735822122071711c9285d7c7b532d7a797bcc9f3b63ee36749326d8f4991c26c7fd318708564736f6c634300081400336080604052348015600f57600080fd5b50607780601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033608060405234801561001057600080fd5b50602a60005560ac806100246000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
63
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806305e2387f1461004657806357894c1b146100755780638c0a703014610088575b600080fd5b600154610059906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461011e565b61009b565b600054610059906001600160a01b031681565b60006100a6826100ac565b92915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610119576040516330be1a3d60e21b815260040160405180910390fd5b919050565b60006020828403121561013057600080fd5b81356001600160a01b038116811461014757600080fd5b939250505056fea264697066735822122071711c9285d7c7b532d7a797bcc9f3b63ee36749326d8f4991c26c7fd318708564736f6c63430008140033",
64
+ "linkReferences": {},
65
+ "deployedLinkReferences": {}
66
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Mock1",
4
+ "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "getValue",
9
+ "outputs": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ }
19
+ ],
20
+ "bytecode": "0x6080604052348015600f57600080fd5b50607780601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033",
21
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033",
22
+ "linkReferences": {},
23
+ "deployedLinkReferences": {}
24
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Mock2",
4
+ "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "getValue",
14
+ "outputs": [
15
+ {
16
+ "internalType": "uint256",
17
+ "name": "",
18
+ "type": "uint256"
19
+ }
20
+ ],
21
+ "stateMutability": "view",
22
+ "type": "function"
23
+ },
24
+ {
25
+ "inputs": [
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "value",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "setValue",
33
+ "outputs": [],
34
+ "stateMutability": "nonpayable",
35
+ "type": "function"
36
+ }
37
+ ],
38
+ "bytecode": "0x608060405234801561001057600080fd5b50602a60005560ac806100246000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
39
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
40
+ "linkReferences": {},
41
+ "deployedLinkReferences": {}
42
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -67,6 +67,19 @@
67
67
  "stateMutability": "view",
68
68
  "type": "function"
69
69
  },
70
+ {
71
+ "inputs": [
72
+ {
73
+ "internalType": "address",
74
+ "name": "initialAuthority",
75
+ "type": "address"
76
+ }
77
+ ],
78
+ "name": "initialize",
79
+ "outputs": [],
80
+ "stateMutability": "nonpayable",
81
+ "type": "function"
82
+ },
70
83
  {
71
84
  "inputs": [],
72
85
  "name": "isConsumingScheduledOp",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -860,6 +860,19 @@
860
860
  "stateMutability": "view",
861
861
  "type": "function"
862
862
  },
863
+ {
864
+ "inputs": [
865
+ {
866
+ "internalType": "address",
867
+ "name": "initialAdmin",
868
+ "type": "address"
869
+ }
870
+ ],
871
+ "name": "initialize",
872
+ "outputs": [],
873
+ "stateMutability": "nonpayable",
874
+ "type": "function"
875
+ },
863
876
  {
864
877
  "inputs": [
865
878
  {
@@ -1112,8 +1125,8 @@
1112
1125
  "type": "function"
1113
1126
  }
1114
1127
  ],
1115
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162001a2238038062001a228339810160408190526200003491620001de565b6001600160a01b0381166200006457604051630409d6d160e11b8152600060048201526024015b60405180910390fd5b6200007360008281806200007b565b505062000210565b60006002600160401b03196001600160401b03861601620000bb5760405163061c6a4360e21b81526001600160401b03861660048201526024016200005b565b6001600160401b03851660009081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff161590811562000170575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600182528683206001600160a01b038d1684529091529490209251835494516001600160701b03166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b600060208284031215620001f157600080fd5b81516001600160a01b03811681146200020957600080fd5b9392505050565b61180280620002206000396000f3fe6080604052600436106101d85760003560e01c8063530dd45611610102578063b700961311610095578063d22b598911610064578063d22b598914610625578063d6bb62c614610640578063f801a69814610665578063fe0776f5146106a657600080fd5b8063b700961314610593578063b7d2b162146105cf578063cc1b6c81146105ef578063d1f856ee1461060557600080fd5b806394c7d7ee116100d157806394c7d7ee146104d2578063a166aa89146104f2578063a64d95ce14610545578063abd9bd2a1461056557600080fd5b8063530dd456146104405780636d5115bd1461047d57806375b238fc1461049d578063853551b8146104b257600080fd5b80633078f1141161017a5780634136a33c116101495780634136a33c146103d45780634665096d146103ef5780634c1da1e214610405578063529629521461042057600080fd5b80633078f1141461030d57806330cae187146103675780633adc277a146103875780633ca7c02a146103b957600080fd5b8063167bd395116101b6578063167bd3951461029657806318ff183c146102b65780631cff79cd146102d657806325c471a0146102ed57600080fd5b806308d6122d146101dd5780630b0a93ba146101ff57806312be872714610260575b600080fd5b3480156101e957600080fd5b506101fd6101f836600461124e565b6106c6565b005b34801561020b57600080fd5b5061024361021a3660046112e6565b6001600160401b0390811660009081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026c57600080fd5b5061028161027b3660046112e6565b50600090565b60405163ffffffff9091168152602001610257565b3480156102a257600080fd5b506101fd6102b1366004611301565b610721565b3480156102c257600080fd5b506101fd6102d136600461133f565b610737565b6102816102e43660046113ae565b60009392505050565b3480156102f957600080fd5b506101fd610308366004611416565b61079e565b34801561031957600080fd5b5061032d61032836600461145b565b6107b9565b604051610257949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561037357600080fd5b506101fd610382366004611477565b6107fa565b34801561039357600080fd5b506103a261027b3660046114aa565b60405165ffffffffffff9091168152602001610257565b3480156103c557600080fd5b506102436001600160401b0381565b3480156103e057600080fd5b5061028161027b3660046114aa565b3480156103fb57600080fd5b5062093a80610281565b34801561041157600080fd5b5061028161027b3660046114c3565b34801561042c57600080fd5b506101fd61043b366004611477565b61080c565b34801561044c57600080fd5b5061024361045b3660046112e6565b6001600160401b03908116600090815260016020819052604090912001541690565b34801561048957600080fd5b506102436104983660046114f8565b61081e565b3480156104a957600080fd5b50610243600081565b3480156104be57600080fd5b506101fd6104cd366004611524565b61085a565b3480156104de57600080fd5b506101fd6104ed3660046113ae565b505050565b3480156104fe57600080fd5b5061053561050d3660046114c3565b6001600160a01b0316600090815260208190526040902060010154600160701b900460ff1690565b6040519015158152602001610257565b34801561055157600080fd5b506101fd610560366004611542565b6108f6565b34801561057157600080fd5b5061058561058036600461156c565b6108fe565b604051908152602001610257565b34801561059f57600080fd5b506105b36105ae3660046115d0565b610937565b60408051921515835263ffffffff909116602083015201610257565b3480156105db57600080fd5b506101fd6105ea36600461145b565b6109b5565b3480156105fb57600080fd5b5062069780610281565b34801561061157600080fd5b506105b361062036600461145b565b6109c7565b34801561063157600080fd5b506101fd61056036600461160e565b34801561064c57600080fd5b5061028161065b36600461156c565b6000949350505050565b34801561067157600080fd5b5061068c61068036600461162c565b60008094509492505050565b6040805192835263ffffffff909116602083015201610257565b3480156106b257600080fd5b506101fd6106c136600461145b565b610a3d565b6106ce610a66565b60005b8281101561071a5761070a858585848181106106ef576106ef61169e565b905060200201602081019061070491906116b4565b84610ad1565b610713816116cf565b90506106d1565b5050505050565b610729610a66565b6107338282610b53565b5050565b61073f610a66565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b15801561078257600080fd5b505af1158015610796573d6000803e3d6000fd5b505050505050565b6107a6610a66565b6107b38383600084610bf9565b50505050565b6001600160401b03821660009081526001602090815260408083206001600160a01b038516845290915281205465ffffffffffff1690808092959194509250565b610802610a66565b6107338282610d61565b610814610a66565b6107338282610e05565b6001600160a01b0382166000908152602081815260408083206001600160e01b0319851684529091529020546001600160401b03165b92915050565b610862610a66565b6001600160401b038316158061088057506001600160401b03838116145b156108ae5760405163061c6a4360e21b81526001600160401b03841660048201526024015b60405180910390fd5b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516108e992919061171f565b60405180910390a2505050565b610733610a66565b600084848484604051602001610917949392919061173b565b604051602081830303815290604052805190602001209050949350505050565b6001600160a01b0382166000908152602081905260408120600101548190600160701b900460ff161561096f575060009050806109ad565b600061097b858561081e565b905060008061098a83896109c7565b915091508161099b576000806109a5565b63ffffffff811615815b945094505050505b935093915050565b6109bd610a66565b6104ed8282610eb7565b60008067fffffffffffffffe196001600160401b038516016109ef5750600190506000610a36565b6000806109fc86866107b9565b5050915091508165ffffffffffff16600014158015610a2b57504265ffffffffffff168265ffffffffffff1611155b93509150610a369050565b9250929050565b6001600160a01b03811633146109bd57604051635f159e6360e01b815260040160405180910390fd5b33600080610a75838236610fa4565b91509150816104ed578063ffffffff166000036104ed576000610a98813661101e565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506108a5565b6001600160a01b0383166000818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b306001600160a01b03831603610b8757604051630b40d17960e31b81526001600160a01b03831660048201526024016108a5565b6001600160a01b038216600081815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13890610bed90841515815260200190565b60405180910390a25050565b600067fffffffffffffffe196001600160401b03861601610c385760405163061c6a4360e21b81526001600160401b03861660048201526024016108a5565b6001600160401b03851660009081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115610cf3575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600182528683206001600160a01b038d1684529091529490209251835494516dffffffffffffffffffffffffffff166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b6001600160401b0382161580610d7f57506001600160401b03828116145b15610da85760405163061c6a4360e21b81526001600160401b03831660048201526024016108a5565b6001600160401b038281166000818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b6001600160401b0382161580610e2357506001600160401b03828116145b15610e4c5760405163061c6a4360e21b81526001600160401b03831660048201526024016108a5565b6001600160401b03828116600081815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b600067fffffffffffffffe196001600160401b03841601610ef65760405163061c6a4360e21b81526001600160401b03841660048201526024016108a5565b6001600160401b03831660009081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003610f3957506000610854565b6001600160401b03831660008181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b6000806004831015610fbb575060009050806109ad565b6000806000610fca878761101e565b92509250925082610fe457600080945094505050506109ad565b600080610ff1848b6109c7565b915091508161100b576000809650965050505050506109ad565b5060019960009950975050505050505050565b600080806004841015611039575060009150819050806111f4565b600061104586866111fb565b90506001600160e01b031981166310a6aa3760e31b148061107657506001600160e01b031981166330cae18760e01b145b8061109157506001600160e01b0319811663294b14a960e11b145b806110ac57506001600160e01b03198116635326cae760e11b145b806110c757506001600160e01b0319811663d22b598960e01b145b156110dd576001600080935093509350506111f4565b6001600160e01b0319811663063fc60f60e21b148061110c57506001600160e01b0319811663167bd39560e01b145b8061112757506001600160e01b031981166308d6122d60e01b145b1561115d57600061113c60246004888a611772565b81019061114991906114c3565b5060019450600093508392506111f4915050565b6001600160e01b0319811663012e238d60e51b148061118c57506001600160e01b03198116635be958b160e11b145b156111e75760006111a160246004888a611772565b8101906111ae91906112e6565b905060016111d8826001600160401b03908116600090815260016020819052604090912001541690565b600094509450945050506111f4565b6000806000935093509350505b9250925092565b600061120a6004828486611772565b6112139161179c565b9392505050565b6001600160a01b038116811461122f57600080fd5b50565b80356001600160401b038116811461124957600080fd5b919050565b6000806000806060858703121561126457600080fd5b843561126f8161121a565b935060208501356001600160401b038082111561128b57600080fd5b818701915087601f83011261129f57600080fd5b8135818111156112ae57600080fd5b8860208260051b85010111156112c357600080fd5b6020830195508094505050506112db60408601611232565b905092959194509250565b6000602082840312156112f857600080fd5b61121382611232565b6000806040838503121561131457600080fd5b823561131f8161121a565b91506020830135801515811461133457600080fd5b809150509250929050565b6000806040838503121561135257600080fd5b823561135d8161121a565b915060208301356113348161121a565b60008083601f84011261137f57600080fd5b5081356001600160401b0381111561139657600080fd5b602083019150836020828501011115610a3657600080fd5b6000806000604084860312156113c357600080fd5b83356113ce8161121a565b925060208401356001600160401b038111156113e957600080fd5b6113f58682870161136d565b9497909650939450505050565b803563ffffffff8116811461124957600080fd5b60008060006060848603121561142b57600080fd5b61143484611232565b925060208401356114448161121a565b915061145260408501611402565b90509250925092565b6000806040838503121561146e57600080fd5b61135d83611232565b6000806040838503121561148a57600080fd5b61149383611232565b91506114a160208401611232565b90509250929050565b6000602082840312156114bc57600080fd5b5035919050565b6000602082840312156114d557600080fd5b81356112138161121a565b80356001600160e01b03198116811461124957600080fd5b6000806040838503121561150b57600080fd5b82356115168161121a565b91506114a1602084016114e0565b60008060006040848603121561153957600080fd5b6113ce84611232565b6000806040838503121561155557600080fd5b61155e83611232565b91506114a160208401611402565b6000806000806060858703121561158257600080fd5b843561158d8161121a565b9350602085013561159d8161121a565b925060408501356001600160401b038111156115b857600080fd5b6115c48782880161136d565b95989497509550505050565b6000806000606084860312156115e557600080fd5b83356115f08161121a565b925060208401356116008161121a565b9150611452604085016114e0565b6000806040838503121561162157600080fd5b823561155e8161121a565b6000806000806060858703121561164257600080fd5b843561164d8161121a565b935060208501356001600160401b0381111561166857600080fd5b6116748782880161136d565b909450925050604085013565ffffffffffff8116811461169357600080fd5b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c657600080fd5b611213826114e0565b6000600182016116ef57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006117336020830184866116f6565b949350505050565b6001600160a01b0385811682528416602082015260606040820181905260009061176890830184866116f6565b9695505050505050565b6000808585111561178257600080fd5b8386111561178f57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156117c45780818660040360031b1b83161692505b50509291505056fea264697066735822122019d23bf36fe96fcb6f87197fb935f19706be16ecccb712d6d5f95013be0d8ae264736f6c63430008140033",
1116
- "deployedBytecode": "0x6080604052600436106101d85760003560e01c8063530dd45611610102578063b700961311610095578063d22b598911610064578063d22b598914610625578063d6bb62c614610640578063f801a69814610665578063fe0776f5146106a657600080fd5b8063b700961314610593578063b7d2b162146105cf578063cc1b6c81146105ef578063d1f856ee1461060557600080fd5b806394c7d7ee116100d157806394c7d7ee146104d2578063a166aa89146104f2578063a64d95ce14610545578063abd9bd2a1461056557600080fd5b8063530dd456146104405780636d5115bd1461047d57806375b238fc1461049d578063853551b8146104b257600080fd5b80633078f1141161017a5780634136a33c116101495780634136a33c146103d45780634665096d146103ef5780634c1da1e214610405578063529629521461042057600080fd5b80633078f1141461030d57806330cae187146103675780633adc277a146103875780633ca7c02a146103b957600080fd5b8063167bd395116101b6578063167bd3951461029657806318ff183c146102b65780631cff79cd146102d657806325c471a0146102ed57600080fd5b806308d6122d146101dd5780630b0a93ba146101ff57806312be872714610260575b600080fd5b3480156101e957600080fd5b506101fd6101f836600461124e565b6106c6565b005b34801561020b57600080fd5b5061024361021a3660046112e6565b6001600160401b0390811660009081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026c57600080fd5b5061028161027b3660046112e6565b50600090565b60405163ffffffff9091168152602001610257565b3480156102a257600080fd5b506101fd6102b1366004611301565b610721565b3480156102c257600080fd5b506101fd6102d136600461133f565b610737565b6102816102e43660046113ae565b60009392505050565b3480156102f957600080fd5b506101fd610308366004611416565b61079e565b34801561031957600080fd5b5061032d61032836600461145b565b6107b9565b604051610257949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561037357600080fd5b506101fd610382366004611477565b6107fa565b34801561039357600080fd5b506103a261027b3660046114aa565b60405165ffffffffffff9091168152602001610257565b3480156103c557600080fd5b506102436001600160401b0381565b3480156103e057600080fd5b5061028161027b3660046114aa565b3480156103fb57600080fd5b5062093a80610281565b34801561041157600080fd5b5061028161027b3660046114c3565b34801561042c57600080fd5b506101fd61043b366004611477565b61080c565b34801561044c57600080fd5b5061024361045b3660046112e6565b6001600160401b03908116600090815260016020819052604090912001541690565b34801561048957600080fd5b506102436104983660046114f8565b61081e565b3480156104a957600080fd5b50610243600081565b3480156104be57600080fd5b506101fd6104cd366004611524565b61085a565b3480156104de57600080fd5b506101fd6104ed3660046113ae565b505050565b3480156104fe57600080fd5b5061053561050d3660046114c3565b6001600160a01b0316600090815260208190526040902060010154600160701b900460ff1690565b6040519015158152602001610257565b34801561055157600080fd5b506101fd610560366004611542565b6108f6565b34801561057157600080fd5b5061058561058036600461156c565b6108fe565b604051908152602001610257565b34801561059f57600080fd5b506105b36105ae3660046115d0565b610937565b60408051921515835263ffffffff909116602083015201610257565b3480156105db57600080fd5b506101fd6105ea36600461145b565b6109b5565b3480156105fb57600080fd5b5062069780610281565b34801561061157600080fd5b506105b361062036600461145b565b6109c7565b34801561063157600080fd5b506101fd61056036600461160e565b34801561064c57600080fd5b5061028161065b36600461156c565b6000949350505050565b34801561067157600080fd5b5061068c61068036600461162c565b60008094509492505050565b6040805192835263ffffffff909116602083015201610257565b3480156106b257600080fd5b506101fd6106c136600461145b565b610a3d565b6106ce610a66565b60005b8281101561071a5761070a858585848181106106ef576106ef61169e565b905060200201602081019061070491906116b4565b84610ad1565b610713816116cf565b90506106d1565b5050505050565b610729610a66565b6107338282610b53565b5050565b61073f610a66565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b15801561078257600080fd5b505af1158015610796573d6000803e3d6000fd5b505050505050565b6107a6610a66565b6107b38383600084610bf9565b50505050565b6001600160401b03821660009081526001602090815260408083206001600160a01b038516845290915281205465ffffffffffff1690808092959194509250565b610802610a66565b6107338282610d61565b610814610a66565b6107338282610e05565b6001600160a01b0382166000908152602081815260408083206001600160e01b0319851684529091529020546001600160401b03165b92915050565b610862610a66565b6001600160401b038316158061088057506001600160401b03838116145b156108ae5760405163061c6a4360e21b81526001600160401b03841660048201526024015b60405180910390fd5b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516108e992919061171f565b60405180910390a2505050565b610733610a66565b600084848484604051602001610917949392919061173b565b604051602081830303815290604052805190602001209050949350505050565b6001600160a01b0382166000908152602081905260408120600101548190600160701b900460ff161561096f575060009050806109ad565b600061097b858561081e565b905060008061098a83896109c7565b915091508161099b576000806109a5565b63ffffffff811615815b945094505050505b935093915050565b6109bd610a66565b6104ed8282610eb7565b60008067fffffffffffffffe196001600160401b038516016109ef5750600190506000610a36565b6000806109fc86866107b9565b5050915091508165ffffffffffff16600014158015610a2b57504265ffffffffffff168265ffffffffffff1611155b93509150610a369050565b9250929050565b6001600160a01b03811633146109bd57604051635f159e6360e01b815260040160405180910390fd5b33600080610a75838236610fa4565b91509150816104ed578063ffffffff166000036104ed576000610a98813661101e565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506108a5565b6001600160a01b0383166000818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b306001600160a01b03831603610b8757604051630b40d17960e31b81526001600160a01b03831660048201526024016108a5565b6001600160a01b038216600081815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13890610bed90841515815260200190565b60405180910390a25050565b600067fffffffffffffffe196001600160401b03861601610c385760405163061c6a4360e21b81526001600160401b03861660048201526024016108a5565b6001600160401b03851660009081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115610cf3575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600182528683206001600160a01b038d1684529091529490209251835494516dffffffffffffffffffffffffffff166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b6001600160401b0382161580610d7f57506001600160401b03828116145b15610da85760405163061c6a4360e21b81526001600160401b03831660048201526024016108a5565b6001600160401b038281166000818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b6001600160401b0382161580610e2357506001600160401b03828116145b15610e4c5760405163061c6a4360e21b81526001600160401b03831660048201526024016108a5565b6001600160401b03828116600081815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b600067fffffffffffffffe196001600160401b03841601610ef65760405163061c6a4360e21b81526001600160401b03841660048201526024016108a5565b6001600160401b03831660009081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003610f3957506000610854565b6001600160401b03831660008181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b6000806004831015610fbb575060009050806109ad565b6000806000610fca878761101e565b92509250925082610fe457600080945094505050506109ad565b600080610ff1848b6109c7565b915091508161100b576000809650965050505050506109ad565b5060019960009950975050505050505050565b600080806004841015611039575060009150819050806111f4565b600061104586866111fb565b90506001600160e01b031981166310a6aa3760e31b148061107657506001600160e01b031981166330cae18760e01b145b8061109157506001600160e01b0319811663294b14a960e11b145b806110ac57506001600160e01b03198116635326cae760e11b145b806110c757506001600160e01b0319811663d22b598960e01b145b156110dd576001600080935093509350506111f4565b6001600160e01b0319811663063fc60f60e21b148061110c57506001600160e01b0319811663167bd39560e01b145b8061112757506001600160e01b031981166308d6122d60e01b145b1561115d57600061113c60246004888a611772565b81019061114991906114c3565b5060019450600093508392506111f4915050565b6001600160e01b0319811663012e238d60e51b148061118c57506001600160e01b03198116635be958b160e11b145b156111e75760006111a160246004888a611772565b8101906111ae91906112e6565b905060016111d8826001600160401b03908116600090815260016020819052604090912001541690565b600094509450945050506111f4565b6000806000935093509350505b9250925092565b600061120a6004828486611772565b6112139161179c565b9392505050565b6001600160a01b038116811461122f57600080fd5b50565b80356001600160401b038116811461124957600080fd5b919050565b6000806000806060858703121561126457600080fd5b843561126f8161121a565b935060208501356001600160401b038082111561128b57600080fd5b818701915087601f83011261129f57600080fd5b8135818111156112ae57600080fd5b8860208260051b85010111156112c357600080fd5b6020830195508094505050506112db60408601611232565b905092959194509250565b6000602082840312156112f857600080fd5b61121382611232565b6000806040838503121561131457600080fd5b823561131f8161121a565b91506020830135801515811461133457600080fd5b809150509250929050565b6000806040838503121561135257600080fd5b823561135d8161121a565b915060208301356113348161121a565b60008083601f84011261137f57600080fd5b5081356001600160401b0381111561139657600080fd5b602083019150836020828501011115610a3657600080fd5b6000806000604084860312156113c357600080fd5b83356113ce8161121a565b925060208401356001600160401b038111156113e957600080fd5b6113f58682870161136d565b9497909650939450505050565b803563ffffffff8116811461124957600080fd5b60008060006060848603121561142b57600080fd5b61143484611232565b925060208401356114448161121a565b915061145260408501611402565b90509250925092565b6000806040838503121561146e57600080fd5b61135d83611232565b6000806040838503121561148a57600080fd5b61149383611232565b91506114a160208401611232565b90509250929050565b6000602082840312156114bc57600080fd5b5035919050565b6000602082840312156114d557600080fd5b81356112138161121a565b80356001600160e01b03198116811461124957600080fd5b6000806040838503121561150b57600080fd5b82356115168161121a565b91506114a1602084016114e0565b60008060006040848603121561153957600080fd5b6113ce84611232565b6000806040838503121561155557600080fd5b61155e83611232565b91506114a160208401611402565b6000806000806060858703121561158257600080fd5b843561158d8161121a565b9350602085013561159d8161121a565b925060408501356001600160401b038111156115b857600080fd5b6115c48782880161136d565b95989497509550505050565b6000806000606084860312156115e557600080fd5b83356115f08161121a565b925060208401356116008161121a565b9150611452604085016114e0565b6000806040838503121561162157600080fd5b823561155e8161121a565b6000806000806060858703121561164257600080fd5b843561164d8161121a565b935060208501356001600160401b0381111561166857600080fd5b6116748782880161136d565b909450925050604085013565ffffffffffff8116811461169357600080fd5b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c657600080fd5b611213826114e0565b6000600182016116ef57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006117336020830184866116f6565b949350505050565b6001600160a01b0385811682528416602082015260606040820181905260009061176890830184866116f6565b9695505050505050565b6000808585111561178257600080fd5b8386111561178f57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156117c45780818660040360031b1b83161692505b50509291505056fea264697066735822122019d23bf36fe96fcb6f87197fb935f19706be16ecccb712d6d5f95013be0d8ae264736f6c63430008140033",
1128
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b6d38038062001b6d833981016040819052620000349162000259565b6200003f8162000046565b506200028b565b60005460ff1615620000aa5760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765723a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084015b60405180910390fd5b6001600160a01b038116620000d657604051630409d6d160e11b815260006004820152602401620000a1565b620000e56000828180620000f6565b50506000805460ff19166001179055565b60006002600160401b03196001600160401b03861601620001365760405163061c6a4360e21b81526001600160401b0386166004820152602401620000a1565b6001600160401b03851660009081526002602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115620001eb575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600282528683206001600160a01b038d1684529091529490209251835494516001600160701b03166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b6000602082840312156200026c57600080fd5b81516001600160a01b03811681146200028457600080fd5b9392505050565b6118d2806200029b6000396000f3fe6080604052600436106101e35760003560e01c80636d5115bd11610102578063b7d2b16211610095578063d22b598911610064578063d22b59891461064f578063d6bb62c61461066a578063f801a6981461068f578063fe0776f5146106d057600080fd5b8063b7d2b162146105d9578063c4d66de8146105f9578063cc1b6c8114610619578063d1f856ee1461062f57600080fd5b8063a166aa89116100d1578063a166aa89146104fb578063a64d95ce1461054f578063abd9bd2a1461056f578063b70096131461059d57600080fd5b80636d5115bd1461048657806375b238fc146104a6578063853551b8146104bb57806394c7d7ee146104db57600080fd5b806330cae1871161017a5780634665096d116101495780634665096d146103f95780634c1da1e21461040f578063529629521461042a578063530dd4561461044a57600080fd5b806330cae187146103715780633adc277a146103915780633ca7c02a146103c35780634136a33c146103de57600080fd5b806318ff183c116101b657806318ff183c146102c05780631cff79cd146102e057806325c471a0146102f75780633078f1141461031757600080fd5b806308d6122d146101e85780630b0a93ba1461020a57806312be87271461026a578063167bd395146102a0575b600080fd5b3480156101f457600080fd5b5061020861020336600461131e565b6106f0565b005b34801561021657600080fd5b5061024d6102253660046113b6565b6001600160401b03908116600090815260026020526040902060010154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561027657600080fd5b5061028b6102853660046113b6565b50600090565b60405163ffffffff9091168152602001610261565b3480156102ac57600080fd5b506102086102bb3660046113d1565b61074b565b3480156102cc57600080fd5b506102086102db36600461140f565b610761565b61028b6102ee36600461147e565b60009392505050565b34801561030357600080fd5b506102086103123660046114e6565b6107c8565b34801561032357600080fd5b5061033761033236600461152b565b6107e3565b604051610261949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561037d57600080fd5b5061020861038c366004611547565b610824565b34801561039d57600080fd5b506103ac61028536600461157a565b60405165ffffffffffff9091168152602001610261565b3480156103cf57600080fd5b5061024d6001600160401b0381565b3480156103ea57600080fd5b5061028b61028536600461157a565b34801561040557600080fd5b5062093a8061028b565b34801561041b57600080fd5b5061028b610285366004611593565b34801561043657600080fd5b50610208610445366004611547565b610836565b34801561045657600080fd5b5061024d6104653660046113b6565b6001600160401b039081166000908152600260205260409020600101541690565b34801561049257600080fd5b5061024d6104a13660046115c8565b610848565b3480156104b257600080fd5b5061024d600081565b3480156104c757600080fd5b506102086104d63660046115f4565b610886565b3480156104e757600080fd5b506102086104f636600461147e565b505050565b34801561050757600080fd5b5061053f610516366004611593565b6001600160a01b031660009081526001602081905260409091200154600160701b900460ff1690565b6040519015158152602001610261565b34801561055b57600080fd5b5061020861056a366004611612565b610922565b34801561057b57600080fd5b5061058f61058a36600461163c565b61092a565b604051908152602001610261565b3480156105a957600080fd5b506105bd6105b83660046116a0565b610963565b60408051921515835263ffffffff909116602083015201610261565b3480156105e557600080fd5b506102086105f436600461152b565b6109e1565b34801561060557600080fd5b50610208610614366004611593565b6109f3565b34801561062557600080fd5b506206978061028b565b34801561063b57600080fd5b506105bd61064a36600461152b565b610a9a565b34801561065b57600080fd5b5061020861056a3660046116de565b34801561067657600080fd5b5061028b61068536600461163c565b6000949350505050565b34801561069b57600080fd5b506106b66106aa3660046116fc565b60008094509492505050565b6040805192835263ffffffff909116602083015201610261565b3480156106dc57600080fd5b506102086106eb36600461152b565b610b10565b6106f8610b39565b60005b8281101561074457610734858585848181106107195761071961176e565b905060200201602081019061072e9190611784565b84610ba4565b61073d8161179f565b90506106fb565b5050505050565b610753610b39565b61075d8282610c28565b5050565b610769610b39565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b1580156107ac57600080fd5b505af11580156107c0573d6000803e3d6000fd5b505050505050565b6107d0610b39565b6107dd8383600084610cce565b50505050565b6001600160401b03821660009081526002602090815260408083206001600160a01b038516845290915281205465ffffffffffff1690808092959194509250565b61082c610b39565b61075d8282610e36565b61083e610b39565b61075d8282610ed8565b6001600160a01b03821660009081526001602090815260408083206001600160e01b0319851684529091529020546001600160401b03165b92915050565b61088e610b39565b6001600160401b03831615806108ac57506001600160401b03838116145b156108da5760405163061c6a4360e21b81526001600160401b03841660048201526024015b60405180910390fd5b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516109159291906117ef565b60405180910390a2505050565b61075d610b39565b600084848484604051602001610943949392919061180b565b604051602081830303815290604052805190602001209050949350505050565b6001600160a01b0382166000908152600160208190526040822001548190600160701b900460ff161561099b575060009050806109d9565b60006109a78585610848565b90506000806109b68389610a9a565b91509150816109c7576000806109d1565b63ffffffff811615815b945094505050505b935093915050565b6109e9610b39565b6104f68282610f88565b60005460ff1615610a515760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765723a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084016108d1565b6001600160a01b038116610a7b57604051630409d6d160e11b8152600060048201526024016108d1565b610a89600082600080610cce565b50506000805460ff19166001179055565b60008067fffffffffffffffe196001600160401b03851601610ac25750600190506000610b09565b600080610acf86866107e3565b5050915091508165ffffffffffff16600014158015610afe57504265ffffffffffff168265ffffffffffff1611155b93509150610b099050565b9250929050565b6001600160a01b03811633146109e957604051635f159e6360e01b815260040160405180910390fd5b33600080610b48838236611075565b91509150816104f6578063ffffffff166000036104f6576000610b6b81366110ef565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506108d1565b6001600160a01b03831660008181526001602090815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b306001600160a01b03831603610c5c57604051630b40d17960e31b81526001600160a01b03831660048201526024016108d1565b6001600160a01b038216600081815260016020819052604091829020018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13890610cc290841515815260200190565b60405180910390a25050565b600067fffffffffffffffe196001600160401b03861601610d0d5760405163061c6a4360e21b81526001600160401b03861660048201526024016108d1565b6001600160401b03851660009081526002602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115610dc8575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600282528683206001600160a01b038d1684529091529490209251835494516dffffffffffffffffffffffffffff166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b6001600160401b0382161580610e5457506001600160401b03828116145b15610e7d5760405163061c6a4360e21b81526001600160401b03831660048201526024016108d1565b6001600160401b03828116600081815260026020526040808220600101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b6001600160401b0382161580610ef657506001600160401b03828116145b15610f1f5760405163061c6a4360e21b81526001600160401b03831660048201526024016108d1565b6001600160401b0382811660008181526002602052604080822060010180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b600067fffffffffffffffe196001600160401b03841601610fc75760405163061c6a4360e21b81526001600160401b03841660048201526024016108d1565b6001600160401b03831660009081526002602090815260408083206001600160a01b038616845290915281205465ffffffffffff16900361100a57506000610880565b6001600160401b03831660008181526002602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b600080600483101561108c575060009050806109d9565b600080600061109b87876110ef565b925092509250826110b557600080945094505050506109d9565b6000806110c2848b610a9a565b91509150816110dc576000809650965050505050506109d9565b5060019960009950975050505050505050565b60008080600484101561110a575060009150819050806112c4565b600061111686866112cb565b90506001600160e01b031981166310a6aa3760e31b148061114757506001600160e01b031981166330cae18760e01b145b8061116257506001600160e01b0319811663294b14a960e11b145b8061117d57506001600160e01b03198116635326cae760e11b145b8061119857506001600160e01b0319811663d22b598960e01b145b156111ae576001600080935093509350506112c4565b6001600160e01b0319811663063fc60f60e21b14806111dd57506001600160e01b0319811663167bd39560e01b145b806111f857506001600160e01b031981166308d6122d60e01b145b1561122e57600061120d60246004888a611842565b81019061121a9190611593565b5060019450600093508392506112c4915050565b6001600160e01b0319811663012e238d60e51b148061125d57506001600160e01b03198116635be958b160e11b145b156112b757600061127260246004888a611842565b81019061127f91906113b6565b905060016112a8826001600160401b039081166000908152600260205260409020600101541690565b600094509450945050506112c4565b6000806000935093509350505b9250925092565b60006112da6004828486611842565b6112e39161186c565b9392505050565b6001600160a01b03811681146112ff57600080fd5b50565b80356001600160401b038116811461131957600080fd5b919050565b6000806000806060858703121561133457600080fd5b843561133f816112ea565b935060208501356001600160401b038082111561135b57600080fd5b818701915087601f83011261136f57600080fd5b81358181111561137e57600080fd5b8860208260051b850101111561139357600080fd5b6020830195508094505050506113ab60408601611302565b905092959194509250565b6000602082840312156113c857600080fd5b6112e382611302565b600080604083850312156113e457600080fd5b82356113ef816112ea565b91506020830135801515811461140457600080fd5b809150509250929050565b6000806040838503121561142257600080fd5b823561142d816112ea565b91506020830135611404816112ea565b60008083601f84011261144f57600080fd5b5081356001600160401b0381111561146657600080fd5b602083019150836020828501011115610b0957600080fd5b60008060006040848603121561149357600080fd5b833561149e816112ea565b925060208401356001600160401b038111156114b957600080fd5b6114c58682870161143d565b9497909650939450505050565b803563ffffffff8116811461131957600080fd5b6000806000606084860312156114fb57600080fd5b61150484611302565b92506020840135611514816112ea565b9150611522604085016114d2565b90509250925092565b6000806040838503121561153e57600080fd5b61142d83611302565b6000806040838503121561155a57600080fd5b61156383611302565b915061157160208401611302565b90509250929050565b60006020828403121561158c57600080fd5b5035919050565b6000602082840312156115a557600080fd5b81356112e3816112ea565b80356001600160e01b03198116811461131957600080fd5b600080604083850312156115db57600080fd5b82356115e6816112ea565b9150611571602084016115b0565b60008060006040848603121561160957600080fd5b61149e84611302565b6000806040838503121561162557600080fd5b61162e83611302565b9150611571602084016114d2565b6000806000806060858703121561165257600080fd5b843561165d816112ea565b9350602085013561166d816112ea565b925060408501356001600160401b0381111561168857600080fd5b6116948782880161143d565b95989497509550505050565b6000806000606084860312156116b557600080fd5b83356116c0816112ea565b925060208401356116d0816112ea565b9150611522604085016115b0565b600080604083850312156116f157600080fd5b823561162e816112ea565b6000806000806060858703121561171257600080fd5b843561171d816112ea565b935060208501356001600160401b0381111561173857600080fd5b6117448782880161143d565b909450925050604085013565ffffffffffff8116811461176357600080fd5b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561179657600080fd5b6112e3826115b0565b6000600182016117bf57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006118036020830184866117c6565b949350505050565b6001600160a01b0385811682528416602082015260606040820181905260009061183890830184866117c6565b9695505050505050565b6000808585111561185257600080fd5b8386111561185f57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156118945780818660040360031b1b83161692505b50509291505056fea2646970667358221220dfce4eeff5910998b4abe6eb2c8322de4f98e5f0aa905ed887a26ae57bcc658e64736f6c63430008140033",
1129
+ "deployedBytecode": "0x6080604052600436106101e35760003560e01c80636d5115bd11610102578063b7d2b16211610095578063d22b598911610064578063d22b59891461064f578063d6bb62c61461066a578063f801a6981461068f578063fe0776f5146106d057600080fd5b8063b7d2b162146105d9578063c4d66de8146105f9578063cc1b6c8114610619578063d1f856ee1461062f57600080fd5b8063a166aa89116100d1578063a166aa89146104fb578063a64d95ce1461054f578063abd9bd2a1461056f578063b70096131461059d57600080fd5b80636d5115bd1461048657806375b238fc146104a6578063853551b8146104bb57806394c7d7ee146104db57600080fd5b806330cae1871161017a5780634665096d116101495780634665096d146103f95780634c1da1e21461040f578063529629521461042a578063530dd4561461044a57600080fd5b806330cae187146103715780633adc277a146103915780633ca7c02a146103c35780634136a33c146103de57600080fd5b806318ff183c116101b657806318ff183c146102c05780631cff79cd146102e057806325c471a0146102f75780633078f1141461031757600080fd5b806308d6122d146101e85780630b0a93ba1461020a57806312be87271461026a578063167bd395146102a0575b600080fd5b3480156101f457600080fd5b5061020861020336600461131e565b6106f0565b005b34801561021657600080fd5b5061024d6102253660046113b6565b6001600160401b03908116600090815260026020526040902060010154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561027657600080fd5b5061028b6102853660046113b6565b50600090565b60405163ffffffff9091168152602001610261565b3480156102ac57600080fd5b506102086102bb3660046113d1565b61074b565b3480156102cc57600080fd5b506102086102db36600461140f565b610761565b61028b6102ee36600461147e565b60009392505050565b34801561030357600080fd5b506102086103123660046114e6565b6107c8565b34801561032357600080fd5b5061033761033236600461152b565b6107e3565b604051610261949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561037d57600080fd5b5061020861038c366004611547565b610824565b34801561039d57600080fd5b506103ac61028536600461157a565b60405165ffffffffffff9091168152602001610261565b3480156103cf57600080fd5b5061024d6001600160401b0381565b3480156103ea57600080fd5b5061028b61028536600461157a565b34801561040557600080fd5b5062093a8061028b565b34801561041b57600080fd5b5061028b610285366004611593565b34801561043657600080fd5b50610208610445366004611547565b610836565b34801561045657600080fd5b5061024d6104653660046113b6565b6001600160401b039081166000908152600260205260409020600101541690565b34801561049257600080fd5b5061024d6104a13660046115c8565b610848565b3480156104b257600080fd5b5061024d600081565b3480156104c757600080fd5b506102086104d63660046115f4565b610886565b3480156104e757600080fd5b506102086104f636600461147e565b505050565b34801561050757600080fd5b5061053f610516366004611593565b6001600160a01b031660009081526001602081905260409091200154600160701b900460ff1690565b6040519015158152602001610261565b34801561055b57600080fd5b5061020861056a366004611612565b610922565b34801561057b57600080fd5b5061058f61058a36600461163c565b61092a565b604051908152602001610261565b3480156105a957600080fd5b506105bd6105b83660046116a0565b610963565b60408051921515835263ffffffff909116602083015201610261565b3480156105e557600080fd5b506102086105f436600461152b565b6109e1565b34801561060557600080fd5b50610208610614366004611593565b6109f3565b34801561062557600080fd5b506206978061028b565b34801561063b57600080fd5b506105bd61064a36600461152b565b610a9a565b34801561065b57600080fd5b5061020861056a3660046116de565b34801561067657600080fd5b5061028b61068536600461163c565b6000949350505050565b34801561069b57600080fd5b506106b66106aa3660046116fc565b60008094509492505050565b6040805192835263ffffffff909116602083015201610261565b3480156106dc57600080fd5b506102086106eb36600461152b565b610b10565b6106f8610b39565b60005b8281101561074457610734858585848181106107195761071961176e565b905060200201602081019061072e9190611784565b84610ba4565b61073d8161179f565b90506106fb565b5050505050565b610753610b39565b61075d8282610c28565b5050565b610769610b39565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b1580156107ac57600080fd5b505af11580156107c0573d6000803e3d6000fd5b505050505050565b6107d0610b39565b6107dd8383600084610cce565b50505050565b6001600160401b03821660009081526002602090815260408083206001600160a01b038516845290915281205465ffffffffffff1690808092959194509250565b61082c610b39565b61075d8282610e36565b61083e610b39565b61075d8282610ed8565b6001600160a01b03821660009081526001602090815260408083206001600160e01b0319851684529091529020546001600160401b03165b92915050565b61088e610b39565b6001600160401b03831615806108ac57506001600160401b03838116145b156108da5760405163061c6a4360e21b81526001600160401b03841660048201526024015b60405180910390fd5b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a45083836040516109159291906117ef565b60405180910390a2505050565b61075d610b39565b600084848484604051602001610943949392919061180b565b604051602081830303815290604052805190602001209050949350505050565b6001600160a01b0382166000908152600160208190526040822001548190600160701b900460ff161561099b575060009050806109d9565b60006109a78585610848565b90506000806109b68389610a9a565b91509150816109c7576000806109d1565b63ffffffff811615815b945094505050505b935093915050565b6109e9610b39565b6104f68282610f88565b60005460ff1615610a515760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765723a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084016108d1565b6001600160a01b038116610a7b57604051630409d6d160e11b8152600060048201526024016108d1565b610a89600082600080610cce565b50506000805460ff19166001179055565b60008067fffffffffffffffe196001600160401b03851601610ac25750600190506000610b09565b600080610acf86866107e3565b5050915091508165ffffffffffff16600014158015610afe57504265ffffffffffff168265ffffffffffff1611155b93509150610b099050565b9250929050565b6001600160a01b03811633146109e957604051635f159e6360e01b815260040160405180910390fd5b33600080610b48838236611075565b91509150816104f6578063ffffffff166000036104f6576000610b6b81366110ef565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506108d1565b6001600160a01b03831660008181526001602090815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b306001600160a01b03831603610c5c57604051630b40d17960e31b81526001600160a01b03831660048201526024016108d1565b6001600160a01b038216600081815260016020819052604091829020018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13890610cc290841515815260200190565b60405180910390a25050565b600067fffffffffffffffe196001600160401b03861601610d0d5760405163061c6a4360e21b81526001600160401b03861660048201526024016108d1565b6001600160401b03851660009081526002602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115610dc8575060408051808201825265ffffffffffff428181168352600060208085018281526001600160401b038d168352600282528683206001600160a01b038d1684529091529490209251835494516dffffffffffffffffffffffffffff166601000000000000026001600160a01b03199095169216919091179290921790555b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b6001600160401b0382161580610e5457506001600160401b03828116145b15610e7d5760405163061c6a4360e21b81526001600160401b03831660048201526024016108d1565b6001600160401b03828116600081815260026020526040808220600101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b6001600160401b0382161580610ef657506001600160401b03828116145b15610f1f5760405163061c6a4360e21b81526001600160401b03831660048201526024016108d1565b6001600160401b0382811660008181526002602052604080822060010180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b600067fffffffffffffffe196001600160401b03841601610fc75760405163061c6a4360e21b81526001600160401b03841660048201526024016108d1565b6001600160401b03831660009081526002602090815260408083206001600160a01b038616845290915281205465ffffffffffff16900361100a57506000610880565b6001600160401b03831660008181526002602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b600080600483101561108c575060009050806109d9565b600080600061109b87876110ef565b925092509250826110b557600080945094505050506109d9565b6000806110c2848b610a9a565b91509150816110dc576000809650965050505050506109d9565b5060019960009950975050505050505050565b60008080600484101561110a575060009150819050806112c4565b600061111686866112cb565b90506001600160e01b031981166310a6aa3760e31b148061114757506001600160e01b031981166330cae18760e01b145b8061116257506001600160e01b0319811663294b14a960e11b145b8061117d57506001600160e01b03198116635326cae760e11b145b8061119857506001600160e01b0319811663d22b598960e01b145b156111ae576001600080935093509350506112c4565b6001600160e01b0319811663063fc60f60e21b14806111dd57506001600160e01b0319811663167bd39560e01b145b806111f857506001600160e01b031981166308d6122d60e01b145b1561122e57600061120d60246004888a611842565b81019061121a9190611593565b5060019450600093508392506112c4915050565b6001600160e01b0319811663012e238d60e51b148061125d57506001600160e01b03198116635be958b160e11b145b156112b757600061127260246004888a611842565b81019061127f91906113b6565b905060016112a8826001600160401b039081166000908152600260205260409020600101541690565b600094509450945050506112c4565b6000806000935093509350505b9250925092565b60006112da6004828486611842565b6112e39161186c565b9392505050565b6001600160a01b03811681146112ff57600080fd5b50565b80356001600160401b038116811461131957600080fd5b919050565b6000806000806060858703121561133457600080fd5b843561133f816112ea565b935060208501356001600160401b038082111561135b57600080fd5b818701915087601f83011261136f57600080fd5b81358181111561137e57600080fd5b8860208260051b850101111561139357600080fd5b6020830195508094505050506113ab60408601611302565b905092959194509250565b6000602082840312156113c857600080fd5b6112e382611302565b600080604083850312156113e457600080fd5b82356113ef816112ea565b91506020830135801515811461140457600080fd5b809150509250929050565b6000806040838503121561142257600080fd5b823561142d816112ea565b91506020830135611404816112ea565b60008083601f84011261144f57600080fd5b5081356001600160401b0381111561146657600080fd5b602083019150836020828501011115610b0957600080fd5b60008060006040848603121561149357600080fd5b833561149e816112ea565b925060208401356001600160401b038111156114b957600080fd5b6114c58682870161143d565b9497909650939450505050565b803563ffffffff8116811461131957600080fd5b6000806000606084860312156114fb57600080fd5b61150484611302565b92506020840135611514816112ea565b9150611522604085016114d2565b90509250925092565b6000806040838503121561153e57600080fd5b61142d83611302565b6000806040838503121561155a57600080fd5b61156383611302565b915061157160208401611302565b90509250929050565b60006020828403121561158c57600080fd5b5035919050565b6000602082840312156115a557600080fd5b81356112e3816112ea565b80356001600160e01b03198116811461131957600080fd5b600080604083850312156115db57600080fd5b82356115e6816112ea565b9150611571602084016115b0565b60008060006040848603121561160957600080fd5b61149e84611302565b6000806040838503121561162557600080fd5b61162e83611302565b9150611571602084016114d2565b6000806000806060858703121561165257600080fd5b843561165d816112ea565b9350602085013561166d816112ea565b925060408501356001600160401b0381111561168857600080fd5b6116948782880161143d565b95989497509550505050565b6000806000606084860312156116b557600080fd5b83356116c0816112ea565b925060208401356116d0816112ea565b9150611522604085016115b0565b600080604083850312156116f157600080fd5b823561162e816112ea565b6000806000806060858703121561171257600080fd5b843561171d816112ea565b935060208501356001600160401b0381111561173857600080fd5b6117448782880161143d565b909450925050604085013565ffffffffffff8116811461176357600080fd5b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561179657600080fd5b6112e3826115b0565b6000600182016117bf57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006118036020830184866117c6565b949350505050565b6001600160a01b0385811682528416602082015260606040820181905260009061183890830184866117c6565b9695505050505050565b6000808585111561185257600080fd5b8386111561185f57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156118945780818660040360031b1b83161692505b50509291505056fea2646970667358221220dfce4eeff5910998b4abe6eb2c8322de4f98e5f0aa905ed887a26ae57bcc658e64736f6c63430008140033",
1117
1130
  "linkReferences": {},
1118
1131
  "deployedLinkReferences": {}
1119
1132
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/513944a18d93e005314a3ed93f91d5cd.json"
3
+ "buildInfo": "../../../build-info/f89b363db840bed7b9fd3dd365d48580.json"
4
4
  }