@varity-labs/sdk 2.0.0-alpha.1

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 (295) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +253 -0
  3. package/dist/analytics/index.d.ts +7 -0
  4. package/dist/analytics/index.d.ts.map +1 -0
  5. package/dist/analytics/index.js +6 -0
  6. package/dist/analytics/tracker.d.ts +128 -0
  7. package/dist/analytics/tracker.d.ts.map +1 -0
  8. package/dist/analytics/tracker.js +203 -0
  9. package/dist/blockchain/BlockchainService.d.ts +100 -0
  10. package/dist/blockchain/BlockchainService.d.ts.map +1 -0
  11. package/dist/blockchain/BlockchainService.js +188 -0
  12. package/dist/blockchain/NFTLicensingService.d.ts +69 -0
  13. package/dist/blockchain/NFTLicensingService.d.ts.map +1 -0
  14. package/dist/blockchain/NFTLicensingService.js +136 -0
  15. package/dist/blockchain/RevenueSplitService.d.ts +71 -0
  16. package/dist/blockchain/RevenueSplitService.d.ts.map +1 -0
  17. package/dist/blockchain/RevenueSplitService.js +111 -0
  18. package/dist/blockchain/index.d.ts +48 -0
  19. package/dist/blockchain/index.d.ts.map +1 -0
  20. package/dist/blockchain/index.js +46 -0
  21. package/dist/blockchain/types.d.ts +63 -0
  22. package/dist/blockchain/types.d.ts.map +1 -0
  23. package/dist/blockchain/types.js +6 -0
  24. package/dist/chains/arbitrum.d.ts +89 -0
  25. package/dist/chains/arbitrum.d.ts.map +1 -0
  26. package/dist/chains/arbitrum.js +134 -0
  27. package/dist/chains/base.d.ts +84 -0
  28. package/dist/chains/base.d.ts.map +1 -0
  29. package/dist/chains/base.js +131 -0
  30. package/dist/chains/index.d.ts +36 -0
  31. package/dist/chains/index.d.ts.map +1 -0
  32. package/dist/chains/index.js +32 -0
  33. package/dist/chains/registry.d.ts +113 -0
  34. package/dist/chains/registry.d.ts.map +1 -0
  35. package/dist/chains/registry.js +201 -0
  36. package/dist/chains/varityL3.d.ts +81 -0
  37. package/dist/chains/varityL3.d.ts.map +1 -0
  38. package/dist/chains/varityL3.js +125 -0
  39. package/dist/cli/commands/clone.d.ts +8 -0
  40. package/dist/cli/commands/clone.d.ts.map +1 -0
  41. package/dist/cli/commands/clone.js +391 -0
  42. package/dist/cli/commands/dev.d.ts +8 -0
  43. package/dist/cli/commands/dev.d.ts.map +1 -0
  44. package/dist/cli/commands/dev.js +40 -0
  45. package/dist/cli/commands/generate.d.ts +8 -0
  46. package/dist/cli/commands/generate.d.ts.map +1 -0
  47. package/dist/cli/commands/generate.js +303 -0
  48. package/dist/cli/commands/init.d.ts +8 -0
  49. package/dist/cli/commands/init.d.ts.map +1 -0
  50. package/dist/cli/commands/init.js +317 -0
  51. package/dist/cli/commands/validate.d.ts +8 -0
  52. package/dist/cli/commands/validate.d.ts.map +1 -0
  53. package/dist/cli/commands/validate.js +69 -0
  54. package/dist/cli/index.d.ts +8 -0
  55. package/dist/cli/index.d.ts.map +1 -0
  56. package/dist/cli/index.js +33 -0
  57. package/dist/cli/utils/logger.d.ts +17 -0
  58. package/dist/cli/utils/logger.d.ts.map +1 -0
  59. package/dist/cli/utils/logger.js +35 -0
  60. package/dist/cli/utils/prompts.d.ts +21 -0
  61. package/dist/cli/utils/prompts.d.ts.map +1 -0
  62. package/dist/cli/utils/prompts.js +103 -0
  63. package/dist/contracts/abis/iso/AccessControlRegistry.json +1468 -0
  64. package/dist/contracts/abis/iso/DataProofRegistry.json +797 -0
  65. package/dist/contracts/abis/iso/MerchantRegistry.json +1237 -0
  66. package/dist/contracts/abis/iso/RepPerformance.json +1351 -0
  67. package/dist/contracts/abis/iso/ResidualCalculator.json +1118 -0
  68. package/dist/contracts/abis/iso/TransactionVault.json +1588 -0
  69. package/dist/contracts/abis/iso/VarityWalletFactory.json +475 -0
  70. package/dist/contracts/addresses.d.ts +88 -0
  71. package/dist/contracts/addresses.d.ts.map +1 -0
  72. package/dist/contracts/addresses.js +94 -0
  73. package/dist/contracts/index.d.ts +7 -0
  74. package/dist/contracts/index.d.ts.map +1 -0
  75. package/dist/contracts/index.js +6 -0
  76. package/dist/core/VaritySDK.d.ts +177 -0
  77. package/dist/core/VaritySDK.d.ts.map +1 -0
  78. package/dist/core/VaritySDK.js +325 -0
  79. package/dist/core/config.d.ts +120 -0
  80. package/dist/core/config.d.ts.map +1 -0
  81. package/dist/core/config.js +187 -0
  82. package/dist/core/credentials-proxy.d.ts +157 -0
  83. package/dist/core/credentials-proxy.d.ts.map +1 -0
  84. package/dist/core/credentials-proxy.js +345 -0
  85. package/dist/core/credentials.d.ts +219 -0
  86. package/dist/core/credentials.d.ts.map +1 -0
  87. package/dist/core/credentials.js +345 -0
  88. package/dist/core/template-loader.d.ts +15 -0
  89. package/dist/core/template-loader.d.ts.map +1 -0
  90. package/dist/core/template-loader.js +380 -0
  91. package/dist/core/template.d.ts +321 -0
  92. package/dist/core/template.d.ts.map +1 -0
  93. package/dist/core/template.js +189 -0
  94. package/dist/core/types.d.ts +572 -0
  95. package/dist/core/types.d.ts.map +1 -0
  96. package/dist/core/types.js +52 -0
  97. package/dist/dev/dev-server.d.ts +16 -0
  98. package/dist/dev/dev-server.d.ts.map +1 -0
  99. package/dist/dev/dev-server.js +119 -0
  100. package/dist/generators/contracts/generator.d.ts +21 -0
  101. package/dist/generators/contracts/generator.d.ts.map +1 -0
  102. package/dist/generators/contracts/generator.js +252 -0
  103. package/dist/generators/tests/generator.d.ts +20 -0
  104. package/dist/generators/tests/generator.d.ts.map +1 -0
  105. package/dist/generators/tests/generator.js +375 -0
  106. package/dist/generators/types/generator.d.ts +19 -0
  107. package/dist/generators/types/generator.d.ts.map +1 -0
  108. package/dist/generators/types/generator.js +165 -0
  109. package/dist/generators/ui/component-generator.d.ts +20 -0
  110. package/dist/generators/ui/component-generator.d.ts.map +1 -0
  111. package/dist/generators/ui/component-generator.js +749 -0
  112. package/dist/generators/ui/dashboard-generator.d.ts +20 -0
  113. package/dist/generators/ui/dashboard-generator.d.ts.map +1 -0
  114. package/dist/generators/ui/dashboard-generator.js +349 -0
  115. package/dist/index.d.ts +61 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +74 -0
  118. package/dist/modules/analytics/AnalyticsModule.d.ts +349 -0
  119. package/dist/modules/analytics/AnalyticsModule.d.ts.map +1 -0
  120. package/dist/modules/analytics/AnalyticsModule.js +274 -0
  121. package/dist/modules/analytics/index.d.ts +3 -0
  122. package/dist/modules/analytics/index.d.ts.map +1 -0
  123. package/dist/modules/analytics/index.js +1 -0
  124. package/dist/modules/auth/AccessKeyModule.d.ts +189 -0
  125. package/dist/modules/auth/AccessKeyModule.d.ts.map +1 -0
  126. package/dist/modules/auth/AccessKeyModule.js +322 -0
  127. package/dist/modules/auth/AuthModule.d.ts +133 -0
  128. package/dist/modules/auth/AuthModule.d.ts.map +1 -0
  129. package/dist/modules/auth/AuthModule.js +214 -0
  130. package/dist/modules/auth/index.d.ts +8 -0
  131. package/dist/modules/auth/index.d.ts.map +1 -0
  132. package/dist/modules/auth/index.js +6 -0
  133. package/dist/modules/cache/CacheModule.d.ts +279 -0
  134. package/dist/modules/cache/CacheModule.d.ts.map +1 -0
  135. package/dist/modules/cache/CacheModule.js +493 -0
  136. package/dist/modules/cache/index.d.ts +3 -0
  137. package/dist/modules/cache/index.d.ts.map +1 -0
  138. package/dist/modules/cache/index.js +1 -0
  139. package/dist/modules/compute/ComputeModule.d.ts +226 -0
  140. package/dist/modules/compute/ComputeModule.d.ts.map +1 -0
  141. package/dist/modules/compute/ComputeModule.js +379 -0
  142. package/dist/modules/compute/index.d.ts +6 -0
  143. package/dist/modules/compute/index.d.ts.map +1 -0
  144. package/dist/modules/compute/index.js +4 -0
  145. package/dist/modules/contracts/ContractsModule.d.ts +164 -0
  146. package/dist/modules/contracts/ContractsModule.d.ts.map +1 -0
  147. package/dist/modules/contracts/ContractsModule.js +242 -0
  148. package/dist/modules/contracts/index.d.ts +6 -0
  149. package/dist/modules/contracts/index.d.ts.map +1 -0
  150. package/dist/modules/contracts/index.js +4 -0
  151. package/dist/modules/export/ExportModule.d.ts +346 -0
  152. package/dist/modules/export/ExportModule.d.ts.map +1 -0
  153. package/dist/modules/export/ExportModule.js +432 -0
  154. package/dist/modules/export/index.d.ts +3 -0
  155. package/dist/modules/export/index.d.ts.map +1 -0
  156. package/dist/modules/export/index.js +1 -0
  157. package/dist/modules/forecasting/ForecastingModule.d.ts +579 -0
  158. package/dist/modules/forecasting/ForecastingModule.d.ts.map +1 -0
  159. package/dist/modules/forecasting/ForecastingModule.js +310 -0
  160. package/dist/modules/forecasting/index.d.ts +3 -0
  161. package/dist/modules/forecasting/index.d.ts.map +1 -0
  162. package/dist/modules/forecasting/index.js +1 -0
  163. package/dist/modules/monitoring/MonitoringModule.d.ts +359 -0
  164. package/dist/modules/monitoring/MonitoringModule.d.ts.map +1 -0
  165. package/dist/modules/monitoring/MonitoringModule.js +483 -0
  166. package/dist/modules/monitoring/index.d.ts +3 -0
  167. package/dist/modules/monitoring/index.d.ts.map +1 -0
  168. package/dist/modules/monitoring/index.js +1 -0
  169. package/dist/modules/notifications/NotificationsModule.d.ts +336 -0
  170. package/dist/modules/notifications/NotificationsModule.d.ts.map +1 -0
  171. package/dist/modules/notifications/NotificationsModule.js +418 -0
  172. package/dist/modules/notifications/index.d.ts +3 -0
  173. package/dist/modules/notifications/index.d.ts.map +1 -0
  174. package/dist/modules/notifications/index.js +1 -0
  175. package/dist/modules/oracle/OracleModule.d.ts +110 -0
  176. package/dist/modules/oracle/OracleModule.d.ts.map +1 -0
  177. package/dist/modules/oracle/OracleModule.js +151 -0
  178. package/dist/modules/oracle/index.d.ts +6 -0
  179. package/dist/modules/oracle/index.d.ts.map +1 -0
  180. package/dist/modules/oracle/index.js +4 -0
  181. package/dist/modules/storage/S3Module.d.ts +377 -0
  182. package/dist/modules/storage/S3Module.d.ts.map +1 -0
  183. package/dist/modules/storage/S3Module.js +680 -0
  184. package/dist/modules/storage/StorageModule.d.ts +157 -0
  185. package/dist/modules/storage/StorageModule.d.ts.map +1 -0
  186. package/dist/modules/storage/StorageModule.js +302 -0
  187. package/dist/modules/storage/adapters/AdapterFactory.d.ts +100 -0
  188. package/dist/modules/storage/adapters/AdapterFactory.d.ts.map +1 -0
  189. package/dist/modules/storage/adapters/AdapterFactory.js +209 -0
  190. package/dist/modules/storage/adapters/FilecoinAdapter.d.ts +94 -0
  191. package/dist/modules/storage/adapters/FilecoinAdapter.d.ts.map +1 -0
  192. package/dist/modules/storage/adapters/FilecoinAdapter.js +263 -0
  193. package/dist/modules/storage/adapters/IStorageAdapter.d.ts +287 -0
  194. package/dist/modules/storage/adapters/IStorageAdapter.d.ts.map +1 -0
  195. package/dist/modules/storage/adapters/IStorageAdapter.js +81 -0
  196. package/dist/modules/storage/adapters/MultiTierAdapter.d.ts +187 -0
  197. package/dist/modules/storage/adapters/MultiTierAdapter.d.ts.map +1 -0
  198. package/dist/modules/storage/adapters/MultiTierAdapter.js +430 -0
  199. package/dist/modules/storage/adapters/index.d.ts +12 -0
  200. package/dist/modules/storage/adapters/index.d.ts.map +1 -0
  201. package/dist/modules/storage/adapters/index.js +12 -0
  202. package/dist/modules/storage/index.d.ts +16 -0
  203. package/dist/modules/storage/index.d.ts.map +1 -0
  204. package/dist/modules/storage/index.js +15 -0
  205. package/dist/modules/storage/tiering/AccessAnalyzer.d.ts +227 -0
  206. package/dist/modules/storage/tiering/AccessAnalyzer.d.ts.map +1 -0
  207. package/dist/modules/storage/tiering/AccessAnalyzer.js +367 -0
  208. package/dist/modules/storage/tiering/CostOptimizer.d.ts +248 -0
  209. package/dist/modules/storage/tiering/CostOptimizer.d.ts.map +1 -0
  210. package/dist/modules/storage/tiering/CostOptimizer.js +356 -0
  211. package/dist/modules/storage/tiering/MetadataStore.d.ts +287 -0
  212. package/dist/modules/storage/tiering/MetadataStore.d.ts.map +1 -0
  213. package/dist/modules/storage/tiering/MetadataStore.js +535 -0
  214. package/dist/modules/storage/tiering/TieringEngine.d.ts +237 -0
  215. package/dist/modules/storage/tiering/TieringEngine.d.ts.map +1 -0
  216. package/dist/modules/storage/tiering/TieringEngine.js +419 -0
  217. package/dist/modules/storage/tiering/example.d.ts +8 -0
  218. package/dist/modules/storage/tiering/example.d.ts.map +1 -0
  219. package/dist/modules/storage/tiering/example.js +250 -0
  220. package/dist/modules/storage/tiering/index.d.ts +17 -0
  221. package/dist/modules/storage/tiering/index.d.ts.map +1 -0
  222. package/dist/modules/storage/tiering/index.js +13 -0
  223. package/dist/modules/webhooks/WebhooksModule.d.ts +476 -0
  224. package/dist/modules/webhooks/WebhooksModule.d.ts.map +1 -0
  225. package/dist/modules/webhooks/WebhooksModule.js +359 -0
  226. package/dist/modules/webhooks/index.d.ts +3 -0
  227. package/dist/modules/webhooks/index.d.ts.map +1 -0
  228. package/dist/modules/webhooks/index.js +1 -0
  229. package/dist/modules/zk/ZKModule.d.ts +153 -0
  230. package/dist/modules/zk/ZKModule.d.ts.map +1 -0
  231. package/dist/modules/zk/ZKModule.js +262 -0
  232. package/dist/modules/zk/index.d.ts +7 -0
  233. package/dist/modules/zk/index.d.ts.map +1 -0
  234. package/dist/modules/zk/index.js +4 -0
  235. package/dist/thirdweb/BridgeClient.d.ts +228 -0
  236. package/dist/thirdweb/BridgeClient.d.ts.map +1 -0
  237. package/dist/thirdweb/BridgeClient.js +160 -0
  238. package/dist/thirdweb/EngineClient.d.ts +396 -0
  239. package/dist/thirdweb/EngineClient.d.ts.map +1 -0
  240. package/dist/thirdweb/EngineClient.js +386 -0
  241. package/dist/thirdweb/GatewayClient.d.ts +190 -0
  242. package/dist/thirdweb/GatewayClient.d.ts.map +1 -0
  243. package/dist/thirdweb/GatewayClient.js +257 -0
  244. package/dist/thirdweb/NebulaClient.d.ts +292 -0
  245. package/dist/thirdweb/NebulaClient.d.ts.map +1 -0
  246. package/dist/thirdweb/NebulaClient.js +180 -0
  247. package/dist/thirdweb/StorageClient.d.ts +445 -0
  248. package/dist/thirdweb/StorageClient.d.ts.map +1 -0
  249. package/dist/thirdweb/StorageClient.js +405 -0
  250. package/dist/thirdweb/ThirdwebWrapper.d.ts +236 -0
  251. package/dist/thirdweb/ThirdwebWrapper.d.ts.map +1 -0
  252. package/dist/thirdweb/ThirdwebWrapper.js +332 -0
  253. package/dist/thirdweb/index.d.ts +21 -0
  254. package/dist/thirdweb/index.d.ts.map +1 -0
  255. package/dist/thirdweb/index.js +28 -0
  256. package/dist/thirdweb/varity-chain.d.ts +48 -0
  257. package/dist/thirdweb/varity-chain.d.ts.map +1 -0
  258. package/dist/thirdweb/varity-chain.js +64 -0
  259. package/dist/thirdweb/x402Client.d.ts +319 -0
  260. package/dist/thirdweb/x402Client.d.ts.map +1 -0
  261. package/dist/thirdweb/x402Client.js +223 -0
  262. package/dist/tracking/gasTracker.d.ts +158 -0
  263. package/dist/tracking/gasTracker.d.ts.map +1 -0
  264. package/dist/tracking/gasTracker.js +227 -0
  265. package/dist/tracking/index.d.ts +10 -0
  266. package/dist/tracking/index.d.ts.map +1 -0
  267. package/dist/tracking/index.js +8 -0
  268. package/dist/tracking/types.d.ts +327 -0
  269. package/dist/tracking/types.d.ts.map +1 -0
  270. package/dist/tracking/types.js +8 -0
  271. package/dist/ui/components/ChartWidget.d.ts +36 -0
  272. package/dist/ui/components/ChartWidget.d.ts.map +1 -0
  273. package/dist/ui/components/ChartWidget.js +82 -0
  274. package/dist/ui/components/DashboardLayout.d.ts +41 -0
  275. package/dist/ui/components/DashboardLayout.d.ts.map +1 -0
  276. package/dist/ui/components/DashboardLayout.js +102 -0
  277. package/dist/ui/components/DataTable.d.ts +49 -0
  278. package/dist/ui/components/DataTable.d.ts.map +1 -0
  279. package/dist/ui/components/DataTable.js +96 -0
  280. package/dist/ui/components/EntityForm.d.ts +60 -0
  281. package/dist/ui/components/EntityForm.d.ts.map +1 -0
  282. package/dist/ui/components/EntityForm.js +182 -0
  283. package/dist/ui/components/KPICard.d.ts +29 -0
  284. package/dist/ui/components/KPICard.d.ts.map +1 -0
  285. package/dist/ui/components/KPICard.js +61 -0
  286. package/dist/ui/components/Modal.d.ts +34 -0
  287. package/dist/ui/components/Modal.d.ts.map +1 -0
  288. package/dist/ui/components/Modal.js +30 -0
  289. package/dist/ui/components/index.d.ts +18 -0
  290. package/dist/ui/components/index.d.ts.map +1 -0
  291. package/dist/ui/components/index.js +11 -0
  292. package/dist/validation/template-validator.d.ts +25 -0
  293. package/dist/validation/template-validator.d.ts.map +1 -0
  294. package/dist/validation/template-validator.js +305 -0
  295. package/package.json +102 -0
@@ -0,0 +1,797 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "DataProofRegistry",
4
+ "sourceName": "contracts/DataProofRegistry.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "target",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "AddressEmptyCode",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "address",
26
+ "name": "implementation",
27
+ "type": "address"
28
+ }
29
+ ],
30
+ "name": "ERC1967InvalidImplementation",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [],
35
+ "name": "ERC1967NonPayable",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "EnforcedPause",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "ExpectedPause",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "FailedCall",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "InvalidAddress",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "InvalidCID",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "InvalidHash",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [],
70
+ "name": "InvalidInitialization",
71
+ "type": "error"
72
+ },
73
+ {
74
+ "inputs": [],
75
+ "name": "NotInitializing",
76
+ "type": "error"
77
+ },
78
+ {
79
+ "inputs": [
80
+ {
81
+ "internalType": "address",
82
+ "name": "owner",
83
+ "type": "address"
84
+ }
85
+ ],
86
+ "name": "OwnableInvalidOwner",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "address",
93
+ "name": "account",
94
+ "type": "address"
95
+ }
96
+ ],
97
+ "name": "OwnableUnauthorizedAccount",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "ProofAlreadyExists",
103
+ "type": "error"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "ProofNotFound",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "ReentrancyGuardReentrantCall",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "UUPSUnauthorizedCallContext",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [
122
+ {
123
+ "internalType": "bytes32",
124
+ "name": "slot",
125
+ "type": "bytes32"
126
+ }
127
+ ],
128
+ "name": "UUPSUnsupportedProxiableUUID",
129
+ "type": "error"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "UnauthorizedAccess",
134
+ "type": "error"
135
+ },
136
+ {
137
+ "inputs": [],
138
+ "name": "VerificationFailed",
139
+ "type": "error"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "indexed": true,
146
+ "internalType": "bytes32",
147
+ "name": "dataCID",
148
+ "type": "bytes32"
149
+ },
150
+ {
151
+ "indexed": true,
152
+ "internalType": "address",
153
+ "name": "owner",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "indexed": true,
158
+ "internalType": "address",
159
+ "name": "delegate",
160
+ "type": "address"
161
+ }
162
+ ],
163
+ "name": "AccessDelegated",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "bytes32",
172
+ "name": "dataCID",
173
+ "type": "bytes32"
174
+ },
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "owner",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": true,
183
+ "internalType": "address",
184
+ "name": "delegate",
185
+ "type": "address"
186
+ }
187
+ ],
188
+ "name": "AccessRevoked",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "anonymous": false,
193
+ "inputs": [
194
+ {
195
+ "indexed": true,
196
+ "internalType": "bytes32",
197
+ "name": "dataCID",
198
+ "type": "bytes32"
199
+ },
200
+ {
201
+ "indexed": true,
202
+ "internalType": "address",
203
+ "name": "owner",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "indexed": false,
208
+ "internalType": "bytes32",
209
+ "name": "dataHash",
210
+ "type": "bytes32"
211
+ },
212
+ {
213
+ "indexed": false,
214
+ "internalType": "uint256",
215
+ "name": "timestamp",
216
+ "type": "uint256"
217
+ }
218
+ ],
219
+ "name": "DataProofStored",
220
+ "type": "event"
221
+ },
222
+ {
223
+ "anonymous": false,
224
+ "inputs": [
225
+ {
226
+ "indexed": true,
227
+ "internalType": "bytes32",
228
+ "name": "dataCID",
229
+ "type": "bytes32"
230
+ },
231
+ {
232
+ "indexed": true,
233
+ "internalType": "address",
234
+ "name": "verifier",
235
+ "type": "address"
236
+ },
237
+ {
238
+ "indexed": false,
239
+ "internalType": "uint256",
240
+ "name": "timestamp",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "name": "DataProofVerified",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": false,
252
+ "internalType": "uint64",
253
+ "name": "version",
254
+ "type": "uint64"
255
+ }
256
+ ],
257
+ "name": "Initialized",
258
+ "type": "event"
259
+ },
260
+ {
261
+ "anonymous": false,
262
+ "inputs": [
263
+ {
264
+ "indexed": true,
265
+ "internalType": "address",
266
+ "name": "previousOwner",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "indexed": true,
271
+ "internalType": "address",
272
+ "name": "newOwner",
273
+ "type": "address"
274
+ }
275
+ ],
276
+ "name": "OwnershipTransferred",
277
+ "type": "event"
278
+ },
279
+ {
280
+ "anonymous": false,
281
+ "inputs": [
282
+ {
283
+ "indexed": false,
284
+ "internalType": "address",
285
+ "name": "account",
286
+ "type": "address"
287
+ }
288
+ ],
289
+ "name": "Paused",
290
+ "type": "event"
291
+ },
292
+ {
293
+ "anonymous": false,
294
+ "inputs": [
295
+ {
296
+ "indexed": false,
297
+ "internalType": "address",
298
+ "name": "account",
299
+ "type": "address"
300
+ }
301
+ ],
302
+ "name": "Unpaused",
303
+ "type": "event"
304
+ },
305
+ {
306
+ "anonymous": false,
307
+ "inputs": [
308
+ {
309
+ "indexed": true,
310
+ "internalType": "address",
311
+ "name": "implementation",
312
+ "type": "address"
313
+ }
314
+ ],
315
+ "name": "Upgraded",
316
+ "type": "event"
317
+ },
318
+ {
319
+ "inputs": [],
320
+ "name": "UPGRADE_INTERFACE_VERSION",
321
+ "outputs": [
322
+ {
323
+ "internalType": "string",
324
+ "name": "",
325
+ "type": "string"
326
+ }
327
+ ],
328
+ "stateMutability": "view",
329
+ "type": "function"
330
+ },
331
+ {
332
+ "inputs": [
333
+ {
334
+ "internalType": "bytes32[]",
335
+ "name": "dataCIDs",
336
+ "type": "bytes32[]"
337
+ },
338
+ {
339
+ "internalType": "bytes32[]",
340
+ "name": "dataHashes",
341
+ "type": "bytes32[]"
342
+ },
343
+ {
344
+ "internalType": "string[]",
345
+ "name": "metadatas",
346
+ "type": "string[]"
347
+ }
348
+ ],
349
+ "name": "batchStoreDataProofs",
350
+ "outputs": [],
351
+ "stateMutability": "nonpayable",
352
+ "type": "function"
353
+ },
354
+ {
355
+ "inputs": [
356
+ {
357
+ "internalType": "bytes32",
358
+ "name": "",
359
+ "type": "bytes32"
360
+ }
361
+ ],
362
+ "name": "dataProofs",
363
+ "outputs": [
364
+ {
365
+ "internalType": "bytes32",
366
+ "name": "dataCID",
367
+ "type": "bytes32"
368
+ },
369
+ {
370
+ "internalType": "address",
371
+ "name": "owner",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "internalType": "bool",
376
+ "name": "isVerified",
377
+ "type": "bool"
378
+ },
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "timestamp",
382
+ "type": "uint256"
383
+ },
384
+ {
385
+ "internalType": "bytes32",
386
+ "name": "dataHash",
387
+ "type": "bytes32"
388
+ },
389
+ {
390
+ "internalType": "string",
391
+ "name": "metadata",
392
+ "type": "string"
393
+ }
394
+ ],
395
+ "stateMutability": "view",
396
+ "type": "function"
397
+ },
398
+ {
399
+ "inputs": [
400
+ {
401
+ "internalType": "bytes32",
402
+ "name": "dataCID",
403
+ "type": "bytes32"
404
+ },
405
+ {
406
+ "internalType": "address",
407
+ "name": "delegate",
408
+ "type": "address"
409
+ }
410
+ ],
411
+ "name": "delegateAccess",
412
+ "outputs": [],
413
+ "stateMutability": "nonpayable",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "bytes32",
420
+ "name": "",
421
+ "type": "bytes32"
422
+ },
423
+ {
424
+ "internalType": "address",
425
+ "name": "",
426
+ "type": "address"
427
+ }
428
+ ],
429
+ "name": "delegatedAccess",
430
+ "outputs": [
431
+ {
432
+ "internalType": "bool",
433
+ "name": "",
434
+ "type": "bool"
435
+ }
436
+ ],
437
+ "stateMutability": "view",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [
442
+ {
443
+ "internalType": "bytes32",
444
+ "name": "dataCID",
445
+ "type": "bytes32"
446
+ }
447
+ ],
448
+ "name": "getDataProof",
449
+ "outputs": [
450
+ {
451
+ "components": [
452
+ {
453
+ "internalType": "bytes32",
454
+ "name": "dataCID",
455
+ "type": "bytes32"
456
+ },
457
+ {
458
+ "internalType": "address",
459
+ "name": "owner",
460
+ "type": "address"
461
+ },
462
+ {
463
+ "internalType": "bool",
464
+ "name": "isVerified",
465
+ "type": "bool"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "timestamp",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "bytes32",
474
+ "name": "dataHash",
475
+ "type": "bytes32"
476
+ },
477
+ {
478
+ "internalType": "string",
479
+ "name": "metadata",
480
+ "type": "string"
481
+ }
482
+ ],
483
+ "internalType": "struct DataProofRegistry.DataProof",
484
+ "name": "proof",
485
+ "type": "tuple"
486
+ }
487
+ ],
488
+ "stateMutability": "view",
489
+ "type": "function"
490
+ },
491
+ {
492
+ "inputs": [],
493
+ "name": "getTotalProofs",
494
+ "outputs": [
495
+ {
496
+ "internalType": "uint256",
497
+ "name": "count",
498
+ "type": "uint256"
499
+ }
500
+ ],
501
+ "stateMutability": "view",
502
+ "type": "function"
503
+ },
504
+ {
505
+ "inputs": [],
506
+ "name": "getTotalVerifiedProofs",
507
+ "outputs": [
508
+ {
509
+ "internalType": "uint256",
510
+ "name": "count",
511
+ "type": "uint256"
512
+ }
513
+ ],
514
+ "stateMutability": "view",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [
519
+ {
520
+ "internalType": "address",
521
+ "name": "user",
522
+ "type": "address"
523
+ }
524
+ ],
525
+ "name": "getUserDataCIDs",
526
+ "outputs": [
527
+ {
528
+ "internalType": "bytes32[]",
529
+ "name": "cids",
530
+ "type": "bytes32[]"
531
+ }
532
+ ],
533
+ "stateMutability": "view",
534
+ "type": "function"
535
+ },
536
+ {
537
+ "inputs": [
538
+ {
539
+ "internalType": "bytes32",
540
+ "name": "dataCID",
541
+ "type": "bytes32"
542
+ },
543
+ {
544
+ "internalType": "address",
545
+ "name": "accessor",
546
+ "type": "address"
547
+ }
548
+ ],
549
+ "name": "hasAccess",
550
+ "outputs": [
551
+ {
552
+ "internalType": "bool",
553
+ "name": "hasAccess",
554
+ "type": "bool"
555
+ }
556
+ ],
557
+ "stateMutability": "view",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [
562
+ {
563
+ "internalType": "address",
564
+ "name": "_owner",
565
+ "type": "address"
566
+ }
567
+ ],
568
+ "name": "initialize",
569
+ "outputs": [],
570
+ "stateMutability": "nonpayable",
571
+ "type": "function"
572
+ },
573
+ {
574
+ "inputs": [
575
+ {
576
+ "internalType": "bytes32",
577
+ "name": "dataCID",
578
+ "type": "bytes32"
579
+ }
580
+ ],
581
+ "name": "markAsVerified",
582
+ "outputs": [],
583
+ "stateMutability": "nonpayable",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [],
588
+ "name": "owner",
589
+ "outputs": [
590
+ {
591
+ "internalType": "address",
592
+ "name": "",
593
+ "type": "address"
594
+ }
595
+ ],
596
+ "stateMutability": "view",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [],
601
+ "name": "pause",
602
+ "outputs": [],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [],
608
+ "name": "paused",
609
+ "outputs": [
610
+ {
611
+ "internalType": "bool",
612
+ "name": "",
613
+ "type": "bool"
614
+ }
615
+ ],
616
+ "stateMutability": "view",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [],
621
+ "name": "proxiableUUID",
622
+ "outputs": [
623
+ {
624
+ "internalType": "bytes32",
625
+ "name": "",
626
+ "type": "bytes32"
627
+ }
628
+ ],
629
+ "stateMutability": "view",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [],
634
+ "name": "renounceOwnership",
635
+ "outputs": [],
636
+ "stateMutability": "nonpayable",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [
641
+ {
642
+ "internalType": "bytes32",
643
+ "name": "dataCID",
644
+ "type": "bytes32"
645
+ },
646
+ {
647
+ "internalType": "address",
648
+ "name": "delegate",
649
+ "type": "address"
650
+ }
651
+ ],
652
+ "name": "revokeAccess",
653
+ "outputs": [],
654
+ "stateMutability": "nonpayable",
655
+ "type": "function"
656
+ },
657
+ {
658
+ "inputs": [
659
+ {
660
+ "internalType": "bytes32",
661
+ "name": "dataCID",
662
+ "type": "bytes32"
663
+ },
664
+ {
665
+ "internalType": "bytes32",
666
+ "name": "dataHash",
667
+ "type": "bytes32"
668
+ },
669
+ {
670
+ "internalType": "string",
671
+ "name": "metadata",
672
+ "type": "string"
673
+ }
674
+ ],
675
+ "name": "storeDataProof",
676
+ "outputs": [],
677
+ "stateMutability": "nonpayable",
678
+ "type": "function"
679
+ },
680
+ {
681
+ "inputs": [],
682
+ "name": "totalProofs",
683
+ "outputs": [
684
+ {
685
+ "internalType": "uint256",
686
+ "name": "",
687
+ "type": "uint256"
688
+ }
689
+ ],
690
+ "stateMutability": "view",
691
+ "type": "function"
692
+ },
693
+ {
694
+ "inputs": [],
695
+ "name": "totalVerifiedProofs",
696
+ "outputs": [
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "",
700
+ "type": "uint256"
701
+ }
702
+ ],
703
+ "stateMutability": "view",
704
+ "type": "function"
705
+ },
706
+ {
707
+ "inputs": [
708
+ {
709
+ "internalType": "address",
710
+ "name": "newOwner",
711
+ "type": "address"
712
+ }
713
+ ],
714
+ "name": "transferOwnership",
715
+ "outputs": [],
716
+ "stateMutability": "nonpayable",
717
+ "type": "function"
718
+ },
719
+ {
720
+ "inputs": [],
721
+ "name": "unpause",
722
+ "outputs": [],
723
+ "stateMutability": "nonpayable",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [
728
+ {
729
+ "internalType": "address",
730
+ "name": "newImplementation",
731
+ "type": "address"
732
+ },
733
+ {
734
+ "internalType": "bytes",
735
+ "name": "data",
736
+ "type": "bytes"
737
+ }
738
+ ],
739
+ "name": "upgradeToAndCall",
740
+ "outputs": [],
741
+ "stateMutability": "payable",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [
746
+ {
747
+ "internalType": "address",
748
+ "name": "",
749
+ "type": "address"
750
+ },
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "",
754
+ "type": "uint256"
755
+ }
756
+ ],
757
+ "name": "userDataCIDs",
758
+ "outputs": [
759
+ {
760
+ "internalType": "bytes32",
761
+ "name": "",
762
+ "type": "bytes32"
763
+ }
764
+ ],
765
+ "stateMutability": "view",
766
+ "type": "function"
767
+ },
768
+ {
769
+ "inputs": [
770
+ {
771
+ "internalType": "bytes32",
772
+ "name": "dataCID",
773
+ "type": "bytes32"
774
+ },
775
+ {
776
+ "internalType": "bytes32",
777
+ "name": "dataHash",
778
+ "type": "bytes32"
779
+ }
780
+ ],
781
+ "name": "verifyDataProof",
782
+ "outputs": [
783
+ {
784
+ "internalType": "bool",
785
+ "name": "matches",
786
+ "type": "bool"
787
+ }
788
+ ],
789
+ "stateMutability": "view",
790
+ "type": "function"
791
+ }
792
+ ],
793
+ "bytecode": "0x60a0806040523461011e57604061002b913060805267defa29c3580407d2602082015260208152610122565b61004960408051675ad41ce0e111f53a602082015260208152610122565b610067604080516757c8127a9eed0fc6602082015260208152610122565b5f5160206130325f395f51905f525460ff8160401c1661010f576002600160401b03196001600160401b038216016100b9575b604051612ed8908161015a823960805181818161203b01526120dd0152f35b6001600160401b0319166001600160401b039081175f5160206130325f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009a565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014557604052565b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c908163254beee2146124775750806329b3b6a31461241f5780632ded3568146124025780633f4ba83a146122ee5780634f1ef2861461208f57806352d1902d1461202957806359a89cfc14611faa5780635c975abb14611f7c578063715018a614611f1557806383177db314611ee55780638456cb5914611dde5780638d53b20814611b755780638da5cb5b14611b415780639195303f14611af85780639b1bc0c914611a81578063a9b61d4d1461174d578063ad3cb1cc14611706578063b4cecc48146115b7578063b8ed4d1714610df5578063bc5ea8aa14610d82578063c4d66de814610a2a578063cc7822fe1461049b578063d9feeb52146102ed578063ea8626a214610276578063ebb73ed8146101695763f2fde38b1461013a575f80fd5b3461016557602036600319011261016557610163610156612491565b61015e612ce7565b612c76565b005b5f80fd5b3461016557602036600319011261016557610182612491565b6101a06040805167b6013ac041cafb246020820152602081526124ed565b6101be60408051670cbc36129c4ddb3b6020820152602081526124ed565b6101dc604080516748498eca0ad1cb836020820152602081526124ed565b60018060a01b03165f52600160205260405f20604051806020835491828152019081935f5260205f20905f5b818110610260575050508161021e9103826124ed565b604051918291602083019060208452518091526040830191905f5b818110610247575050500390f35b8251845285945060209384019390920191600101610239565b8254845260209093019260019283019201610208565b34610165575f366003190112610165576102a46040805167cbe1acf9a0cbf16f6020820152602081526124ed565b6102c26040805167d05ce576b7f1b7d06020820152602081526124ed565b6102e06040805167cfc8878280d0af406020820152602081526124ed565b6020600454604051908152f35b346101655760403660031901126101655761031c6040805167a9f8cf0abb4c68716020820152602081526124ed565b61033a604080516763b5f603e71266846020820152602081526124ed565b610358604080516775a689421ea2b6996020820152602081526124ed565b6004355f525f60205260405f20604051610371816124d2565b8154815260018201549060ff602082019260018060a01b038116845260a01c16151560408201526002830154606082015260a06103bc60046003860154956080850196875201612597565b9101526103dd60408051677f6ea9656ca5f00d6020820152602081526124ed565b6103fb604080516710d28c5c00a567536020820152602081526124ed565b516001600160a01b03166104365761042760408051670ba3c98c574bf74f6020820152602081526124ed565b6336131e5760e01b5f5260045ffd5b6020906104556040805167beafdd4d92d9aa32858201528481526124ed565b6104716040805167e0ac278589965f06858201528481526124ed565b61048d6040805167baf04442deec9b45858201528481526124ed565b602435905114604051908152f35b34610165576060366003190112610165576044356024356004356001600160401b03831161016557366023840112156101655782600401356001600160401b0381116101655736602482860101116101655761050b60408051674a5206e0959317106020820152602081526124ed565b610513612d52565b61053160408051672a7e2b3ae3fff14a6020820152602081526124ed565b61054f60408051679a8dd213dcf897536020820152602081526124ed565b610557612d1a565b6105756040805167ad9a01356301fa506020820152602081526124ed565b61059360408051678085f6763fb2f2916020820152602081526124ed565b6105b160408051674e220af2bd189fff6020820152602081526124ed565b6105cf6040805167f46c459d2e9e37106020820152602081526124ed565b81610601576105f2604080516718fb9513a303f2ab6020820152602081526124ed565b633875d9bd60e21b5f5260045ffd5b61061f6040805167bcc02ac23050d3036020820152602081526124ed565b61063d604080516722af2aac833fb17a6020820152602081526124ed565b61065b6040805167e1d1d598cf2f93926020820152602081526124ed565b8261068c5761067e6040805167e7cad9c5569c695f6020820152602081526124ed565b6257c03760e51b5f5260045ffd5b6106aa6040805167b2e397734c96dd446020820152602081526124ed565b6106c86040805167f6fdf55a4bb7b6e26020820152602081526124ed565b6106e6604080516729db06ac311f35746020820152602081526124ed565b5f828152602081905260409020600101546001600160a01b031615610732576107236040805167303222c5716e693a6020820152602081526124ed565b63b8cdb9bd60e01b5f5260045ffd5b6004906107536040805167c4aea61a0dd836c86020820152602081526124ed565b61077160408051676a703208fd083cfd6020820152602081526124ed565b6040519061077e826124d2565b838252602082019533875261080460408401975f89526107b1606086019342855260808701958a87526024369201612529565b60a08681019182525f8981526020819052604090209651875591516001870180549b516001600160a81b0319909c166001600160a01b0392909216919091179a151590921b60ff60a01b16999099179055565b5160028301555160038201550192519283516001600160401b038111610a165761082e825461255f565b601f81116109d1575b50602094601f8211600114610970579481929394955f92610965575b50508160011b915f199060031b1c19161790555b6108856040805167e645c3f94d402b0c6020820152602081526124ed565b6108a36040805167cb20c4f7e92d67976020820152602081526124ed565b335f5260016020526108b88160405f20612915565b6108d66040805167c46df02d6bd1dba16020820152602081526124ed565b6108e160035461294e565b600355610902604080516757e2d21dd38be2a46020820152602081526124ed565b6109206040805167ea4b5206f0e0c03f6020820152602081526124ed565b6040519182524260208301527f5a7a01b80ad04faea3c11fc37fe53ff7e235ed40959afc682caa1195fe142cdb60403393a360015f516020612e635f395f51905f5255005b015190508580610853565b601f19821695835f52805f20915f5b8881106109b9575083600195969798106109a1575b505050811b019055610867565b01515f1960f88460031b161c19169055858080610994565b9192602060018192868501518155019401920161097f565b825f5260205f20601f830160051c81019160208410610a0c575b601f0160051c01905b818110610a015750610837565b5f81556001016109f4565b90915081906109eb565b634e487b7160e01b5f52604160045260245ffd5b3461016557602036600319011261016557610a43612491565b610a61604080516740ebd24b1f69cb146020820152602081526124ed565b5f516020612e835f395f51905f52549060ff8260401c1615916001600160401b03811680159081610d7a575b6001149081610d70575b159081610d67575b50610d585767ffffffffffffffff1981166001175f516020612e835f395f51905f525582610d2c575b50610ae7604080516746f658ea937534e96020820152602081526124ed565b610b056040805167b40c6cb4196115296020820152602081526124ed565b610b236040805167ee9967e2a2867b846020820152602081526124ed565b610b4160408051676e804afdca398c696020820152602081526124ed565b6001600160a01b038116610b7c57610b6d6040805167dda28ed7239014496020820152602081526124ed565b63e6c4247b60e01b5f5260045ffd5b610bea90610b9e60408051671fcc51e1e812601a6020820152602081526124ed565b610bbc604080516715078754538c23686020820152602081526124ed565b610bda60408051670ad2555533a6477f6020820152602081526124ed565b610be2612d79565b61015e612d79565b610c086040805167adf2919313adbc176020820152602081526124ed565b610c2660408051671f0bf759e402b4176020820152602081526124ed565b610c2e612d79565b610c4c6040805167f81deb5db97a587c6020820152602081526124ed565b610c6a6040805167e640eb987d9136626020820152602081526124ed565b610c72612d79565b610c90604080516750ef331718840d016020820152602081526124ed565b610cae6040805167de5be432349dab546020820152602081526124ed565b610cb6612d79565b610cbe612d79565b60015f516020612e635f395f51905f5255610cd557005b68ff0000000000000000195f516020612e835f395f51905f5254165f516020612e835f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b68ffffffffffffffffff191668010000000000000001175f516020612e835f395f51905f525582610ac8565b63f92ee8a960e01b5f5260045ffd5b90501584610a9f565b303b159150610a97565b849150610a8d565b3461016557602036600319011261016557610db1604080516713ad741aea9d326f6020820152602081526124ed565b610db9612d1a565b610dd76040805167ac6bae70d7d492066020820152602081526124ed565b610de2600435612970565b60015f516020612e635f395f51905f5255005b34610165576060366003190112610165576004356001600160401b03811161016557610e2590369060040161265b565b6024356001600160401b03811161016557610e4490369060040161265b565b6044356001600160401b03811161016557610e6390369060040161265b565b939094610e846040805167ec63e36a0995303e6020820152602081526124ed565b610e8c612d52565b610eaa6040805167b1619c461b6c429e6020820152602081526124ed565b610ec86040805167f2669cc36afc30116020820152602081526124ed565b610ed0612d1a565b610eee6040805167b8402deba8a302376020820152602081526124ed565b610f0c6040805167da03d4df3abc9ef56020820152602081526124ed565b610f2a60408051676f86b15f6b0b1d426020820152602081526124ed565b610f4860408051673e81baa6f7a461d06020820152602081526124ed565b610f6660408051673ee2511c0941e0c06020820152602081526124ed565b610f8460408051676d574923761615556020820152602081526124ed565b828214158061158e575b801561155a575b15610fd657610fb860408051676b8e42e4dfc596976020820152602081526124ed565b6105f26040805167707c38bdaf8bb8d26020820152602081526124ed565b610ff46040805167765ddac7da025dec6020820152602081526124ed565b6110126040805167f1df4c171939f6a26020820152602081526124ed565b611030604080516796ee1730ff69d24f6020820152602081526124ed565b36869003601e1901945f5b8381106110555760015f516020612e635f395f51905f5255005b611073604080516721dbfa4bcf4807a16020820152602081526124ed565b6110916040805167c5e200c9d675c4ad6020820152602081526124ed565b61109c818585612905565b356110bf576105f260408051679c7ded87444a23af6020820152602081526124ed565b6110dd604080516729ed8fafe65b920a6020820152602081526124ed565b6110fb60408051674e9cc829dd06ee3b6020820152602081526124ed565b61111960408051672c23101744e676056020820152602081526124ed565b611124818688612905565b356111475761067e604080516773fbefd81e55748a6020820152602081526124ed565b61116560408051671c6b933c25802fa76020820152602081526124ed565b6111836040805167227effdbe94e32a76020820152602081526124ed565b6111a16040805167706d908965ba35726020820152602081526124ed565b6111ac818585612905565b355f908152602081905260409020600101546001600160a01b0316156111f3576001906111ed60408051678d555028161b22346020820152602081526124ed565b0161103b565b6112116040805167b87fbe3d858c84636020820152602081526124ed565b61122f6040805167f645d8f2f8506ffa6020820152602081526124ed565b61123a818585612905565b35611246828789612905565b359083831015611546578260051b8a013589811215610165578a01908135916001600160401b038311610165576020019282360384136101655760049260405192611290846124d2565b8352611318602084013381526112bd60408601975f89526060870194428652608088019687523691612529565b9660a086019788526112d0898d8d612905565b355f908152602081905260409020955186559051600186018054925160ff60a01b90151560a01b166001600160a01b039092166001600160a81b031990931692909217179055565b5160028301555160038201550190518051906001600160401b038211610a1657611342835461255f565b601f8111611501575b50602090601f831160011461149a576001949392915f918361148f575b50505f19600383901b1c191690841b1790555b61139960408051679fe20eeb1c6defb16020820152602081526124ed565b6113b76040805167b7c1b28e79fc479f6020820152602081526124ed565b335f52816020526113d760405f206113d0838888612905565b3590612915565b6113f56040805167ecf23b2548dd8aa86020820152602081526124ed565b61140060035461294e565b6003556114216040805167082f173cec4d570c6020820152602081526124ed565b61143f6040805167e12e512a0f315bc06020820152602081526124ed565b61144a818686612905565b3561145682888a612905565b35906040519182524260208301527f5a7a01b80ad04faea3c11fc37fe53ff7e235ed40959afc682caa1195fe142cdb60403393a36111ed565b015190508c80611368565b90601f19831691845f52815f20925f5b8181106114e95750916001969594929183889593106114d1575b505050811b01905561137b565b01515f1960f88460031b161c191690558c80806114c4565b929360206001819287860151815501950193016114aa565b835f5260205f20601f840160051c8101916020851061153c575b601f0160051c01905b818110611531575061134b565b5f8155600101611524565b909150819061151b565b634e487b7160e01b5f52603260045260245ffd5b50848214158015610f95575061158760408051675260feb15eb9346360c11b6020820152602081526124ed565b6001610f95565b506115b06040805167ee68eb04d241783560c01b6020820152602081526124ed565b6001610f8e565b3461016557602036600319011261016557606060a06040516115d8816124d2565b5f81525f60208201525f60408201525f838201525f60808201520152611612604080516795345c26663e5c866020820152602081526124ed565b6116306040805167696d95eaaf52041a6020820152602081526124ed565b61164e60408051670f6529a5e857380f6020820152602081526124ed565b6004355f525f60205260405f20604051611667816124d2565b815481526117026001830154602083019360018060a01b038216855260ff604085019260a01c16151582526002810154606085019081526116b660046003840154936080880194855201612597565b9260a086019384526040519687966020885251602088015260018060a01b03905116604087015251151560608601525160808501525160a08401525160c08084015260e0830190612637565b0390f35b34610165575f366003190112610165576117026040516117276040826124ed565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612637565b34610165576040366003190112610165576004356117696124a7565b6117876040805167971f96e9f8a434a86020820152602081526124ed565b61178f612d52565b6117ad604080516737be996c696d3de66020820152602081526124ed565b6117cb6040805167fde3e988f9fda6ec6020820152602081526124ed565b6117d3612d1a565b6117f160408051670f3eb0401f0fcf2b6020820152602081526124ed565b61180f604080516722af0dcde449c09b6020820152602081526124ed565b61182d6040805167de0b926fc41d8d826020820152602081526124ed565b61184b6040805167467f81bc0434c3f56020820152602081526124ed565b6001600160a01b0316908161187857610b6d60408051679e0e4498240334586020820152602081526124ed565b61189660408051677ef77fa2951e4ebb6020820152602081526124ed565b6118b46040805167cb7915dc490495416020820152602081526124ed565b6118d2604080516747d529f338863fa36020820152602081526124ed565b805f525f60205260405f206040516118e9816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff161515604084015260028401546060840152600384015460808401529261193390600401612597565b9101526119546040805167888baba913ffa6676020820152602081526124ed565b6119726040805167a4334ca19d8607e76020820152602081526124ed565b516001600160a01b031633146119af576119a060408051671ba6115c5f64e2c76020820152602081526124ed565b631a27eac360e11b5f5260045ffd5b6119cd6040805167f6d306a36158de6d6020820152602081526124ed565b6119eb60408051675a9499dfcaff2adf6020820152602081526124ed565b805f52600260205260405f20825f5260205260405f20600160ff19825416179055611a2a6040805167151971400d5c80126020820152602081526124ed565b611a4860408051674d85447a8c75a6ad6020820152602081526124ed565b33907ffb557ed9c83a17601c07ff835165875fde895c4b3bb59b8e63202ae43e5058045f80a460015f516020612e635f395f51905f5255005b34610165575f36600319011261016557611aaf6040805167b7fe5e66b5fbeb926020820152602081526124ed565b611acd6040805167a6f200d04090b9f66020820152602081526124ed565b611aeb6040805167889749c5e870e65f6020820152602081526124ed565b6020600354604051908152f35b3461016557604036600319011261016557611b116124a7565b6004355f52600260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610165575f366003190112610165575f516020612e035f395f51905f52546040516001600160a01b039091168152602090f35b3461016557604036600319011261016557600435611b916124a7565b611baf60408051676c98b2b66bd01e2f6020820152602081526124ed565b611bb7612d1a565b611bd56040805167c54503841229b5cd6020820152602081526124ed565b611bf360408051675fe04ef885f44d536020820152602081526124ed565b611c116040805167350851fd25d6af916020820152602081526124ed565b611c2f60408051675009e4aaccd7e2d66020820152602081526124ed565b815f525f60205260405f20604051611c46816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff1615156040840152600284015460608401526003840154608084015292611c9090600401612597565b910152611cb160408051676bf42a961c75c3616020820152602081526124ed565b611ccf60408051679ced7d2f6c993bb76020820152602081526124ed565b516001600160a01b03163314611cfd576119a060408051672f7ffedb43323b906020820152602081526124ed565b611d1b604080516765bf6f1dd80593766020820152602081526124ed565b611d39604080516796c570b6a6d76c766020820152602081526124ed565b815f52600260205260405f2060018060a01b0382165f5260205260405f2060ff198154169055611d7d60408051677f79509afb5172806020820152602081526124ed565b611d9b6040805167076b454d68f3346e6020820152602081526124ed565b6001600160a01b03169033907ffab19bdeacf1ea13315b1da3f79a3403fe4f16793b6a03eeff9e0bbbea24fe5f5f80a460015f516020612e635f395f51905f5255005b34610165575f36600319011261016557611e0c604080516774f7937be01929ae6020820152602081526124ed565b611e14612ce7565b611e32604080516766472908b12c98b46020820152602081526124ed565b611e50604080516747f4f962ec6d72ea6020820152602081526124ed565b611e6e6040805167564cdf16a2ad351d6020820152602081526124ed565b611e8c604080516729ed18b904be96cf6020820152602081526124ed565b611e94612d52565b600160ff195f516020612e435f395f51905f525416175f516020612e435f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610165576040366003190112610165576020611f0b611f036124a7565b60043561268b565b6040519015158152f35b34610165575f36600319011261016557611f2d612ce7565b5f516020612e035f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610165575f36600319011261016557602060ff5f516020612e435f395f51905f5254166040519015158152f35b34610165576020366003190112610165576004355f525f60205260405f208054611702600183015492600281015490611fea600460038301549201612597565b9160ff604051968796875260018060a01b038116602088015260a01c16151560408601526060850152608084015260c060a084015260c0830190612637565b34610165575f366003190112610165577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036120805760206040515f516020612e235f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b6040366003190112610165576120a3612491565b6024356001600160401b0381116101655736602382011215610165576120d3903690602481600401359101612529565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156122cc575b506120805761212b6040805167e7e6c6de47a06ebe6020820152602081526124ed565b612133612ce7565b6121516040805167d5e9bf24c31e380e6020820152602081526124ed565b61216f604080516708afb135e45571026020820152602081526124ed565b6040516352d1902d60e01b81526001600160a01b0383169290602081600481875afa5f9181612298575b506121b15783634c9c8ce360e01b5f5260045260245ffd5b805f516020612e235f395f51905f528592036122865750813b15612274575f516020612e235f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511561225c575f8083602061016395519101845af43d15612254573d916122388361250e565b9261224660405194856124ed565b83523d5f602085013e612da4565b606091612da4565b50503461226557005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d6020116122c4575b816122b4602093836124ed565b8101031261016557519085612199565b3d91506122a7565b5f516020612e235f395f51905f52546001600160a01b03161415905083612108565b34610165575f3660031901126101655761231c6040805167fd5c30c73b45c2d56020820152602081526124ed565b612324612ce7565b6123426040805167b92481e31677055d6020820152602081526124ed565b6123606040805167f1d8b31bdc5d19c26020820152602081526124ed565b61237e60408051670999df59b8375b416020820152602081526124ed565b61239c60408051672e7a0da09f12b39a6020820152602081526124ed565b5f516020612e435f395f51905f525460ff8116156123f35760ff19165f516020612e435f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610165575f366003190112610165576020600354604051908152f35b3461016557604036600319011261016557612438612491565b6001600160a01b03165f9081526001602052604090208054602435919082101561016557602091612468916124bd565b90549060031b1c604051908152f35b34610165575f366003190112610165576020906004548152f35b600435906001600160a01b038216820361016557565b602435906001600160a01b038216820361016557565b8054821015611546575f5260205f2001905f90565b60c081019081106001600160401b03821117610a1657604052565b90601f801991011681019081106001600160401b03821117610a1657604052565b6001600160401b038111610a1657601f01601f191660200190565b9291926125358261250e565b9161254360405193846124ed565b829481845281830111610165578281602093845f960137010152565b90600182811c9216801561258d575b602083101461257957565b634e487b7160e01b5f52602260045260245ffd5b91607f169161256e565b9060405191825f8254926125aa8461255f565b808452936001811690811561261557506001146125d1575b506125cf925003836124ed565b565b90505f9291925260205f20905f915b8183106125f95750509060206125cf928201015f6125c2565b60209193508060019154838589010152019101909184926125e0565b9050602092506125cf94915060ff191682840152151560051b8201015f6125c2565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f84011215610165578235916001600160401b038311610165576020808501948460051b01011161016557565b6126a9604080516705a43d80deb378bc6020820152602081526124ed565b6126c760408051674c050dfa7845928d6020820152602081526124ed565b6126e56040805167326837d151a97b186020820152602081526124ed565b805f525f60205260405f206040516126fc816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff161515604084015260028401546060840152600384015460808401529261274690600401612597565b9101526127676040805167062d93dfc7db84d46020820152602081526124ed565b61278560408051677d18f4684a8594af6020820152602081526124ed565b80516001600160a01b03166127d7575050506127b560408051677fa58137145799f06020820152602081526124ed565b6127d3604080516796fe4d10f46362ba6020820152602081526124ed565b5f90565b6127f56040805167cdd98eff933285fb6020820152602081526124ed565b6128136040805167e417fa6c2bb4e07e6020820152602081526124ed565b6128316040805167d0fcec8c54db76496020820152602081526124ed565b516001600160a01b0383811691160361288757505061286460408051674d1440627196f84e6020820152602081526124ed565b6128826040805167da081faa7405cfc36020820152602081526124ed565b600190565b6128a56040805167b476bea29f9f48696020820152602081526124ed565b6128c360408051677bd6dbf2966497796020820152602081526124ed565b6128e16040805167677272f44d4d2f866020820152602081526124ed565b5f52600260205260405f209060018060a01b03165f5260205260ff60405f20541690565b91908110156115465760051b0190565b805468010000000000000000811015610a1657612937916001820181556124bd565b819291549060031b91821b915f19901b1916179055565b5f19811461295c5760010190565b634e487b7160e01b5f52601160045260245ffd5b61298e6040805167376a60d3134980156020820152602081526124ed565b6129ac6040805167c4323d2a17e272706020820152602081526124ed565b6129ca6040805167623857d0d2075af76020820152602081526124ed565b805f525f602052600160405f206129f56040805167a98e34cb52ef19db6020820152602081526124ed565b612a136040805167fe14aab366022b8e6020820152602081526124ed565b0180546001600160a01b03811680612a435761042760408051675e36e3862ec8aaa46020820152602081526124ed565b612a6160408051670ba05f51f92701046020820152602081526124ed565b612a7f60408051671fca40b80e72cea66020820152602081526124ed565b612a9d60408051674df7084929d325316020820152602081526124ed565b33141580612c55575b15612ac9576119a06040805167c2371b39a8c4f0146020820152602081526124ed565b612ae760408051676ad23ca6b64917766020820152602081526124ed565b612b05604080516791facd9f208361476020820152602081526124ed565b612b236040805167502f185e36417e256020820152602081526124ed565b60ff8160a01c165f14612b6f57505050612b516040805167dcffa6424da2d8b06020820152602081526124ed565b6125cf6040805167a2a3d502d6ec53e56020820152602081526124ed565b612b8d60408051674e0f28e0d0ba39586020820152602081526124ed565b612bab60408051670d5e4591443df0636020820152602081526124ed565b60ff60a01b1916600160a01b1790556040805167c25c9b7f5a40004f6020808301919091528152612bdc91906124ed565b612be760045461294e565b600455612c086040805167c81ccc4468a2ea336020820152602081526124ed565b612c26604080516721738ebf6a6524d96020820152602081526124ed565b604051904282527f71fd6a98660c837f34a03997c8987625ced19b1016efeecc52d4914516dcddaa60203393a3565b505f516020612e035f395f51905f52546001600160a01b0316331415612aa6565b6001600160a01b03168015612cd4575f516020612e035f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f516020612e035f395f51905f52546001600160a01b03163303612d0757565b63118cdaa760e01b5f523360045260245ffd5b60025f516020612e635f395f51905f525414612d435760025f516020612e635f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b60ff5f516020612e435f395f51905f525416612d6a57565b63d93c066560e01b5f5260045ffd5b60ff5f516020612e835f395f51905f525460401c1615612d9557565b631afcd79f60e31b5f5260045ffd5b90612dc85750805115612db957602081519101fd5b63d6bda27560e01b5f5260045ffd5b81511580612df9575b612dd9575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15612dd156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200b59efeef06b907d0dcb4970303603d8bb796957ec1c7563370b2919f47c069f64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
794
+ "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c908163254beee2146124775750806329b3b6a31461241f5780632ded3568146124025780633f4ba83a146122ee5780634f1ef2861461208f57806352d1902d1461202957806359a89cfc14611faa5780635c975abb14611f7c578063715018a614611f1557806383177db314611ee55780638456cb5914611dde5780638d53b20814611b755780638da5cb5b14611b415780639195303f14611af85780639b1bc0c914611a81578063a9b61d4d1461174d578063ad3cb1cc14611706578063b4cecc48146115b7578063b8ed4d1714610df5578063bc5ea8aa14610d82578063c4d66de814610a2a578063cc7822fe1461049b578063d9feeb52146102ed578063ea8626a214610276578063ebb73ed8146101695763f2fde38b1461013a575f80fd5b3461016557602036600319011261016557610163610156612491565b61015e612ce7565b612c76565b005b5f80fd5b3461016557602036600319011261016557610182612491565b6101a06040805167b6013ac041cafb246020820152602081526124ed565b6101be60408051670cbc36129c4ddb3b6020820152602081526124ed565b6101dc604080516748498eca0ad1cb836020820152602081526124ed565b60018060a01b03165f52600160205260405f20604051806020835491828152019081935f5260205f20905f5b818110610260575050508161021e9103826124ed565b604051918291602083019060208452518091526040830191905f5b818110610247575050500390f35b8251845285945060209384019390920191600101610239565b8254845260209093019260019283019201610208565b34610165575f366003190112610165576102a46040805167cbe1acf9a0cbf16f6020820152602081526124ed565b6102c26040805167d05ce576b7f1b7d06020820152602081526124ed565b6102e06040805167cfc8878280d0af406020820152602081526124ed565b6020600454604051908152f35b346101655760403660031901126101655761031c6040805167a9f8cf0abb4c68716020820152602081526124ed565b61033a604080516763b5f603e71266846020820152602081526124ed565b610358604080516775a689421ea2b6996020820152602081526124ed565b6004355f525f60205260405f20604051610371816124d2565b8154815260018201549060ff602082019260018060a01b038116845260a01c16151560408201526002830154606082015260a06103bc60046003860154956080850196875201612597565b9101526103dd60408051677f6ea9656ca5f00d6020820152602081526124ed565b6103fb604080516710d28c5c00a567536020820152602081526124ed565b516001600160a01b03166104365761042760408051670ba3c98c574bf74f6020820152602081526124ed565b6336131e5760e01b5f5260045ffd5b6020906104556040805167beafdd4d92d9aa32858201528481526124ed565b6104716040805167e0ac278589965f06858201528481526124ed565b61048d6040805167baf04442deec9b45858201528481526124ed565b602435905114604051908152f35b34610165576060366003190112610165576044356024356004356001600160401b03831161016557366023840112156101655782600401356001600160401b0381116101655736602482860101116101655761050b60408051674a5206e0959317106020820152602081526124ed565b610513612d52565b61053160408051672a7e2b3ae3fff14a6020820152602081526124ed565b61054f60408051679a8dd213dcf897536020820152602081526124ed565b610557612d1a565b6105756040805167ad9a01356301fa506020820152602081526124ed565b61059360408051678085f6763fb2f2916020820152602081526124ed565b6105b160408051674e220af2bd189fff6020820152602081526124ed565b6105cf6040805167f46c459d2e9e37106020820152602081526124ed565b81610601576105f2604080516718fb9513a303f2ab6020820152602081526124ed565b633875d9bd60e21b5f5260045ffd5b61061f6040805167bcc02ac23050d3036020820152602081526124ed565b61063d604080516722af2aac833fb17a6020820152602081526124ed565b61065b6040805167e1d1d598cf2f93926020820152602081526124ed565b8261068c5761067e6040805167e7cad9c5569c695f6020820152602081526124ed565b6257c03760e51b5f5260045ffd5b6106aa6040805167b2e397734c96dd446020820152602081526124ed565b6106c86040805167f6fdf55a4bb7b6e26020820152602081526124ed565b6106e6604080516729db06ac311f35746020820152602081526124ed565b5f828152602081905260409020600101546001600160a01b031615610732576107236040805167303222c5716e693a6020820152602081526124ed565b63b8cdb9bd60e01b5f5260045ffd5b6004906107536040805167c4aea61a0dd836c86020820152602081526124ed565b61077160408051676a703208fd083cfd6020820152602081526124ed565b6040519061077e826124d2565b838252602082019533875261080460408401975f89526107b1606086019342855260808701958a87526024369201612529565b60a08681019182525f8981526020819052604090209651875591516001870180549b516001600160a81b0319909c166001600160a01b0392909216919091179a151590921b60ff60a01b16999099179055565b5160028301555160038201550192519283516001600160401b038111610a165761082e825461255f565b601f81116109d1575b50602094601f8211600114610970579481929394955f92610965575b50508160011b915f199060031b1c19161790555b6108856040805167e645c3f94d402b0c6020820152602081526124ed565b6108a36040805167cb20c4f7e92d67976020820152602081526124ed565b335f5260016020526108b88160405f20612915565b6108d66040805167c46df02d6bd1dba16020820152602081526124ed565b6108e160035461294e565b600355610902604080516757e2d21dd38be2a46020820152602081526124ed565b6109206040805167ea4b5206f0e0c03f6020820152602081526124ed565b6040519182524260208301527f5a7a01b80ad04faea3c11fc37fe53ff7e235ed40959afc682caa1195fe142cdb60403393a360015f516020612e635f395f51905f5255005b015190508580610853565b601f19821695835f52805f20915f5b8881106109b9575083600195969798106109a1575b505050811b019055610867565b01515f1960f88460031b161c19169055858080610994565b9192602060018192868501518155019401920161097f565b825f5260205f20601f830160051c81019160208410610a0c575b601f0160051c01905b818110610a015750610837565b5f81556001016109f4565b90915081906109eb565b634e487b7160e01b5f52604160045260245ffd5b3461016557602036600319011261016557610a43612491565b610a61604080516740ebd24b1f69cb146020820152602081526124ed565b5f516020612e835f395f51905f52549060ff8260401c1615916001600160401b03811680159081610d7a575b6001149081610d70575b159081610d67575b50610d585767ffffffffffffffff1981166001175f516020612e835f395f51905f525582610d2c575b50610ae7604080516746f658ea937534e96020820152602081526124ed565b610b056040805167b40c6cb4196115296020820152602081526124ed565b610b236040805167ee9967e2a2867b846020820152602081526124ed565b610b4160408051676e804afdca398c696020820152602081526124ed565b6001600160a01b038116610b7c57610b6d6040805167dda28ed7239014496020820152602081526124ed565b63e6c4247b60e01b5f5260045ffd5b610bea90610b9e60408051671fcc51e1e812601a6020820152602081526124ed565b610bbc604080516715078754538c23686020820152602081526124ed565b610bda60408051670ad2555533a6477f6020820152602081526124ed565b610be2612d79565b61015e612d79565b610c086040805167adf2919313adbc176020820152602081526124ed565b610c2660408051671f0bf759e402b4176020820152602081526124ed565b610c2e612d79565b610c4c6040805167f81deb5db97a587c6020820152602081526124ed565b610c6a6040805167e640eb987d9136626020820152602081526124ed565b610c72612d79565b610c90604080516750ef331718840d016020820152602081526124ed565b610cae6040805167de5be432349dab546020820152602081526124ed565b610cb6612d79565b610cbe612d79565b60015f516020612e635f395f51905f5255610cd557005b68ff0000000000000000195f516020612e835f395f51905f5254165f516020612e835f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b68ffffffffffffffffff191668010000000000000001175f516020612e835f395f51905f525582610ac8565b63f92ee8a960e01b5f5260045ffd5b90501584610a9f565b303b159150610a97565b849150610a8d565b3461016557602036600319011261016557610db1604080516713ad741aea9d326f6020820152602081526124ed565b610db9612d1a565b610dd76040805167ac6bae70d7d492066020820152602081526124ed565b610de2600435612970565b60015f516020612e635f395f51905f5255005b34610165576060366003190112610165576004356001600160401b03811161016557610e2590369060040161265b565b6024356001600160401b03811161016557610e4490369060040161265b565b6044356001600160401b03811161016557610e6390369060040161265b565b939094610e846040805167ec63e36a0995303e6020820152602081526124ed565b610e8c612d52565b610eaa6040805167b1619c461b6c429e6020820152602081526124ed565b610ec86040805167f2669cc36afc30116020820152602081526124ed565b610ed0612d1a565b610eee6040805167b8402deba8a302376020820152602081526124ed565b610f0c6040805167da03d4df3abc9ef56020820152602081526124ed565b610f2a60408051676f86b15f6b0b1d426020820152602081526124ed565b610f4860408051673e81baa6f7a461d06020820152602081526124ed565b610f6660408051673ee2511c0941e0c06020820152602081526124ed565b610f8460408051676d574923761615556020820152602081526124ed565b828214158061158e575b801561155a575b15610fd657610fb860408051676b8e42e4dfc596976020820152602081526124ed565b6105f26040805167707c38bdaf8bb8d26020820152602081526124ed565b610ff46040805167765ddac7da025dec6020820152602081526124ed565b6110126040805167f1df4c171939f6a26020820152602081526124ed565b611030604080516796ee1730ff69d24f6020820152602081526124ed565b36869003601e1901945f5b8381106110555760015f516020612e635f395f51905f5255005b611073604080516721dbfa4bcf4807a16020820152602081526124ed565b6110916040805167c5e200c9d675c4ad6020820152602081526124ed565b61109c818585612905565b356110bf576105f260408051679c7ded87444a23af6020820152602081526124ed565b6110dd604080516729ed8fafe65b920a6020820152602081526124ed565b6110fb60408051674e9cc829dd06ee3b6020820152602081526124ed565b61111960408051672c23101744e676056020820152602081526124ed565b611124818688612905565b356111475761067e604080516773fbefd81e55748a6020820152602081526124ed565b61116560408051671c6b933c25802fa76020820152602081526124ed565b6111836040805167227effdbe94e32a76020820152602081526124ed565b6111a16040805167706d908965ba35726020820152602081526124ed565b6111ac818585612905565b355f908152602081905260409020600101546001600160a01b0316156111f3576001906111ed60408051678d555028161b22346020820152602081526124ed565b0161103b565b6112116040805167b87fbe3d858c84636020820152602081526124ed565b61122f6040805167f645d8f2f8506ffa6020820152602081526124ed565b61123a818585612905565b35611246828789612905565b359083831015611546578260051b8a013589811215610165578a01908135916001600160401b038311610165576020019282360384136101655760049260405192611290846124d2565b8352611318602084013381526112bd60408601975f89526060870194428652608088019687523691612529565b9660a086019788526112d0898d8d612905565b355f908152602081905260409020955186559051600186018054925160ff60a01b90151560a01b166001600160a01b039092166001600160a81b031990931692909217179055565b5160028301555160038201550190518051906001600160401b038211610a1657611342835461255f565b601f8111611501575b50602090601f831160011461149a576001949392915f918361148f575b50505f19600383901b1c191690841b1790555b61139960408051679fe20eeb1c6defb16020820152602081526124ed565b6113b76040805167b7c1b28e79fc479f6020820152602081526124ed565b335f52816020526113d760405f206113d0838888612905565b3590612915565b6113f56040805167ecf23b2548dd8aa86020820152602081526124ed565b61140060035461294e565b6003556114216040805167082f173cec4d570c6020820152602081526124ed565b61143f6040805167e12e512a0f315bc06020820152602081526124ed565b61144a818686612905565b3561145682888a612905565b35906040519182524260208301527f5a7a01b80ad04faea3c11fc37fe53ff7e235ed40959afc682caa1195fe142cdb60403393a36111ed565b015190508c80611368565b90601f19831691845f52815f20925f5b8181106114e95750916001969594929183889593106114d1575b505050811b01905561137b565b01515f1960f88460031b161c191690558c80806114c4565b929360206001819287860151815501950193016114aa565b835f5260205f20601f840160051c8101916020851061153c575b601f0160051c01905b818110611531575061134b565b5f8155600101611524565b909150819061151b565b634e487b7160e01b5f52603260045260245ffd5b50848214158015610f95575061158760408051675260feb15eb9346360c11b6020820152602081526124ed565b6001610f95565b506115b06040805167ee68eb04d241783560c01b6020820152602081526124ed565b6001610f8e565b3461016557602036600319011261016557606060a06040516115d8816124d2565b5f81525f60208201525f60408201525f838201525f60808201520152611612604080516795345c26663e5c866020820152602081526124ed565b6116306040805167696d95eaaf52041a6020820152602081526124ed565b61164e60408051670f6529a5e857380f6020820152602081526124ed565b6004355f525f60205260405f20604051611667816124d2565b815481526117026001830154602083019360018060a01b038216855260ff604085019260a01c16151582526002810154606085019081526116b660046003840154936080880194855201612597565b9260a086019384526040519687966020885251602088015260018060a01b03905116604087015251151560608601525160808501525160a08401525160c08084015260e0830190612637565b0390f35b34610165575f366003190112610165576117026040516117276040826124ed565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612637565b34610165576040366003190112610165576004356117696124a7565b6117876040805167971f96e9f8a434a86020820152602081526124ed565b61178f612d52565b6117ad604080516737be996c696d3de66020820152602081526124ed565b6117cb6040805167fde3e988f9fda6ec6020820152602081526124ed565b6117d3612d1a565b6117f160408051670f3eb0401f0fcf2b6020820152602081526124ed565b61180f604080516722af0dcde449c09b6020820152602081526124ed565b61182d6040805167de0b926fc41d8d826020820152602081526124ed565b61184b6040805167467f81bc0434c3f56020820152602081526124ed565b6001600160a01b0316908161187857610b6d60408051679e0e4498240334586020820152602081526124ed565b61189660408051677ef77fa2951e4ebb6020820152602081526124ed565b6118b46040805167cb7915dc490495416020820152602081526124ed565b6118d2604080516747d529f338863fa36020820152602081526124ed565b805f525f60205260405f206040516118e9816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff161515604084015260028401546060840152600384015460808401529261193390600401612597565b9101526119546040805167888baba913ffa6676020820152602081526124ed565b6119726040805167a4334ca19d8607e76020820152602081526124ed565b516001600160a01b031633146119af576119a060408051671ba6115c5f64e2c76020820152602081526124ed565b631a27eac360e11b5f5260045ffd5b6119cd6040805167f6d306a36158de6d6020820152602081526124ed565b6119eb60408051675a9499dfcaff2adf6020820152602081526124ed565b805f52600260205260405f20825f5260205260405f20600160ff19825416179055611a2a6040805167151971400d5c80126020820152602081526124ed565b611a4860408051674d85447a8c75a6ad6020820152602081526124ed565b33907ffb557ed9c83a17601c07ff835165875fde895c4b3bb59b8e63202ae43e5058045f80a460015f516020612e635f395f51905f5255005b34610165575f36600319011261016557611aaf6040805167b7fe5e66b5fbeb926020820152602081526124ed565b611acd6040805167a6f200d04090b9f66020820152602081526124ed565b611aeb6040805167889749c5e870e65f6020820152602081526124ed565b6020600354604051908152f35b3461016557604036600319011261016557611b116124a7565b6004355f52600260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610165575f366003190112610165575f516020612e035f395f51905f52546040516001600160a01b039091168152602090f35b3461016557604036600319011261016557600435611b916124a7565b611baf60408051676c98b2b66bd01e2f6020820152602081526124ed565b611bb7612d1a565b611bd56040805167c54503841229b5cd6020820152602081526124ed565b611bf360408051675fe04ef885f44d536020820152602081526124ed565b611c116040805167350851fd25d6af916020820152602081526124ed565b611c2f60408051675009e4aaccd7e2d66020820152602081526124ed565b815f525f60205260405f20604051611c46816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff1615156040840152600284015460608401526003840154608084015292611c9090600401612597565b910152611cb160408051676bf42a961c75c3616020820152602081526124ed565b611ccf60408051679ced7d2f6c993bb76020820152602081526124ed565b516001600160a01b03163314611cfd576119a060408051672f7ffedb43323b906020820152602081526124ed565b611d1b604080516765bf6f1dd80593766020820152602081526124ed565b611d39604080516796c570b6a6d76c766020820152602081526124ed565b815f52600260205260405f2060018060a01b0382165f5260205260405f2060ff198154169055611d7d60408051677f79509afb5172806020820152602081526124ed565b611d9b6040805167076b454d68f3346e6020820152602081526124ed565b6001600160a01b03169033907ffab19bdeacf1ea13315b1da3f79a3403fe4f16793b6a03eeff9e0bbbea24fe5f5f80a460015f516020612e635f395f51905f5255005b34610165575f36600319011261016557611e0c604080516774f7937be01929ae6020820152602081526124ed565b611e14612ce7565b611e32604080516766472908b12c98b46020820152602081526124ed565b611e50604080516747f4f962ec6d72ea6020820152602081526124ed565b611e6e6040805167564cdf16a2ad351d6020820152602081526124ed565b611e8c604080516729ed18b904be96cf6020820152602081526124ed565b611e94612d52565b600160ff195f516020612e435f395f51905f525416175f516020612e435f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610165576040366003190112610165576020611f0b611f036124a7565b60043561268b565b6040519015158152f35b34610165575f36600319011261016557611f2d612ce7565b5f516020612e035f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610165575f36600319011261016557602060ff5f516020612e435f395f51905f5254166040519015158152f35b34610165576020366003190112610165576004355f525f60205260405f208054611702600183015492600281015490611fea600460038301549201612597565b9160ff604051968796875260018060a01b038116602088015260a01c16151560408601526060850152608084015260c060a084015260c0830190612637565b34610165575f366003190112610165577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036120805760206040515f516020612e235f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b6040366003190112610165576120a3612491565b6024356001600160401b0381116101655736602382011215610165576120d3903690602481600401359101612529565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156122cc575b506120805761212b6040805167e7e6c6de47a06ebe6020820152602081526124ed565b612133612ce7565b6121516040805167d5e9bf24c31e380e6020820152602081526124ed565b61216f604080516708afb135e45571026020820152602081526124ed565b6040516352d1902d60e01b81526001600160a01b0383169290602081600481875afa5f9181612298575b506121b15783634c9c8ce360e01b5f5260045260245ffd5b805f516020612e235f395f51905f528592036122865750813b15612274575f516020612e235f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a281511561225c575f8083602061016395519101845af43d15612254573d916122388361250e565b9261224660405194856124ed565b83523d5f602085013e612da4565b606091612da4565b50503461226557005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d6020116122c4575b816122b4602093836124ed565b8101031261016557519085612199565b3d91506122a7565b5f516020612e235f395f51905f52546001600160a01b03161415905083612108565b34610165575f3660031901126101655761231c6040805167fd5c30c73b45c2d56020820152602081526124ed565b612324612ce7565b6123426040805167b92481e31677055d6020820152602081526124ed565b6123606040805167f1d8b31bdc5d19c26020820152602081526124ed565b61237e60408051670999df59b8375b416020820152602081526124ed565b61239c60408051672e7a0da09f12b39a6020820152602081526124ed565b5f516020612e435f395f51905f525460ff8116156123f35760ff19165f516020612e435f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610165575f366003190112610165576020600354604051908152f35b3461016557604036600319011261016557612438612491565b6001600160a01b03165f9081526001602052604090208054602435919082101561016557602091612468916124bd565b90549060031b1c604051908152f35b34610165575f366003190112610165576020906004548152f35b600435906001600160a01b038216820361016557565b602435906001600160a01b038216820361016557565b8054821015611546575f5260205f2001905f90565b60c081019081106001600160401b03821117610a1657604052565b90601f801991011681019081106001600160401b03821117610a1657604052565b6001600160401b038111610a1657601f01601f191660200190565b9291926125358261250e565b9161254360405193846124ed565b829481845281830111610165578281602093845f960137010152565b90600182811c9216801561258d575b602083101461257957565b634e487b7160e01b5f52602260045260245ffd5b91607f169161256e565b9060405191825f8254926125aa8461255f565b808452936001811690811561261557506001146125d1575b506125cf925003836124ed565b565b90505f9291925260205f20905f915b8183106125f95750509060206125cf928201015f6125c2565b60209193508060019154838589010152019101909184926125e0565b9050602092506125cf94915060ff191682840152151560051b8201015f6125c2565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f84011215610165578235916001600160401b038311610165576020808501948460051b01011161016557565b6126a9604080516705a43d80deb378bc6020820152602081526124ed565b6126c760408051674c050dfa7845928d6020820152602081526124ed565b6126e56040805167326837d151a97b186020820152602081526124ed565b805f525f60205260405f206040516126fc816124d2565b8154815260018201546001600160a01b0381166020830190815260a091821c60ff161515604084015260028401546060840152600384015460808401529261274690600401612597565b9101526127676040805167062d93dfc7db84d46020820152602081526124ed565b61278560408051677d18f4684a8594af6020820152602081526124ed565b80516001600160a01b03166127d7575050506127b560408051677fa58137145799f06020820152602081526124ed565b6127d3604080516796fe4d10f46362ba6020820152602081526124ed565b5f90565b6127f56040805167cdd98eff933285fb6020820152602081526124ed565b6128136040805167e417fa6c2bb4e07e6020820152602081526124ed565b6128316040805167d0fcec8c54db76496020820152602081526124ed565b516001600160a01b0383811691160361288757505061286460408051674d1440627196f84e6020820152602081526124ed565b6128826040805167da081faa7405cfc36020820152602081526124ed565b600190565b6128a56040805167b476bea29f9f48696020820152602081526124ed565b6128c360408051677bd6dbf2966497796020820152602081526124ed565b6128e16040805167677272f44d4d2f866020820152602081526124ed565b5f52600260205260405f209060018060a01b03165f5260205260ff60405f20541690565b91908110156115465760051b0190565b805468010000000000000000811015610a1657612937916001820181556124bd565b819291549060031b91821b915f19901b1916179055565b5f19811461295c5760010190565b634e487b7160e01b5f52601160045260245ffd5b61298e6040805167376a60d3134980156020820152602081526124ed565b6129ac6040805167c4323d2a17e272706020820152602081526124ed565b6129ca6040805167623857d0d2075af76020820152602081526124ed565b805f525f602052600160405f206129f56040805167a98e34cb52ef19db6020820152602081526124ed565b612a136040805167fe14aab366022b8e6020820152602081526124ed565b0180546001600160a01b03811680612a435761042760408051675e36e3862ec8aaa46020820152602081526124ed565b612a6160408051670ba05f51f92701046020820152602081526124ed565b612a7f60408051671fca40b80e72cea66020820152602081526124ed565b612a9d60408051674df7084929d325316020820152602081526124ed565b33141580612c55575b15612ac9576119a06040805167c2371b39a8c4f0146020820152602081526124ed565b612ae760408051676ad23ca6b64917766020820152602081526124ed565b612b05604080516791facd9f208361476020820152602081526124ed565b612b236040805167502f185e36417e256020820152602081526124ed565b60ff8160a01c165f14612b6f57505050612b516040805167dcffa6424da2d8b06020820152602081526124ed565b6125cf6040805167a2a3d502d6ec53e56020820152602081526124ed565b612b8d60408051674e0f28e0d0ba39586020820152602081526124ed565b612bab60408051670d5e4591443df0636020820152602081526124ed565b60ff60a01b1916600160a01b1790556040805167c25c9b7f5a40004f6020808301919091528152612bdc91906124ed565b612be760045461294e565b600455612c086040805167c81ccc4468a2ea336020820152602081526124ed565b612c26604080516721738ebf6a6524d96020820152602081526124ed565b604051904282527f71fd6a98660c837f34a03997c8987625ced19b1016efeecc52d4914516dcddaa60203393a3565b505f516020612e035f395f51905f52546001600160a01b0316331415612aa6565b6001600160a01b03168015612cd4575f516020612e035f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f516020612e035f395f51905f52546001600160a01b03163303612d0757565b63118cdaa760e01b5f523360045260245ffd5b60025f516020612e635f395f51905f525414612d435760025f516020612e635f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b60ff5f516020612e435f395f51905f525416612d6a57565b63d93c066560e01b5f5260045ffd5b60ff5f516020612e835f395f51905f525460401c1615612d9557565b631afcd79f60e31b5f5260045ffd5b90612dc85750805115612db957602081519101fd5b63d6bda27560e01b5f5260045ffd5b81511580612df9575b612dd9575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15612dd156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200b59efeef06b907d0dcb4970303603d8bb796957ec1c7563370b2919f47c069f64736f6c634300081c0033",
795
+ "linkReferences": {},
796
+ "deployedLinkReferences": {}
797
+ }