@etherisc/gif-next 0.0.2-d67ce7f-686 → 0.0.2-d6a50e7-658

Sign up to get free protection for your applications and to get access to all the features.
Files changed (503) hide show
  1. package/README.md +32 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +158 -70
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +97 -37
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +175 -371
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +115 -295
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +239 -295
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +125 -119
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +115 -143
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +127 -64
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +130 -61
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +165 -157
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +317 -143
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +58 -85
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +927 -262
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +131 -266
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -92
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +692 -443
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +127 -323
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +102 -130
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +103 -283
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +125 -305
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +170 -337
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +111 -133
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +86 -67
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +124 -163
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +303 -207
  134. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  135. package/artifacts/contracts/pool/Pool.sol/Pool.json +122 -313
  136. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +384 -410
  138. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +122 -104
  140. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +134 -184
  142. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +91 -93
  144. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +238 -357
  146. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  148. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +421 -222
  150. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +142 -108
  152. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +94 -9
  154. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +303 -9
  156. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +302 -150
  158. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +136 -83
  160. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +235 -202
  162. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  163. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +57 -4
  164. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +347 -378
  166. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  167. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +115 -109
  168. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  169. package/artifacts/contracts/product/PricingService.sol/PricingService.json +227 -314
  170. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  172. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  173. package/artifacts/contracts/product/Product.sol/Product.json +236 -355
  174. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  175. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  176. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  177. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  178. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  179. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  180. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +315 -34
  182. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  183. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  184. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  185. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  186. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  188. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/Registry.sol/Registry.json +521 -95
  190. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  191. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +275 -160
  192. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  193. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  194. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +94 -80
  196. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  197. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  198. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  200. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +412 -246
  202. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  203. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  204. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  205. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  206. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  207. package/artifacts/contracts/shared/Component.sol/Component.json +89 -240
  208. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +502 -617
  210. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  211. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +137 -133
  212. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  213. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  214. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  215. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  222. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +89 -88
  224. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +448 -260
  226. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +102 -130
  228. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  230. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  232. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  234. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  236. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  238. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  241. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  242. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  243. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  244. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -282
  245. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  246. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  247. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  248. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  249. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  250. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  251. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  252. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  253. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  254. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  255. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  256. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  257. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  258. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  259. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  260. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  261. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  262. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +674 -49
  263. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  265. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  266. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  267. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  268. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +134 -125
  269. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  270. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  271. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  272. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +64 -94
  273. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  274. package/artifacts/contracts/staking/Staking.sol/Staking.json +217 -359
  275. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  276. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  277. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  278. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +119 -104
  279. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  280. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -11
  281. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +100 -171
  283. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +98 -84
  285. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +149 -108
  287. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  288. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +55 -24
  289. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  290. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
  292. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  295. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  297. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  299. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  301. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  302. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  303. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  305. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  306. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  307. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  309. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  311. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  313. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  315. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
  317. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +3 -3
  319. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  321. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  325. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  328. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  330. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  332. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  334. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  335. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  336. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +71 -70
  337. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  338. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  339. package/contracts/accounting/AccountingService.sol +262 -0
  340. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  341. package/contracts/accounting/IAccountingService.sol +45 -0
  342. package/contracts/authorization/AccessAdmin.sol +192 -124
  343. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  344. package/contracts/authorization/Authorization.sol +111 -40
  345. package/contracts/authorization/IAccess.sol +1 -0
  346. package/contracts/authorization/IAccessAdmin.sol +10 -6
  347. package/contracts/authorization/IAuthorization.sol +13 -7
  348. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  349. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  350. package/contracts/distribution/BasicDistribution.sol +8 -7
  351. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  352. package/contracts/distribution/Distribution.sol +33 -41
  353. package/contracts/distribution/DistributionService.sol +112 -91
  354. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  355. package/contracts/distribution/IDistributionComponent.sol +1 -1
  356. package/contracts/distribution/IDistributionService.sol +14 -11
  357. package/contracts/examples/fire/DamageLevel.sol +59 -0
  358. package/contracts/examples/fire/FirePool.sol +90 -0
  359. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  360. package/contracts/examples/fire/FireProduct.sol +438 -0
  361. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  362. package/contracts/examples/fire/FireUSD.sol +26 -0
  363. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  364. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  365. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  366. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  367. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  368. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  369. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  370. package/contracts/instance/BundleSet.sol +42 -38
  371. package/contracts/instance/IInstance.sol +16 -36
  372. package/contracts/instance/IInstanceService.sol +9 -29
  373. package/contracts/instance/Instance.sol +47 -66
  374. package/contracts/instance/InstanceAdmin.sol +133 -73
  375. package/contracts/instance/InstanceAuthorizationV3.sol +55 -34
  376. package/contracts/instance/InstanceReader.sol +218 -27
  377. package/contracts/instance/InstanceService.sol +125 -164
  378. package/contracts/instance/InstanceServiceManager.sol +6 -7
  379. package/contracts/instance/InstanceStore.sol +23 -2
  380. package/contracts/instance/RiskSet.sol +118 -0
  381. package/contracts/instance/base/ObjectCounter.sol +1 -2
  382. package/contracts/instance/base/ObjectLifecycle.sol +10 -1
  383. package/contracts/instance/base/ObjectSet.sol +31 -33
  384. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  385. package/contracts/instance/module/IComponents.sol +14 -10
  386. package/contracts/instance/module/IPolicy.sol +25 -24
  387. package/contracts/instance/module/IRisk.sol +3 -0
  388. package/contracts/oracle/BasicOracle.sol +0 -1
  389. package/contracts/oracle/IOracleService.sol +2 -1
  390. package/contracts/oracle/Oracle.sol +7 -17
  391. package/contracts/oracle/OracleService.sol +113 -81
  392. package/contracts/oracle/OracleServiceManager.sol +6 -6
  393. package/contracts/pool/BasicPool.sol +35 -26
  394. package/contracts/pool/BasicPoolAuthorization.sol +14 -4
  395. package/contracts/pool/BundleService.sol +105 -117
  396. package/contracts/pool/BundleServiceManager.sol +6 -6
  397. package/contracts/pool/IBundleService.sol +8 -20
  398. package/contracts/pool/IPoolComponent.sol +19 -15
  399. package/contracts/pool/IPoolService.sol +52 -48
  400. package/contracts/pool/Pool.sol +145 -128
  401. package/contracts/pool/PoolService.sol +297 -207
  402. package/contracts/pool/PoolServiceManager.sol +4 -4
  403. package/contracts/product/ApplicationService.sol +72 -43
  404. package/contracts/product/ApplicationServiceManager.sol +4 -4
  405. package/contracts/product/BasicProduct.sol +11 -12
  406. package/contracts/product/BasicProductAuthorization.sol +1 -3
  407. package/contracts/product/ClaimService.sol +422 -138
  408. package/contracts/product/ClaimServiceManager.sol +4 -4
  409. package/contracts/product/IApplicationService.sol +6 -2
  410. package/contracts/product/IClaimService.sol +43 -7
  411. package/contracts/product/IPolicyService.sol +42 -37
  412. package/contracts/product/IPricingService.sol +10 -10
  413. package/contracts/product/IProductComponent.sol +27 -5
  414. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  415. package/contracts/product/PolicyService.sol +477 -283
  416. package/contracts/product/PolicyServiceManager.sol +4 -4
  417. package/contracts/product/PricingService.sol +66 -62
  418. package/contracts/product/PricingServiceManager.sol +4 -4
  419. package/contracts/product/Product.sol +143 -91
  420. package/contracts/product/RiskService.sol +151 -0
  421. package/contracts/product/RiskServiceManager.sol +39 -0
  422. package/contracts/registry/ChainNft.sol +72 -40
  423. package/contracts/registry/IRegistry.sol +58 -28
  424. package/contracts/registry/IRegistryService.sol +5 -12
  425. package/contracts/registry/IRelease.sol +26 -0
  426. package/contracts/registry/ITransferInterceptor.sol +1 -2
  427. package/contracts/registry/Registry.sol +353 -203
  428. package/contracts/registry/RegistryAdmin.sol +161 -182
  429. package/contracts/registry/RegistryService.sol +37 -48
  430. package/contracts/registry/RegistryServiceManager.sol +3 -3
  431. package/contracts/registry/ReleaseAdmin.sol +245 -0
  432. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  433. package/contracts/registry/ReleaseRegistry.sol +258 -232
  434. package/contracts/registry/ServiceAuthorizationV3.sol +94 -52
  435. package/contracts/registry/TokenRegistry.sol +6 -8
  436. package/contracts/shared/Component.sol +72 -127
  437. package/contracts/shared/ComponentService.sol +427 -377
  438. package/contracts/shared/ComponentServiceManager.sol +8 -5
  439. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  440. package/contracts/shared/ContractLib.sol +252 -0
  441. package/contracts/shared/IComponent.sol +8 -18
  442. package/contracts/shared/IComponentService.sol +45 -37
  443. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  444. package/contracts/shared/ILifecycle.sol +3 -1
  445. package/contracts/shared/INftOwnable.sol +2 -0
  446. package/contracts/shared/IPolicyHolder.sol +12 -22
  447. package/contracts/shared/IRegisterable.sol +23 -1
  448. package/contracts/shared/IService.sol +3 -5
  449. package/contracts/shared/InitializableERC165.sol +2 -2
  450. package/contracts/shared/InstanceLinkedComponent.sol +72 -47
  451. package/contracts/shared/KeyValueStore.sol +1 -1
  452. package/contracts/shared/Lifecycle.sol +15 -4
  453. package/contracts/shared/NftOwnable.sol +29 -9
  454. package/contracts/shared/PolicyHolder.sol +15 -52
  455. package/contracts/shared/Registerable.sol +55 -21
  456. package/contracts/shared/RegistryLinked.sol +9 -14
  457. package/contracts/shared/Service.sol +15 -32
  458. package/contracts/shared/TokenHandler.sol +356 -29
  459. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  460. package/contracts/staking/IStaking.sol +11 -5
  461. package/contracts/staking/IStakingService.sol +0 -3
  462. package/contracts/staking/StakeManagerLib.sol +18 -25
  463. package/contracts/staking/Staking.sol +71 -61
  464. package/contracts/staking/StakingManager.sol +8 -6
  465. package/contracts/staking/StakingReader.sol +12 -5
  466. package/contracts/staking/StakingService.sol +57 -25
  467. package/contracts/staking/StakingServiceManager.sol +2 -2
  468. package/contracts/staking/TargetManagerLib.sol +7 -3
  469. package/contracts/type/Amount.sol +15 -0
  470. package/contracts/type/ClaimId.sol +6 -1
  471. package/contracts/type/Key32.sol +2 -2
  472. package/contracts/type/Key32Set.sol +62 -0
  473. package/contracts/type/NftId.sol +7 -0
  474. package/contracts/type/ObjectType.sol +36 -17
  475. package/contracts/type/PayoutId.sol +10 -10
  476. package/contracts/type/RiskId.sol +35 -4
  477. package/contracts/type/RoleId.sol +4 -13
  478. package/contracts/type/Seconds.sol +8 -0
  479. package/contracts/type/StateId.sol +15 -1
  480. package/contracts/type/Timestamp.sol +0 -5
  481. package/contracts/type/UFixed.sol +13 -119
  482. package/contracts/type/Version.sol +15 -5
  483. package/contracts/upgradeability/ProxyManager.sol +68 -34
  484. package/contracts/upgradeability/Versionable.sol +2 -2
  485. package/package.json +4 -3
  486. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  487. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  488. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  489. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  490. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  491. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  492. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  493. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  494. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  495. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  496. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  497. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  498. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  499. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  500. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  501. package/contracts/product/ProductService.sol +0 -99
  502. package/contracts/product/ProductServiceManager.sol +0 -39
  503. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -13,6 +13,130 @@
13
13
  "name": "ErrorInstanceReaderInstanceAddressZero",
14
14
  "type": "error"
15
15
  },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "NftId",
20
+ "name": "poolNftId",
21
+ "type": "uint96"
22
+ }
23
+ ],
24
+ "name": "activeBundles",
25
+ "outputs": [
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "bundleCount",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "NftId",
39
+ "name": "productNftId",
40
+ "type": "uint96"
41
+ }
42
+ ],
43
+ "name": "activeRisks",
44
+ "outputs": [
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "activeRiskCount",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "stateMutability": "view",
52
+ "type": "function"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "NftId",
58
+ "name": "poolNftId",
59
+ "type": "uint96"
60
+ }
61
+ ],
62
+ "name": "bundles",
63
+ "outputs": [
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "bundleCount",
67
+ "type": "uint256"
68
+ }
69
+ ],
70
+ "stateMutability": "view",
71
+ "type": "function"
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "internalType": "NftId",
77
+ "name": "policyNftId",
78
+ "type": "uint96"
79
+ }
80
+ ],
81
+ "name": "claims",
82
+ "outputs": [
83
+ {
84
+ "internalType": "uint16",
85
+ "name": "claimCount",
86
+ "type": "uint16"
87
+ }
88
+ ],
89
+ "stateMutability": "view",
90
+ "type": "function"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "NftId",
96
+ "name": "poolNftId",
97
+ "type": "uint96"
98
+ },
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "idx",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "getActiveBundleNftId",
106
+ "outputs": [
107
+ {
108
+ "internalType": "NftId",
109
+ "name": "bundleNftId",
110
+ "type": "uint96"
111
+ }
112
+ ],
113
+ "stateMutability": "view",
114
+ "type": "function"
115
+ },
116
+ {
117
+ "inputs": [
118
+ {
119
+ "internalType": "NftId",
120
+ "name": "productNftId",
121
+ "type": "uint96"
122
+ },
123
+ {
124
+ "internalType": "uint256",
125
+ "name": "idx",
126
+ "type": "uint256"
127
+ }
128
+ ],
129
+ "name": "getActiveRiskId",
130
+ "outputs": [
131
+ {
132
+ "internalType": "RiskId",
133
+ "name": "riskId",
134
+ "type": "bytes8"
135
+ }
136
+ ],
137
+ "stateMutability": "view",
138
+ "type": "function"
139
+ },
16
140
  {
17
141
  "inputs": [
18
142
  {
@@ -95,6 +219,81 @@
95
219
  "stateMutability": "view",
96
220
  "type": "function"
97
221
  },
222
+ {
223
+ "inputs": [
224
+ {
225
+ "internalType": "NftId",
226
+ "name": "poolNftId",
227
+ "type": "uint96"
228
+ },
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "idx",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "getBundleNftId",
236
+ "outputs": [
237
+ {
238
+ "internalType": "NftId",
239
+ "name": "bundleNftId",
240
+ "type": "uint96"
241
+ }
242
+ ],
243
+ "stateMutability": "view",
244
+ "type": "function"
245
+ },
246
+ {
247
+ "inputs": [],
248
+ "name": "getBundleSet",
249
+ "outputs": [
250
+ {
251
+ "internalType": "contract BundleSet",
252
+ "name": "bundleSet",
253
+ "type": "address"
254
+ }
255
+ ],
256
+ "stateMutability": "view",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [
261
+ {
262
+ "internalType": "NftId",
263
+ "name": "bundleNftId",
264
+ "type": "uint96"
265
+ }
266
+ ],
267
+ "name": "getBundleState",
268
+ "outputs": [
269
+ {
270
+ "internalType": "StateId",
271
+ "name": "state",
272
+ "type": "uint8"
273
+ }
274
+ ],
275
+ "stateMutability": "view",
276
+ "type": "function"
277
+ },
278
+ {
279
+ "inputs": [
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "idx",
283
+ "type": "uint256"
284
+ }
285
+ ],
286
+ "name": "getClaimId",
287
+ "outputs": [
288
+ {
289
+ "internalType": "ClaimId",
290
+ "name": "claimId",
291
+ "type": "uint16"
292
+ }
293
+ ],
294
+ "stateMutability": "view",
295
+ "type": "function"
296
+ },
98
297
  {
99
298
  "inputs": [
100
299
  {
@@ -123,14 +322,14 @@
123
322
  "type": "uint96"
124
323
  },
125
324
  {
126
- "internalType": "uint8",
325
+ "internalType": "uint24",
127
326
  "name": "payoutsCount",
128
- "type": "uint8"
327
+ "type": "uint24"
129
328
  },
130
329
  {
131
- "internalType": "uint8",
330
+ "internalType": "uint24",
132
331
  "name": "openPayoutsCount",
133
- "type": "uint8"
332
+ "type": "uint24"
134
333
  },
135
334
  {
136
335
  "internalType": "bytes",
@@ -197,11 +396,6 @@
197
396
  "name": "name",
198
397
  "type": "string"
199
398
  },
200
- {
201
- "internalType": "NftId",
202
- "name": "productNftId",
203
- "type": "uint96"
204
- },
205
399
  {
206
400
  "internalType": "contract IERC20Metadata",
207
401
  "name": "token",
@@ -212,11 +406,6 @@
212
406
  "name": "tokenHandler",
213
407
  "type": "address"
214
408
  },
215
- {
216
- "internalType": "address",
217
- "name": "wallet",
218
- "type": "address"
219
- },
220
409
  {
221
410
  "internalType": "bytes",
222
411
  "name": "data",
@@ -381,81 +570,221 @@
381
570
  "stateMutability": "view",
382
571
  "type": "function"
383
572
  },
384
- {
385
- "inputs": [],
386
- "name": "getInstance",
387
- "outputs": [
388
- {
389
- "internalType": "contract IInstance",
390
- "name": "instance",
391
- "type": "address"
392
- }
393
- ],
394
- "stateMutability": "view",
395
- "type": "function"
396
- },
397
- {
398
- "inputs": [],
399
- "name": "getInstanceStore",
400
- "outputs": [
401
- {
402
- "internalType": "contract IKeyValueStore",
403
- "name": "store",
404
- "type": "address"
405
- }
406
- ],
407
- "stateMutability": "view",
408
- "type": "function"
409
- },
410
573
  {
411
574
  "inputs": [
412
575
  {
413
576
  "internalType": "NftId",
414
- "name": "targetNftId",
415
- "type": "uint96"
416
- }
417
- ],
418
- "name": "getLockedAmount",
419
- "outputs": [
420
- {
421
- "internalType": "Amount",
422
- "name": "",
577
+ "name": "productNftId",
423
578
  "type": "uint96"
424
579
  }
425
580
  ],
426
- "stateMutability": "view",
427
- "type": "function"
428
- },
429
- {
430
- "inputs": [
431
- {
432
- "internalType": "Key32",
433
- "name": "key",
434
- "type": "bytes32"
435
- }
436
- ],
437
- "name": "getMetadata",
581
+ "name": "getFeeInfo",
438
582
  "outputs": [
439
583
  {
440
584
  "components": [
441
585
  {
442
- "internalType": "ObjectType",
443
- "name": "objectType",
444
- "type": "uint8"
445
- },
446
- {
447
- "internalType": "StateId",
448
- "name": "state",
449
- "type": "uint8"
450
- },
451
- {
452
- "internalType": "Blocknumber",
453
- "name": "updatedIn",
454
- "type": "uint32"
455
- },
456
- {
457
- "internalType": "Blocknumber",
458
- "name": "createdIn",
586
+ "components": [
587
+ {
588
+ "internalType": "UFixed",
589
+ "name": "fractionalFee",
590
+ "type": "uint256"
591
+ },
592
+ {
593
+ "internalType": "uint256",
594
+ "name": "fixedFee",
595
+ "type": "uint256"
596
+ }
597
+ ],
598
+ "internalType": "struct Fee",
599
+ "name": "productFee",
600
+ "type": "tuple"
601
+ },
602
+ {
603
+ "components": [
604
+ {
605
+ "internalType": "UFixed",
606
+ "name": "fractionalFee",
607
+ "type": "uint256"
608
+ },
609
+ {
610
+ "internalType": "uint256",
611
+ "name": "fixedFee",
612
+ "type": "uint256"
613
+ }
614
+ ],
615
+ "internalType": "struct Fee",
616
+ "name": "processingFee",
617
+ "type": "tuple"
618
+ },
619
+ {
620
+ "components": [
621
+ {
622
+ "internalType": "UFixed",
623
+ "name": "fractionalFee",
624
+ "type": "uint256"
625
+ },
626
+ {
627
+ "internalType": "uint256",
628
+ "name": "fixedFee",
629
+ "type": "uint256"
630
+ }
631
+ ],
632
+ "internalType": "struct Fee",
633
+ "name": "distributionFee",
634
+ "type": "tuple"
635
+ },
636
+ {
637
+ "components": [
638
+ {
639
+ "internalType": "UFixed",
640
+ "name": "fractionalFee",
641
+ "type": "uint256"
642
+ },
643
+ {
644
+ "internalType": "uint256",
645
+ "name": "fixedFee",
646
+ "type": "uint256"
647
+ }
648
+ ],
649
+ "internalType": "struct Fee",
650
+ "name": "minDistributionOwnerFee",
651
+ "type": "tuple"
652
+ },
653
+ {
654
+ "components": [
655
+ {
656
+ "internalType": "UFixed",
657
+ "name": "fractionalFee",
658
+ "type": "uint256"
659
+ },
660
+ {
661
+ "internalType": "uint256",
662
+ "name": "fixedFee",
663
+ "type": "uint256"
664
+ }
665
+ ],
666
+ "internalType": "struct Fee",
667
+ "name": "poolFee",
668
+ "type": "tuple"
669
+ },
670
+ {
671
+ "components": [
672
+ {
673
+ "internalType": "UFixed",
674
+ "name": "fractionalFee",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "fixedFee",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "internalType": "struct Fee",
684
+ "name": "stakingFee",
685
+ "type": "tuple"
686
+ },
687
+ {
688
+ "components": [
689
+ {
690
+ "internalType": "UFixed",
691
+ "name": "fractionalFee",
692
+ "type": "uint256"
693
+ },
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "fixedFee",
697
+ "type": "uint256"
698
+ }
699
+ ],
700
+ "internalType": "struct Fee",
701
+ "name": "performanceFee",
702
+ "type": "tuple"
703
+ }
704
+ ],
705
+ "internalType": "struct IComponents.FeeInfo",
706
+ "name": "feeInfo",
707
+ "type": "tuple"
708
+ }
709
+ ],
710
+ "stateMutability": "view",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [],
715
+ "name": "getInstance",
716
+ "outputs": [
717
+ {
718
+ "internalType": "contract IInstance",
719
+ "name": "instance",
720
+ "type": "address"
721
+ }
722
+ ],
723
+ "stateMutability": "view",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [],
728
+ "name": "getInstanceStore",
729
+ "outputs": [
730
+ {
731
+ "internalType": "contract IKeyValueStore",
732
+ "name": "store",
733
+ "type": "address"
734
+ }
735
+ ],
736
+ "stateMutability": "view",
737
+ "type": "function"
738
+ },
739
+ {
740
+ "inputs": [
741
+ {
742
+ "internalType": "NftId",
743
+ "name": "targetNftId",
744
+ "type": "uint96"
745
+ }
746
+ ],
747
+ "name": "getLockedAmount",
748
+ "outputs": [
749
+ {
750
+ "internalType": "Amount",
751
+ "name": "",
752
+ "type": "uint96"
753
+ }
754
+ ],
755
+ "stateMutability": "view",
756
+ "type": "function"
757
+ },
758
+ {
759
+ "inputs": [
760
+ {
761
+ "internalType": "Key32",
762
+ "name": "key",
763
+ "type": "bytes32"
764
+ }
765
+ ],
766
+ "name": "getMetadata",
767
+ "outputs": [
768
+ {
769
+ "components": [
770
+ {
771
+ "internalType": "ObjectType",
772
+ "name": "objectType",
773
+ "type": "uint8"
774
+ },
775
+ {
776
+ "internalType": "StateId",
777
+ "name": "state",
778
+ "type": "uint8"
779
+ },
780
+ {
781
+ "internalType": "Blocknumber",
782
+ "name": "updatedIn",
783
+ "type": "uint32"
784
+ },
785
+ {
786
+ "internalType": "Blocknumber",
787
+ "name": "createdIn",
459
788
  "type": "uint32"
460
789
  }
461
790
  ],
@@ -467,6 +796,30 @@
467
796
  "stateMutability": "view",
468
797
  "type": "function"
469
798
  },
799
+ {
800
+ "inputs": [
801
+ {
802
+ "internalType": "ClaimId",
803
+ "name": "claimId",
804
+ "type": "uint16"
805
+ },
806
+ {
807
+ "internalType": "uint24",
808
+ "name": "idx",
809
+ "type": "uint24"
810
+ }
811
+ ],
812
+ "name": "getPayoutId",
813
+ "outputs": [
814
+ {
815
+ "internalType": "PayoutId",
816
+ "name": "payoutId",
817
+ "type": "uint40"
818
+ }
819
+ ],
820
+ "stateMutability": "view",
821
+ "type": "function"
822
+ },
470
823
  {
471
824
  "inputs": [
472
825
  {
@@ -477,7 +830,7 @@
477
830
  {
478
831
  "internalType": "PayoutId",
479
832
  "name": "payoutId",
480
- "type": "uint24"
833
+ "type": "uint40"
481
834
  }
482
835
  ],
483
836
  "name": "getPayoutInfo",
@@ -494,6 +847,11 @@
494
847
  "name": "amount",
495
848
  "type": "uint96"
496
849
  },
850
+ {
851
+ "internalType": "address",
852
+ "name": "beneficiary",
853
+ "type": "address"
854
+ },
497
855
  {
498
856
  "internalType": "bytes",
499
857
  "name": "data",
@@ -523,7 +881,7 @@
523
881
  {
524
882
  "internalType": "PayoutId",
525
883
  "name": "payoutId",
526
- "type": "uint24"
884
+ "type": "uint40"
527
885
  }
528
886
  ],
529
887
  "name": "getPayoutState",
@@ -579,11 +937,6 @@
579
937
  "name": "premiumAmount",
580
938
  "type": "uint96"
581
939
  },
582
- {
583
- "internalType": "Amount",
584
- "name": "premiumPaidAmount",
585
- "type": "uint96"
586
- },
587
940
  {
588
941
  "internalType": "Seconds",
589
942
  "name": "lifetime",
@@ -643,6 +996,30 @@
643
996
  "stateMutability": "view",
644
997
  "type": "function"
645
998
  },
999
+ {
1000
+ "inputs": [
1001
+ {
1002
+ "internalType": "RiskId",
1003
+ "name": "riskId",
1004
+ "type": "bytes8"
1005
+ },
1006
+ {
1007
+ "internalType": "uint256",
1008
+ "name": "idx",
1009
+ "type": "uint256"
1010
+ }
1011
+ ],
1012
+ "name": "getPolicyNftIdForRisk",
1013
+ "outputs": [
1014
+ {
1015
+ "internalType": "NftId",
1016
+ "name": "linkedPolicyNftId",
1017
+ "type": "uint96"
1018
+ }
1019
+ ],
1020
+ "stateMutability": "view",
1021
+ "type": "function"
1022
+ },
646
1023
  {
647
1024
  "inputs": [
648
1025
  {
@@ -674,14 +1051,9 @@
674
1051
  "outputs": [
675
1052
  {
676
1053
  "components": [
677
- {
678
- "internalType": "RoleId",
679
- "name": "bundleOwnerRole",
680
- "type": "uint64"
681
- },
682
1054
  {
683
1055
  "internalType": "Amount",
684
- "name": "maxCapitalAmount",
1056
+ "name": "maxBalanceAmount",
685
1057
  "type": "uint96"
686
1058
  },
687
1059
  {
@@ -689,6 +1061,11 @@
689
1061
  "name": "isInterceptingBundleTransfers",
690
1062
  "type": "bool"
691
1063
  },
1064
+ {
1065
+ "internalType": "bool",
1066
+ "name": "isProcessingConfirmedClaims",
1067
+ "type": "bool"
1068
+ },
692
1069
  {
693
1070
  "internalType": "bool",
694
1071
  "name": "isExternallyManaged",
@@ -722,142 +1099,183 @@
722
1099
  "inputs": [
723
1100
  {
724
1101
  "internalType": "NftId",
725
- "name": "productNftId",
1102
+ "name": "policyNftId",
726
1103
  "type": "uint96"
727
1104
  }
728
1105
  ],
729
- "name": "getProductInfo",
1106
+ "name": "getPremiumInfo",
730
1107
  "outputs": [
731
1108
  {
732
1109
  "components": [
733
1110
  {
734
- "internalType": "NftId",
735
- "name": "distributionNftId",
1111
+ "internalType": "Amount",
1112
+ "name": "productFeeAmount",
736
1113
  "type": "uint96"
737
1114
  },
738
1115
  {
739
- "internalType": "NftId",
740
- "name": "poolNftId",
1116
+ "internalType": "Amount",
1117
+ "name": "distributionFeeAndCommissionAmount",
741
1118
  "type": "uint96"
742
1119
  },
743
1120
  {
744
- "components": [
745
- {
746
- "internalType": "UFixed",
747
- "name": "fractionalFee",
748
- "type": "uint256"
749
- },
750
- {
751
- "internalType": "uint256",
752
- "name": "fixedFee",
753
- "type": "uint256"
754
- }
755
- ],
756
- "internalType": "struct Fee",
757
- "name": "productFee",
758
- "type": "tuple"
1121
+ "internalType": "Amount",
1122
+ "name": "poolPremiumAndFeeAmount",
1123
+ "type": "uint96"
759
1124
  },
760
1125
  {
761
- "components": [
762
- {
763
- "internalType": "UFixed",
764
- "name": "fractionalFee",
765
- "type": "uint256"
766
- },
767
- {
768
- "internalType": "uint256",
769
- "name": "fixedFee",
770
- "type": "uint256"
771
- }
772
- ],
773
- "internalType": "struct Fee",
774
- "name": "processingFee",
775
- "type": "tuple"
1126
+ "internalType": "Amount",
1127
+ "name": "netPremiumAmount",
1128
+ "type": "uint96"
776
1129
  },
777
1130
  {
778
- "components": [
779
- {
780
- "internalType": "UFixed",
781
- "name": "fractionalFee",
782
- "type": "uint256"
783
- },
784
- {
785
- "internalType": "uint256",
786
- "name": "fixedFee",
787
- "type": "uint256"
788
- }
789
- ],
790
- "internalType": "struct Fee",
791
- "name": "distributionFee",
792
- "type": "tuple"
1131
+ "internalType": "Amount",
1132
+ "name": "fullPremiumAmount",
1133
+ "type": "uint96"
793
1134
  },
794
1135
  {
795
- "components": [
796
- {
797
- "internalType": "UFixed",
798
- "name": "fractionalFee",
799
- "type": "uint256"
800
- },
801
- {
802
- "internalType": "uint256",
803
- "name": "fixedFee",
804
- "type": "uint256"
805
- }
806
- ],
807
- "internalType": "struct Fee",
808
- "name": "minDistributionOwnerFee",
809
- "type": "tuple"
1136
+ "internalType": "Amount",
1137
+ "name": "premiumAmount",
1138
+ "type": "uint96"
810
1139
  },
811
1140
  {
812
- "components": [
813
- {
814
- "internalType": "UFixed",
815
- "name": "fractionalFee",
816
- "type": "uint256"
817
- },
818
- {
819
- "internalType": "uint256",
820
- "name": "fixedFee",
821
- "type": "uint256"
822
- }
823
- ],
824
- "internalType": "struct Fee",
825
- "name": "poolFee",
826
- "type": "tuple"
1141
+ "internalType": "Amount",
1142
+ "name": "productFeeFixAmount",
1143
+ "type": "uint96"
1144
+ },
1145
+ {
1146
+ "internalType": "Amount",
1147
+ "name": "poolFeeFixAmount",
1148
+ "type": "uint96"
1149
+ },
1150
+ {
1151
+ "internalType": "Amount",
1152
+ "name": "bundleFeeFixAmount",
1153
+ "type": "uint96"
1154
+ },
1155
+ {
1156
+ "internalType": "Amount",
1157
+ "name": "distributionFeeFixAmount",
1158
+ "type": "uint96"
1159
+ },
1160
+ {
1161
+ "internalType": "Amount",
1162
+ "name": "productFeeVarAmount",
1163
+ "type": "uint96"
1164
+ },
1165
+ {
1166
+ "internalType": "Amount",
1167
+ "name": "poolFeeVarAmount",
1168
+ "type": "uint96"
1169
+ },
1170
+ {
1171
+ "internalType": "Amount",
1172
+ "name": "bundleFeeVarAmount",
1173
+ "type": "uint96"
1174
+ },
1175
+ {
1176
+ "internalType": "Amount",
1177
+ "name": "distributionFeeVarAmount",
1178
+ "type": "uint96"
1179
+ },
1180
+ {
1181
+ "internalType": "Amount",
1182
+ "name": "distributionOwnerFeeFixAmount",
1183
+ "type": "uint96"
1184
+ },
1185
+ {
1186
+ "internalType": "Amount",
1187
+ "name": "distributionOwnerFeeVarAmount",
1188
+ "type": "uint96"
1189
+ },
1190
+ {
1191
+ "internalType": "Amount",
1192
+ "name": "commissionAmount",
1193
+ "type": "uint96"
1194
+ },
1195
+ {
1196
+ "internalType": "Amount",
1197
+ "name": "discountAmount",
1198
+ "type": "uint96"
1199
+ }
1200
+ ],
1201
+ "internalType": "struct IPolicy.PremiumInfo",
1202
+ "name": "info",
1203
+ "type": "tuple"
1204
+ }
1205
+ ],
1206
+ "stateMutability": "view",
1207
+ "type": "function"
1208
+ },
1209
+ {
1210
+ "inputs": [
1211
+ {
1212
+ "internalType": "NftId",
1213
+ "name": "policyNftId",
1214
+ "type": "uint96"
1215
+ }
1216
+ ],
1217
+ "name": "getPremiumInfoState",
1218
+ "outputs": [
1219
+ {
1220
+ "internalType": "StateId",
1221
+ "name": "state",
1222
+ "type": "uint8"
1223
+ }
1224
+ ],
1225
+ "stateMutability": "view",
1226
+ "type": "function"
1227
+ },
1228
+ {
1229
+ "inputs": [
1230
+ {
1231
+ "internalType": "NftId",
1232
+ "name": "productNftId",
1233
+ "type": "uint96"
1234
+ }
1235
+ ],
1236
+ "name": "getProductInfo",
1237
+ "outputs": [
1238
+ {
1239
+ "components": [
1240
+ {
1241
+ "internalType": "bool",
1242
+ "name": "isProcessingFundedClaims",
1243
+ "type": "bool"
1244
+ },
1245
+ {
1246
+ "internalType": "bool",
1247
+ "name": "isInterceptingPolicyTransfers",
1248
+ "type": "bool"
1249
+ },
1250
+ {
1251
+ "internalType": "bool",
1252
+ "name": "hasDistribution",
1253
+ "type": "bool"
1254
+ },
1255
+ {
1256
+ "internalType": "uint8",
1257
+ "name": "expectedNumberOfOracles",
1258
+ "type": "uint8"
1259
+ },
1260
+ {
1261
+ "internalType": "uint8",
1262
+ "name": "numberOfOracles",
1263
+ "type": "uint8"
827
1264
  },
828
1265
  {
829
- "components": [
830
- {
831
- "internalType": "UFixed",
832
- "name": "fractionalFee",
833
- "type": "uint256"
834
- },
835
- {
836
- "internalType": "uint256",
837
- "name": "fixedFee",
838
- "type": "uint256"
839
- }
840
- ],
841
- "internalType": "struct Fee",
842
- "name": "stakingFee",
843
- "type": "tuple"
1266
+ "internalType": "NftId",
1267
+ "name": "poolNftId",
1268
+ "type": "uint96"
844
1269
  },
845
1270
  {
846
- "components": [
847
- {
848
- "internalType": "UFixed",
849
- "name": "fractionalFee",
850
- "type": "uint256"
851
- },
852
- {
853
- "internalType": "uint256",
854
- "name": "fixedFee",
855
- "type": "uint256"
856
- }
857
- ],
858
- "internalType": "struct Fee",
859
- "name": "performanceFee",
860
- "type": "tuple"
1271
+ "internalType": "NftId",
1272
+ "name": "distributionNftId",
1273
+ "type": "uint96"
1274
+ },
1275
+ {
1276
+ "internalType": "NftId[]",
1277
+ "name": "oracleNftId",
1278
+ "type": "uint96[]"
861
1279
  }
862
1280
  ],
863
1281
  "internalType": "struct IComponents.ProductInfo",
@@ -924,6 +1342,25 @@
924
1342
  "stateMutability": "view",
925
1343
  "type": "function"
926
1344
  },
1345
+ {
1346
+ "inputs": [
1347
+ {
1348
+ "internalType": "NftId",
1349
+ "name": "policyNftId",
1350
+ "type": "uint96"
1351
+ }
1352
+ ],
1353
+ "name": "getRemainingClaimableAmount",
1354
+ "outputs": [
1355
+ {
1356
+ "internalType": "Amount",
1357
+ "name": "remainingClaimableAmount",
1358
+ "type": "uint96"
1359
+ }
1360
+ ],
1361
+ "stateMutability": "view",
1362
+ "type": "function"
1363
+ },
927
1364
  {
928
1365
  "inputs": [
929
1366
  {
@@ -985,6 +1422,30 @@
985
1422
  "stateMutability": "view",
986
1423
  "type": "function"
987
1424
  },
1425
+ {
1426
+ "inputs": [
1427
+ {
1428
+ "internalType": "NftId",
1429
+ "name": "productNftId",
1430
+ "type": "uint96"
1431
+ },
1432
+ {
1433
+ "internalType": "uint256",
1434
+ "name": "idx",
1435
+ "type": "uint256"
1436
+ }
1437
+ ],
1438
+ "name": "getRiskId",
1439
+ "outputs": [
1440
+ {
1441
+ "internalType": "RiskId",
1442
+ "name": "riskId",
1443
+ "type": "bytes8"
1444
+ }
1445
+ ],
1446
+ "stateMutability": "view",
1447
+ "type": "function"
1448
+ },
988
1449
  {
989
1450
  "inputs": [
990
1451
  {
@@ -1002,6 +1463,11 @@
1002
1463
  "name": "productNftId",
1003
1464
  "type": "uint96"
1004
1465
  },
1466
+ {
1467
+ "internalType": "Timestamp",
1468
+ "name": "createdAt",
1469
+ "type": "uint40"
1470
+ },
1005
1471
  {
1006
1472
  "internalType": "bytes",
1007
1473
  "name": "data",
@@ -1016,6 +1482,38 @@
1016
1482
  "stateMutability": "view",
1017
1483
  "type": "function"
1018
1484
  },
1485
+ {
1486
+ "inputs": [],
1487
+ "name": "getRiskSet",
1488
+ "outputs": [
1489
+ {
1490
+ "internalType": "contract RiskSet",
1491
+ "name": "riskSet",
1492
+ "type": "address"
1493
+ }
1494
+ ],
1495
+ "stateMutability": "view",
1496
+ "type": "function"
1497
+ },
1498
+ {
1499
+ "inputs": [
1500
+ {
1501
+ "internalType": "RiskId",
1502
+ "name": "riskId",
1503
+ "type": "bytes8"
1504
+ }
1505
+ ],
1506
+ "name": "getRiskState",
1507
+ "outputs": [
1508
+ {
1509
+ "internalType": "StateId",
1510
+ "name": "stateId",
1511
+ "type": "uint8"
1512
+ }
1513
+ ],
1514
+ "stateMutability": "view",
1515
+ "type": "function"
1516
+ },
1019
1517
  {
1020
1518
  "inputs": [
1021
1519
  {
@@ -1054,6 +1552,25 @@
1054
1552
  "stateMutability": "view",
1055
1553
  "type": "function"
1056
1554
  },
1555
+ {
1556
+ "inputs": [
1557
+ {
1558
+ "internalType": "NftId",
1559
+ "name": "componentNftId",
1560
+ "type": "uint96"
1561
+ }
1562
+ ],
1563
+ "name": "getWallet",
1564
+ "outputs": [
1565
+ {
1566
+ "internalType": "address",
1567
+ "name": "tokenHandler",
1568
+ "type": "address"
1569
+ }
1570
+ ],
1571
+ "stateMutability": "view",
1572
+ "type": "function"
1573
+ },
1057
1574
  {
1058
1575
  "inputs": [
1059
1576
  {
@@ -1130,7 +1647,7 @@
1130
1647
  "type": "address"
1131
1648
  }
1132
1649
  ],
1133
- "name": "isTargetLocked",
1650
+ "name": "isLocked",
1134
1651
  "outputs": [
1135
1652
  {
1136
1653
  "internalType": "bool",
@@ -1141,6 +1658,49 @@
1141
1658
  "stateMutability": "view",
1142
1659
  "type": "function"
1143
1660
  },
1661
+ {
1662
+ "inputs": [
1663
+ {
1664
+ "internalType": "NftId",
1665
+ "name": "policyNftId",
1666
+ "type": "uint96"
1667
+ },
1668
+ {
1669
+ "internalType": "ClaimId",
1670
+ "name": "claimId",
1671
+ "type": "uint16"
1672
+ }
1673
+ ],
1674
+ "name": "payouts",
1675
+ "outputs": [
1676
+ {
1677
+ "internalType": "uint24",
1678
+ "name": "payoutCount",
1679
+ "type": "uint24"
1680
+ }
1681
+ ],
1682
+ "stateMutability": "view",
1683
+ "type": "function"
1684
+ },
1685
+ {
1686
+ "inputs": [
1687
+ {
1688
+ "internalType": "RiskId",
1689
+ "name": "riskId",
1690
+ "type": "bytes8"
1691
+ }
1692
+ ],
1693
+ "name": "policiesForRisk",
1694
+ "outputs": [
1695
+ {
1696
+ "internalType": "uint256",
1697
+ "name": "linkedPolicies",
1698
+ "type": "uint256"
1699
+ }
1700
+ ],
1701
+ "stateMutability": "view",
1702
+ "type": "function"
1703
+ },
1144
1704
  {
1145
1705
  "inputs": [
1146
1706
  {
@@ -1149,7 +1709,7 @@
1149
1709
  "type": "uint96"
1150
1710
  }
1151
1711
  ],
1152
- "name": "policyIsCloseable",
1712
+ "name": "policyIsActive",
1153
1713
  "outputs": [
1154
1714
  {
1155
1715
  "internalType": "bool",
@@ -1160,6 +1720,25 @@
1160
1720
  "stateMutability": "view",
1161
1721
  "type": "function"
1162
1722
  },
1723
+ {
1724
+ "inputs": [
1725
+ {
1726
+ "internalType": "NftId",
1727
+ "name": "productNftId",
1728
+ "type": "uint96"
1729
+ }
1730
+ ],
1731
+ "name": "risks",
1732
+ "outputs": [
1733
+ {
1734
+ "internalType": "uint256",
1735
+ "name": "riskCount",
1736
+ "type": "uint256"
1737
+ }
1738
+ ],
1739
+ "stateMutability": "view",
1740
+ "type": "function"
1741
+ },
1163
1742
  {
1164
1743
  "inputs": [
1165
1744
  {
@@ -1236,6 +1815,25 @@
1236
1815
  "stateMutability": "pure",
1237
1816
  "type": "function"
1238
1817
  },
1818
+ {
1819
+ "inputs": [
1820
+ {
1821
+ "internalType": "NftId",
1822
+ "name": "productNftId",
1823
+ "type": "uint96"
1824
+ }
1825
+ ],
1826
+ "name": "toFeeKey",
1827
+ "outputs": [
1828
+ {
1829
+ "internalType": "Key32",
1830
+ "name": "",
1831
+ "type": "bytes32"
1832
+ }
1833
+ ],
1834
+ "stateMutability": "pure",
1835
+ "type": "function"
1836
+ },
1239
1837
  {
1240
1838
  "inputs": [
1241
1839
  {
@@ -1293,6 +1891,25 @@
1293
1891
  "stateMutability": "pure",
1294
1892
  "type": "function"
1295
1893
  },
1894
+ {
1895
+ "inputs": [
1896
+ {
1897
+ "internalType": "NftId",
1898
+ "name": "policyNftId",
1899
+ "type": "uint96"
1900
+ }
1901
+ ],
1902
+ "name": "toPremiumKey",
1903
+ "outputs": [
1904
+ {
1905
+ "internalType": "Key32",
1906
+ "name": "",
1907
+ "type": "bytes32"
1908
+ }
1909
+ ],
1910
+ "stateMutability": "pure",
1911
+ "type": "function"
1912
+ },
1296
1913
  {
1297
1914
  "inputs": [
1298
1915
  {
@@ -1361,14 +1978,14 @@
1361
1978
  "type": "function"
1362
1979
  }
1363
1980
  ],
1364
- "bytecode": "0x60806040525f805460ff191690553480156017575f80fd5b50613cd0806100255f395ff3fe608060405234801561000f575f80fd5b506004361061023f575f3560e01c806378ae935011610135578063b82d7ef5116100b4578063dd26287a11610079578063dd26287a14610631578063de7b5d1414610644578063f0ea17c314610659578063f7f318d314610679578063febe92af1461068c575f80fd5b8063b82d7ef5146105a3578063bd7d9d85146105cd578063cd55e51b146105ed578063d06458c614610600578063d4cda0d814610620575f80fd5b80638eb9000d116100fa5780638eb9000d146104d65780639096a1f3146104e9578063a310e2a3146104fc578063a5961b4c14610527578063a7ef3d2114610583575f80fd5b806378ae9350146104755780637bfd3217146104885780637e54602a1461049b5780638129fc1c146104ae578063887b1fa9146104b6575f80fd5b80633f093cd6116101c15780635da89402116101865780635da894021461041457806364eb3a9b1461042757806364fc31421461043a5780636791f7ab1461044d57806375d357df14610462575f80fd5b80633f093cd61461038257806344aa6836146103ae5780634793b4ab146103c15780634fb784f5146103e157806357f80bbf146103f4575f80fd5b8063228e42ec11610207578063228e42ec146102f957806326decd401461030c57806327b1d7921461032f57806335898f5d1461034f57806339bb60cd14610362575f80fd5b80630232ca491461024357806309648a9d146102735780630b5d931c146102985780631488c845146102b85780631d3be477146102d9575b5f80fd5b6102566102513660046124ca565b6106ac565b6040516001600160601b0390911681526020015b60405180910390f35b6102866102813660046124e5565b610726565b60405160ff909116815260200161026a565b6102ab6102a63660046124ca565b61079b565b60405161026a91906124fc565b6102cb6102c63660046125de565b610849565b60405190815260200161026a565b6102ec6102e7366004612626565b6108c5565b60405161026a919061266f565b6102566103073660046124ca565b610a09565b61031f61031a36600461271d565b610a42565b604051901515815260200161026a565b61034261033d3660046124ca565b610b20565b60405161026a9190612738565b6102cb61035d3660046124ca565b610bdd565b610375610370366004612791565b610c74565b60405161026a91906127c4565b61039561039036600461297e565b610dbe565b6040516001600160c01b0319909116815260200161026a565b6102cb6103bc3660046124e5565b610e38565b6103d46103cf3660046124ca565b610e72565b60405161026a9190612a0a565b6102cb6103ef3660046124ca565b610f13565b6104076104023660046124ca565b610f3f565b60405161026a9190612a95565b610286610422366004612791565b611010565b6102cb6104353660046124ca565b611108565b61031f610448366004612b16565b611134565b61046061045b36600461271d565b611223565b005b61031f6104703660046124ca565b6112f6565b610286610483366004612b51565b611577565b6102cb6104963660046124ca565b6115d6565b6102cb6104a93660046124ca565b611602565b61046061162e565b6104c96104c4366004612626565b61165c565b60405161026a9190612b7d565b6102566104e43660046124ca565b61177d565b6102866104f73660046124ca565b6117b6565b61050f61050a3660046124ca565b61182f565b6040516001600160a01b03909116815260200161026a565b61053a6105353660046124e5565b6118d7565b60405161026a91905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b610596610591366004612b51565b611961565b60405161026a9190612bb2565b6105b66105b1366004612626565b611aae565b6040805192835260ff90911660208301520161026a565b6105e06105db3660046124ca565b611d4a565b60405161026a9190612c58565b61031f6105fb366004612b16565b611e6a565b61061361060e366004612626565b611f1e565b60405161026a9190612de7565b6001546001600160a01b031661050f565b6102cb61063f3660046124ca565b612083565b5f5461010090046001600160a01b031661050f565b61066c6106673660046124ca565b6120af565b60405161026a9190612e88565b6102cb6106873660046124ca565b612178565b61069f61069a366004612f12565b6121a4565b60405161026a9190612f2d565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610720919061300b565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561076d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610791919061305b565b6020015192915050565b6107a3612352565b6001545f906001600160a01b03166354f6127f6107bf856115d6565b6040518263ffffffff1660e01b81526004016107dd91815260200190565b5f60405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261081e9190810190613111565b805190915015610843578080602001905181019061083c9190613171565b9392505050565b50919050565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af41580156108a1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613232565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098c9190613232565b6040518263ffffffff1660e01b81526004016109aa91815260200190565b5f60405180830381865afa1580156109c4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109eb9190810190613111565b805190915015610843578080602001905181019061083c9190613266565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec906024016106e1565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab79190613348565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015610afc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613372565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f610b6085611602565b6040518263ffffffff1660e01b8152600401610b7e91815260200190565b5f60405180830381865afa158015610b98573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bbf9190810190613111565b805190915015610843578080602001905181019061083c9190613396565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e5b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610c50573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613232565b604080516080810182525f80825260208201819052606092820183905291810191909152600154604051635927341160e01b815262ffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__90635927341190604401602060405180830381865af4158015610d0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d329190613232565b6040518263ffffffff1660e01b8152600401610d5091815260200190565b5f60405180830381865afa158015610d6a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d919190810190613111565b805190915015610db75780806020019051810190610daf9190613446565b915050610720565b5092915050565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd690610df990869086906004016134de565b602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c91906134ff565b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610c35565b610e7a61245c565b6001545f906001600160a01b03166354f6127f610e9685612178565b6040518263ffffffff1660e01b8152600401610eb491815260200190565b5f60405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ef59190810190613111565b805190915015610843578080602001905181019061083c919061351a565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b610c05565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001545f906001600160a01b03166354f6127f610f9385612083565b6040518263ffffffff1660e01b8152600401610fb191815260200190565b5f60405180830381865afa158015610fcb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff29190810190613111565b805190915015610843578080602001905181019061083c91906135de565b600154604051635927341160e01b815262ffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__906359273411906044015b602060405180830381865af4158015611087573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ab9190613232565b6040518263ffffffff1660e01b81526004016110c991815260200190565b602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613668565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166015610c05565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a99190613348565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa1580156111ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613372565b5f5460ff16156112465760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa1580156112af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d39190613348565b600180546001600160a01b0319166001600160a01b039290921691909117905550565b5f8061130183611d4a565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561135d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113819190613372565b1561138e57505f92915050565b6101c081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af41580156113e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140d9190613372565b1561141a57505f92915050565b610200810151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af4158015611475573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114999190613372565b156114a657505f92915050565b61016081015161ffff16156114bd57505f92915050565b6114d081610180015182608001516122f2565b156114de5750600192915050565b61156173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611528573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154c9190613683565b826101e0015164ffffffffff90811691161090565b1561156e57505f92915050565b50600192915050565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b229060440161106c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600c610c05565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601c610c05565b5f5460ff16156116515760405163ae9eff1b60e01b815260040160405180910390fd5b61165a33611223565b565b604080518082019091525f8152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af41580156116dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117009190613232565b6040518263ffffffff1660e01b815260040161171e91815260200190565b5f60405180830381865afa158015611738573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261175f9190810190613111565b805190915015610843578080602001905181019061083c919061369e565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d906024016106e1565b6001545f906001600160a01b03166309648a9d6117d284611108565b6040518263ffffffff1660e01b81526004016117f091815260200190565b602060405180830381865afa15801561180b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613668565b6001545f9081906001600160a01b03166354f6127f61184d85610f13565b6040518263ffffffff1660e01b815260040161186b91815260200190565b5f60405180830381865afa158015611885573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118ac9190810190613111565b805190915015610843575f818060200190518101906118cb9190613726565b60600151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561193d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610720919061305b565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a319190613232565b6040518263ffffffff1660e01b8152600401611a4f91815260200190565b5f60405180830381865afa158015611a69573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a909190810190613111565b805190915015610db75780806020019051810190610daf91906137fe565b5f805f611aba846108c5565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3b9190613372565b15611bb85773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611b87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bab9190613232565b60645b9250925050915091565b611c3a8160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611c07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2b9190613683565b64ffffffffff90811691161090565b15611cb15773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611caa9190613232565b606e611bae565b806060015163ffffffff16816080015163ffffffff1610611d3e5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611d13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d379190613232565b6078611bae565b6040810151600a611bae565b60408051610220810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101919091526001545f906001600160a01b03166354f6127f611ded85611108565b6040518263ffffffff1660e01b8152600401611e0b91815260200190565b5f60405180830381865afa158015611e25573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e4c9190810190613111565b805190915015610843578080602001905181019061083c91906138e7565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611edf9190613348565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b906044016111e4565b611f76604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015611fe2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120069190613232565b6040518263ffffffff1660e01b815260040161202491815260200190565b5f60405180830381865afa15801561203e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120659190810190613111565b805190915015610843578080602001905181019061083c9190613a8d565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600f610c05565b6040805160c08101825260608082525f602083018190529282018390528082018390526080820183905260a08201526001549091906001600160a01b03166354f6127f6120fb85610f13565b6040518263ffffffff1660e01b815260040161211991815260200190565b5f60405180830381865afa158015612133573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215a9190810190613111565b805190915015610843578080602001905181019061083c9190613726565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601e610c05565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af4158015612251573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122759190613232565b6040518263ffffffff1660e01b815260040161229391815260200190565b5f60405180830381865afa1580156122ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122d49190810190613111565b805190915015610843578080602001905181019061083c9190613b86565b60405163c4cade9d60e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af41580156111ff573d5f803e3d5ffd5b6040518061012001604052805f6001600160601b031681526020015f6001600160601b0316815260200161239760405180604001604052805f81526020015f81525090565b81526020016123b760405180604001604052805f81526020015f81525090565b81526020016123d760405180604001604052805f81526020015f81525090565b81526020016123f760405180604001604052805f81526020015f81525090565b815260200161241760405180604001604052805f81526020015f81525090565b815260200161243760405180604001604052805f81526020015f81525090565b815260200161245760405180604001604052805f81526020015f81525090565b905290565b6040518060c001604052805f6001600160601b0316815260200161249160405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6001600160601b03811681146124c7575f80fd5b50565b5f602082840312156124da575f80fd5b813561083c816124b3565b5f602082840312156124f5575f80fd5b5035919050565b81516001600160601b03168152602080830151610200830191612529908401826001600160601b03169052565b506040830151612546604084018280518252602090810151910152565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c0830151805161014084015260208101516101608401525060e0830151805161018084015260208101516101a08401525061010083015180516101c084015260208101516101e0840152610db7565b5f80604083850312156125ef575f80fd5b8235915060208301355f81900b8114612606575f80fd5b809150509250929050565b6001600160c01b0319811681146124c7575f80fd5b5f60208284031215612636575f80fd5b813561083c81612611565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e0604084015261269e610100840182612641565b90506040840151606084015263ffffffff606085015116608084015260808401516126d160a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526127008282612641565b95945050505050565b6001600160a01b03811681146124c7575f80fd5b5f6020828403121561272d575f80fd5b813561083c81612709565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f60408301516080606084015261277560a0840182612641565b905063ffffffff60608501511660808401528091505092915050565b5f80604083850312156127a2575f80fd5b82356127ad816124b3565b9150602083013562ffffff81168114612606575f80fd5b6020815261ffff82511660208201526001600160601b0360208301511660408201525f60408301516080606084015261280060a0840182612641565b905064ffffffffff60608501511660808401528091505092915050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156128535761285361281d565b60405290565b604080519081016001600160401b03811182821017156128535761285361281d565b60405161012081016001600160401b03811182821017156128535761285361281d565b60405160e081016001600160401b03811182821017156128535761285361281d565b60405160c081016001600160401b03811182821017156128535761285361281d565b60405161022081016001600160401b03811182821017156128535761285361281d565b60405161010081016001600160401b03811182821017156128535761285361281d565b604051601f8201601f191681016001600160401b03811182821017156129505761295061281d565b604052919050565b5f6001600160401b038211156129705761297061281d565b50601f01601f191660200190565b5f806040838503121561298f575f80fd5b823561299a816124b3565b915060208301356001600160401b038111156129b4575f80fd5b8301601f810185136129c4575f80fd5b80356129d76129d282612958565b612928565b8181528660208385010111156129eb575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151612a3b604084018280518252602090810151910152565b50604083015160e06080840152612a56610100840182612641565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b5f60e0820190506001600160401b0383511682526001600160601b0360208401511660208301526040830151151560408301526060830151151560608301526080830151612ae7608084018215159052565b5060a083015160a083015260c083015160c083015292915050565b6001600160401b03811681146124c7575f80fd5b5f8060408385031215612b27575f80fd5b8235612b3281612709565b9150602083013561260681612b02565b61ffff811681146124c7575f80fd5b5f8060408385031215612b62575f80fd5b8235612b6d816124b3565b9150602083013561260681612b42565b602081526001600160601b0382511660208201525f6020830151604080840152612baa6060840182612641565b949350505050565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f6040830151612bee606084018260ff169052565b50606083015160ff8116608084015250608083015160e060a0840152612c18610100840182612641565b905060a0840151601f198483030160c0850152612c358282612641565b91505060c0840151612c5060e085018264ffffffffff169052565b509392505050565b60208152612c726020820183516001600160601b03169052565b5f6020830151612c8d60408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e083015164ffffffffff811661010084015250610100830151610220610120840152612d2a610240840182612641565b9050610120840151601f1984830301610140850152612d498282612641565b915050610140840151612d6361016085018261ffff169052565b5061016084015161ffff8116610180850152506101808401516001600160601b0381166101a0850152506101a08401516001600160601b0381166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff81166102008501525061020084015164ffffffffff8116610220850152612c50565b602081525f82516101206020840152612e04610140840182612641565b90506020840151604084015260408401516060840152606084015160808401526080840151612e3b60a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f19016101208501526127008282612641565b602081525f825160c06020840152612ea360e0840182612641565b90506001600160601b03602085015116604084015260018060a01b03604085015116606084015260018060a01b0360608501511660808401526080840151612ef660a08501826001600160a01b03169052565b5060a0840151838203601f190160c08501526127008282612641565b5f60208284031215612f22575f80fd5b813561083c81612b02565b60208152612f476020820183516001600160601b03169052565b5f60208301516101006040840152612f63610120840182612641565b90506040840151612f7f60608501826001600160601b03169052565b506060840151838203601f19016080850152612f9b8282612641565b9150506080840151601f198483030160a0850152612fb98282612641565b91505060a0840151612fd460c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152612c50565b8051613006816124b3565b919050565b5f6020828403121561301b575f80fd5b815161083c816124b3565b60ff811681146124c7575f80fd5b805161300681613026565b63ffffffff811681146124c7575f80fd5b80516130068161303f565b5f608082840312801561306c575f80fd5b50613075612831565b825161308081613026565b8152602083015161309081613026565b602082015260408301516130a38161303f565b604082015260608301516130b68161303f565b60608201529392505050565b5f82601f8301126130d1575f80fd5b8151602083015f6130e46129d284612958565b90508281528583830111156130f7575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215613121575f80fd5b81516001600160401b03811115613136575f80fd5b612baa848285016130c2565b5f60408284031215613152575f80fd5b61315a612859565b825181526020928301519281019290925250919050565b5f610200828403128015613183575f80fd5b5061318c61287b565b61319583612ffb565b81526131a360208401612ffb565b60208201526131b58460408501613142565b60408201526131c78460808501613142565b60608201526131d98460c08501613142565b60808201526131ec846101008501613142565b60a08201526131ff846101408501613142565b60c0820152613212846101808501613142565b60e0820152613225846101c08501613142565b6101008201529392505050565b5f60208284031215613242575f80fd5b5051919050565b64ffffffffff811681146124c7575f80fd5b805161300681613249565b5f60208284031215613276575f80fd5b81516001600160401b0381111561328b575f80fd5b820160e0818503121561329c575f80fd5b6132a461289e565b6132ad82612ffb565b815260208201516001600160401b038111156132c7575f80fd5b6132d3868285016130c2565b602083015250604082810151908201526132ef60608301613050565b606082015261330060808301613050565b608082015261331160a0830161325b565b60a082015260c08201516001600160401b0381111561332e575f80fd5b61333a868285016130c2565b60c083015250949350505050565b5f60208284031215613358575f80fd5b815161083c81612709565b80518015158114613006575f80fd5b5f60208284031215613382575f80fd5b61083c82613363565b805161300681612611565b5f602082840312156133a6575f80fd5b81516001600160401b038111156133bb575f80fd5b8201608081850312156133cc575f80fd5b6133d4612831565b81516133df81612611565b81526133ed60208301613363565b602082015260408201516001600160401b0381111561340a575f80fd5b613416868285016130c2565b6040830152506060820151915061342c8261303f565b60608101919091529392505050565b805161300681612b42565b5f60208284031215613456575f80fd5b81516001600160401b0381111561346b575f80fd5b82016080818503121561347c575f80fd5b613484612831565b815161348f81612b42565b8152602082015161349f816124b3565b602082015260408201516001600160401b038111156134bc575f80fd5b6134c8868285016130c2565b6040830152506060820151915061342c82613249565b6001600160601b0383168152604060208201525f612baa6040830184612641565b5f6020828403121561350f575f80fd5b815161083c81612611565b5f6020828403121561352a575f80fd5b81516001600160401b0381111561353f575f80fd5b820160e08185031215613550575f80fd5b6135586128c0565b8151613563816124b3565b81526135728560208401613142565b602082015260608201516001600160401b0381111561358f575f80fd5b61359b868285016130c2565b60408301525060808201516135af81613249565b60608201526135c060a0830161325b565b60808201526135d160c0830161325b565b60a0820152949350505050565b5f60e08284031280156135ef575f80fd5b506135f861289e565b825161360381612b02565b81526020830151613613816124b3565b602082015261362460408401613363565b604082015261363560608401613363565b606082015261364660808401613363565b608082015260a0838101519082015260c0928301519281019290925250919050565b5f60208284031215613678575f80fd5b815161083c81613026565b5f60208284031215613693575f80fd5b815161083c81613249565b5f602082840312156136ae575f80fd5b81516001600160401b038111156136c3575f80fd5b8201604081850312156136d4575f80fd5b6136dc612859565b81516136e7816124b3565b815260208201516001600160401b03811115613701575f80fd5b61370d868285016130c2565b602083015250949350505050565b805161300681612709565b5f60208284031215613736575f80fd5b81516001600160401b0381111561374b575f80fd5b820160c0818503121561375c575f80fd5b6137646128c0565b81516001600160401b03811115613779575f80fd5b613785868285016130c2565b82525061379460208301612ffb565b60208201526137a56040830161371b565b60408201526137b66060830161371b565b60608201526137c76080830161371b565b608082015260a08201516001600160401b038111156137e4575f80fd5b6137f0868285016130c2565b60a083015250949350505050565b5f6020828403121561380e575f80fd5b81516001600160401b03811115613823575f80fd5b820160e08185031215613834575f80fd5b61383c61289e565b61384582612ffb565b815261385360208301612ffb565b602082015261386460408301613034565b604082015261387560608301613034565b606082015260808201516001600160401b03811115613892575f80fd5b61389e868285016130c2565b60808301525060a08201516001600160401b038111156138bc575f80fd5b6138c8868285016130c2565b60a0830152506138da60c0830161325b565b60c0820152949350505050565b5f602082840312156138f7575f80fd5b81516001600160401b0381111561390c575f80fd5b8201610220818503121561391e575f80fd5b6139266128e2565b61392f82612ffb565b815261393d60208301612ffb565b602082015261394e6040830161338b565b604082015261395f6060830161338b565b606082015261397060808301612ffb565b608082015261398160a08301612ffb565b60a082015261399260c08301612ffb565b60c08201526139a360e0830161325b565b60e08201526101008201516001600160401b038111156139c1575f80fd5b6139cd868285016130c2565b610100830152506101208201516001600160401b038111156139ed575f80fd5b6139f9868285016130c2565b61012083015250613a0d610140830161343b565b610140820152613a20610160830161343b565b610160820152613a336101808301612ffb565b610180820152613a466101a08301612ffb565b6101a0820152613a596101c0830161325b565b6101c0820152613a6c6101e0830161325b565b6101e0820152613a7f610200830161325b565b610200820152949350505050565b5f60208284031215613a9d575f80fd5b81516001600160401b03811115613ab2575f80fd5b82016101208185031215613ac4575f80fd5b613acc61287b565b81516001600160401b03811115613ae1575f80fd5b613aed868285016130c2565b825250602082810151908201526040808301519082015260608083015190820152613b1a60808301613050565b6080820152613b2b60a08301613050565b60a0820152613b3c60c08301613363565b60c0820152613b4d60e08301613363565b60e08201526101008201516001600160401b03811115613b6b575f80fd5b613b77868285016130c2565b61010083015250949350505050565b5f60208284031215613b96575f80fd5b81516001600160401b03811115613bab575f80fd5b82016101008185031215613bbd575f80fd5b613bc5612905565b613bce82612ffb565b815260208201516001600160401b03811115613be8575f80fd5b613bf4868285016130c2565b602083015250613c0660408301612ffb565b604082015260608201516001600160401b03811115613c23575f80fd5b613c2f868285016130c2565b60608301525060808201516001600160401b03811115613c4d575f80fd5b613c59868285016130c2565b608083015250613c6b60a0830161325b565b60a0820152613c7c60c0830161325b565b60c0820152613c8d60e08301613363565b60e082015294935050505056fea26469706673582212204c8532e1818a736c3aff4e15f6a8c9e56322ed6a55cb536a5a8c92b4602d14a864736f6c634300081a0033",
1365
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061023f575f3560e01c806378ae935011610135578063b82d7ef5116100b4578063dd26287a11610079578063dd26287a14610631578063de7b5d1414610644578063f0ea17c314610659578063f7f318d314610679578063febe92af1461068c575f80fd5b8063b82d7ef5146105a3578063bd7d9d85146105cd578063cd55e51b146105ed578063d06458c614610600578063d4cda0d814610620575f80fd5b80638eb9000d116100fa5780638eb9000d146104d65780639096a1f3146104e9578063a310e2a3146104fc578063a5961b4c14610527578063a7ef3d2114610583575f80fd5b806378ae9350146104755780637bfd3217146104885780637e54602a1461049b5780638129fc1c146104ae578063887b1fa9146104b6575f80fd5b80633f093cd6116101c15780635da89402116101865780635da894021461041457806364eb3a9b1461042757806364fc31421461043a5780636791f7ab1461044d57806375d357df14610462575f80fd5b80633f093cd61461038257806344aa6836146103ae5780634793b4ab146103c15780634fb784f5146103e157806357f80bbf146103f4575f80fd5b8063228e42ec11610207578063228e42ec146102f957806326decd401461030c57806327b1d7921461032f57806335898f5d1461034f57806339bb60cd14610362575f80fd5b80630232ca491461024357806309648a9d146102735780630b5d931c146102985780631488c845146102b85780631d3be477146102d9575b5f80fd5b6102566102513660046124ca565b6106ac565b6040516001600160601b0390911681526020015b60405180910390f35b6102866102813660046124e5565b610726565b60405160ff909116815260200161026a565b6102ab6102a63660046124ca565b61079b565b60405161026a91906124fc565b6102cb6102c63660046125de565b610849565b60405190815260200161026a565b6102ec6102e7366004612626565b6108c5565b60405161026a919061266f565b6102566103073660046124ca565b610a09565b61031f61031a36600461271d565b610a42565b604051901515815260200161026a565b61034261033d3660046124ca565b610b20565b60405161026a9190612738565b6102cb61035d3660046124ca565b610bdd565b610375610370366004612791565b610c74565b60405161026a91906127c4565b61039561039036600461297e565b610dbe565b6040516001600160c01b0319909116815260200161026a565b6102cb6103bc3660046124e5565b610e38565b6103d46103cf3660046124ca565b610e72565b60405161026a9190612a0a565b6102cb6103ef3660046124ca565b610f13565b6104076104023660046124ca565b610f3f565b60405161026a9190612a95565b610286610422366004612791565b611010565b6102cb6104353660046124ca565b611108565b61031f610448366004612b16565b611134565b61046061045b36600461271d565b611223565b005b61031f6104703660046124ca565b6112f6565b610286610483366004612b51565b611577565b6102cb6104963660046124ca565b6115d6565b6102cb6104a93660046124ca565b611602565b61046061162e565b6104c96104c4366004612626565b61165c565b60405161026a9190612b7d565b6102566104e43660046124ca565b61177d565b6102866104f73660046124ca565b6117b6565b61050f61050a3660046124ca565b61182f565b6040516001600160a01b03909116815260200161026a565b61053a6105353660046124e5565b6118d7565b60405161026a91905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b610596610591366004612b51565b611961565b60405161026a9190612bb2565b6105b66105b1366004612626565b611aae565b6040805192835260ff90911660208301520161026a565b6105e06105db3660046124ca565b611d4a565b60405161026a9190612c58565b61031f6105fb366004612b16565b611e6a565b61061361060e366004612626565b611f1e565b60405161026a9190612de7565b6001546001600160a01b031661050f565b6102cb61063f3660046124ca565b612083565b5f5461010090046001600160a01b031661050f565b61066c6106673660046124ca565b6120af565b60405161026a9190612e88565b6102cb6106873660046124ca565b612178565b61069f61069a366004612f12565b6121a4565b60405161026a9190612f2d565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa1580156106fc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610720919061300b565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561076d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610791919061305b565b6020015192915050565b6107a3612352565b6001545f906001600160a01b03166354f6127f6107bf856115d6565b6040518263ffffffff1660e01b81526004016107dd91815260200190565b5f60405180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261081e9190810190613111565b805190915015610843578080602001905181019061083c9190613171565b9392505050565b50919050565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af41580156108a1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613232565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590602401602060405180830381865af4158015610968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098c9190613232565b6040518263ffffffff1660e01b81526004016109aa91815260200190565b5f60405180830381865afa1580156109c4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109eb9190810190613111565b805190915015610843578080602001905181019061083c9190613266565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec906024016106e1565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab79190613348565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015610afc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613372565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f610b6085611602565b6040518263ffffffff1660e01b8152600401610b7e91815260200190565b5f60405180830381865afa158015610b98573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bbf9190810190613111565b805190915015610843578080602001905181019061083c9190613396565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e5b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610c50573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613232565b604080516080810182525f80825260208201819052606092820183905291810191909152600154604051635927341160e01b815262ffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__90635927341190604401602060405180830381865af4158015610d0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d329190613232565b6040518263ffffffff1660e01b8152600401610d5091815260200190565b5f60405180830381865afa158015610d6a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d919190810190613111565b805190915015610db75780806020019051810190610daf9190613446565b915050610720565b5092915050565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd690610df990869086906004016134de565b602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c91906134ff565b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401610c35565b610e7a61245c565b6001545f906001600160a01b03166354f6127f610e9685612178565b6040518263ffffffff1660e01b8152600401610eb491815260200190565b5f60405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ef59190810190613111565b805190915015610843578080602001905181019061083c919061351a565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b610c05565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001545f906001600160a01b03166354f6127f610f9385612083565b6040518263ffffffff1660e01b8152600401610fb191815260200190565b5f60405180830381865afa158015610fcb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff29190810190613111565b805190915015610843578080602001905181019061083c91906135de565b600154604051635927341160e01b815262ffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__906359273411906044015b602060405180830381865af4158015611087573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ab9190613232565b6040518263ffffffff1660e01b81526004016110c991815260200190565b602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613668565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166015610c05565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a99190613348565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa1580156111ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083c9190613372565b5f5460ff16156112465760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa1580156112af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d39190613348565b600180546001600160a01b0319166001600160a01b039290921691909117905550565b5f8061130183611d4a565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561135d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113819190613372565b1561138e57505f92915050565b6101c081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af41580156113e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140d9190613372565b1561141a57505f92915050565b610200810151604051638d38cd4b60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af4158015611475573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114999190613372565b156114a657505f92915050565b61016081015161ffff16156114bd57505f92915050565b6114d081610180015182608001516122f2565b156114de5750600192915050565b61156173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611528573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154c9190613683565b826101e0015164ffffffffff90811691161090565b1561156e57505f92915050565b50600192915050565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b229060440161106c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600c610c05565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601c610c05565b5f5460ff16156116515760405163ae9eff1b60e01b815260040160405180910390fd5b61165a33611223565b565b604080518082019091525f8152606060208201526001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590602401602060405180830381865af41580156116dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117009190613232565b6040518263ffffffff1660e01b815260040161171e91815260200190565b5f60405180830381865afa158015611738573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261175f9190810190613111565b805190915015610843578080602001905181019061083c919061369e565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d906024016106e1565b6001545f906001600160a01b03166309648a9d6117d284611108565b6040518263ffffffff1660e01b81526004016117f091815260200190565b602060405180830381865afa15801561180b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107209190613668565b6001545f9081906001600160a01b03166354f6127f61184d85610f13565b6040518263ffffffff1660e01b815260040161186b91815260200190565b5f60405180830381865afa158015611885573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118ac9190810190613111565b805190915015610843575f818060200190518101906118cb9190613726565b60600151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa15801561193d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610720919061305b565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a319190613232565b6040518263ffffffff1660e01b8152600401611a4f91815260200190565b5f60405180830381865afa158015611a69573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a909190810190613111565b805190915015610db75780806020019051810190610daf91906137fe565b5f805f611aba846108c5565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015611b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3b9190613372565b15611bb85773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611b87573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bab9190613232565b60645b9250925050915091565b611c3a8160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015611c07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2b9190613683565b64ffffffffff90811691161090565b15611cb15773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611caa9190613232565b606e611bae565b806060015163ffffffff16816080015163ffffffff1610611d3e5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611d13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d379190613232565b6078611bae565b6040810151600a611bae565b60408051610220810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018190526101208201526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081018290526102008101919091526001545f906001600160a01b03166354f6127f611ded85611108565b6040518263ffffffff1660e01b8152600401611e0b91815260200190565b5f60405180830381865afa158015611e25573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e4c9190810190613111565b805190915015610843578080602001905181019061083c91906138e7565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ebb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611edf9190613348565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b906044016111e4565b611f76604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81526001600160c01b0319841660048201525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee627590602401602060405180830381865af4158015611fe2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120069190613232565b6040518263ffffffff1660e01b815260040161202491815260200190565b5f60405180830381865afa15801561203e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526120659190810190613111565b805190915015610843578080602001905181019061083c9190613a8d565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600f610c05565b6040805160c08101825260608082525f602083018190529282018390528082018390526080820183905260a08201526001549091906001600160a01b03166354f6127f6120fb85610f13565b6040518263ffffffff1660e01b815260040161211991815260200190565b5f60405180830381865afa158015612133573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215a9190810190613111565b805190915015610843578080602001905181019061083c9190613726565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601e610c05565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af4158015612251573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122759190613232565b6040518263ffffffff1660e01b815260040161229391815260200190565b5f60405180830381865afa1580156122ad573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526122d49190810190613111565b805190915015610843578080602001905181019061083c9190613b86565b60405163c4cade9d60e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c4cade9d90604401602060405180830381865af41580156111ff573d5f803e3d5ffd5b6040518061012001604052805f6001600160601b031681526020015f6001600160601b0316815260200161239760405180604001604052805f81526020015f81525090565b81526020016123b760405180604001604052805f81526020015f81525090565b81526020016123d760405180604001604052805f81526020015f81525090565b81526020016123f760405180604001604052805f81526020015f81525090565b815260200161241760405180604001604052805f81526020015f81525090565b815260200161243760405180604001604052805f81526020015f81525090565b815260200161245760405180604001604052805f81526020015f81525090565b905290565b6040518060c001604052805f6001600160601b0316815260200161249160405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6001600160601b03811681146124c7575f80fd5b50565b5f602082840312156124da575f80fd5b813561083c816124b3565b5f602082840312156124f5575f80fd5b5035919050565b81516001600160601b03168152602080830151610200830191612529908401826001600160601b03169052565b506040830151612546604084018280518252602090810151910152565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c0830151805161014084015260208101516101608401525060e0830151805161018084015260208101516101a08401525061010083015180516101c084015260208101516101e0840152610db7565b5f80604083850312156125ef575f80fd5b8235915060208301355f81900b8114612606575f80fd5b809150509250929050565b6001600160c01b0319811681146124c7575f80fd5b5f60208284031215612636575f80fd5b813561083c81612611565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e0604084015261269e610100840182612641565b90506040840151606084015263ffffffff606085015116608084015260808401516126d160a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526127008282612641565b95945050505050565b6001600160a01b03811681146124c7575f80fd5b5f6020828403121561272d575f80fd5b813561083c81612709565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f60408301516080606084015261277560a0840182612641565b905063ffffffff60608501511660808401528091505092915050565b5f80604083850312156127a2575f80fd5b82356127ad816124b3565b9150602083013562ffffff81168114612606575f80fd5b6020815261ffff82511660208201526001600160601b0360208301511660408201525f60408301516080606084015261280060a0840182612641565b905064ffffffffff60608501511660808401528091505092915050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156128535761285361281d565b60405290565b604080519081016001600160401b03811182821017156128535761285361281d565b60405161012081016001600160401b03811182821017156128535761285361281d565b60405160e081016001600160401b03811182821017156128535761285361281d565b60405160c081016001600160401b03811182821017156128535761285361281d565b60405161022081016001600160401b03811182821017156128535761285361281d565b60405161010081016001600160401b03811182821017156128535761285361281d565b604051601f8201601f191681016001600160401b03811182821017156129505761295061281d565b604052919050565b5f6001600160401b038211156129705761297061281d565b50601f01601f191660200190565b5f806040838503121561298f575f80fd5b823561299a816124b3565b915060208301356001600160401b038111156129b4575f80fd5b8301601f810185136129c4575f80fd5b80356129d76129d282612958565b612928565b8181528660208385010111156129eb575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151612a3b604084018280518252602090810151910152565b50604083015160e06080840152612a56610100840182612641565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b5f60e0820190506001600160401b0383511682526001600160601b0360208401511660208301526040830151151560408301526060830151151560608301526080830151612ae7608084018215159052565b5060a083015160a083015260c083015160c083015292915050565b6001600160401b03811681146124c7575f80fd5b5f8060408385031215612b27575f80fd5b8235612b3281612709565b9150602083013561260681612b02565b61ffff811681146124c7575f80fd5b5f8060408385031215612b62575f80fd5b8235612b6d816124b3565b9150602083013561260681612b42565b602081526001600160601b0382511660208201525f6020830151604080840152612baa6060840182612641565b949350505050565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f6040830151612bee606084018260ff169052565b50606083015160ff8116608084015250608083015160e060a0840152612c18610100840182612641565b905060a0840151601f198483030160c0850152612c358282612641565b91505060c0840151612c5060e085018264ffffffffff169052565b509392505050565b60208152612c726020820183516001600160601b03169052565b5f6020830151612c8d60408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e083015164ffffffffff811661010084015250610100830151610220610120840152612d2a610240840182612641565b9050610120840151601f1984830301610140850152612d498282612641565b915050610140840151612d6361016085018261ffff169052565b5061016084015161ffff8116610180850152506101808401516001600160601b0381166101a0850152506101a08401516001600160601b0381166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff81166102008501525061020084015164ffffffffff8116610220850152612c50565b602081525f82516101206020840152612e04610140840182612641565b90506020840151604084015260408401516060840152606084015160808401526080840151612e3b60a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f19016101208501526127008282612641565b602081525f825160c06020840152612ea360e0840182612641565b90506001600160601b03602085015116604084015260018060a01b03604085015116606084015260018060a01b0360608501511660808401526080840151612ef660a08501826001600160a01b03169052565b5060a0840151838203601f190160c08501526127008282612641565b5f60208284031215612f22575f80fd5b813561083c81612b02565b60208152612f476020820183516001600160601b03169052565b5f60208301516101006040840152612f63610120840182612641565b90506040840151612f7f60608501826001600160601b03169052565b506060840151838203601f19016080850152612f9b8282612641565b9150506080840151601f198483030160a0850152612fb98282612641565b91505060a0840151612fd460c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152612c50565b8051613006816124b3565b919050565b5f6020828403121561301b575f80fd5b815161083c816124b3565b60ff811681146124c7575f80fd5b805161300681613026565b63ffffffff811681146124c7575f80fd5b80516130068161303f565b5f608082840312801561306c575f80fd5b50613075612831565b825161308081613026565b8152602083015161309081613026565b602082015260408301516130a38161303f565b604082015260608301516130b68161303f565b60608201529392505050565b5f82601f8301126130d1575f80fd5b8151602083015f6130e46129d284612958565b90508281528583830111156130f7575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215613121575f80fd5b81516001600160401b03811115613136575f80fd5b612baa848285016130c2565b5f60408284031215613152575f80fd5b61315a612859565b825181526020928301519281019290925250919050565b5f610200828403128015613183575f80fd5b5061318c61287b565b61319583612ffb565b81526131a360208401612ffb565b60208201526131b58460408501613142565b60408201526131c78460808501613142565b60608201526131d98460c08501613142565b60808201526131ec846101008501613142565b60a08201526131ff846101408501613142565b60c0820152613212846101808501613142565b60e0820152613225846101c08501613142565b6101008201529392505050565b5f60208284031215613242575f80fd5b5051919050565b64ffffffffff811681146124c7575f80fd5b805161300681613249565b5f60208284031215613276575f80fd5b81516001600160401b0381111561328b575f80fd5b820160e0818503121561329c575f80fd5b6132a461289e565b6132ad82612ffb565b815260208201516001600160401b038111156132c7575f80fd5b6132d3868285016130c2565b602083015250604082810151908201526132ef60608301613050565b606082015261330060808301613050565b608082015261331160a0830161325b565b60a082015260c08201516001600160401b0381111561332e575f80fd5b61333a868285016130c2565b60c083015250949350505050565b5f60208284031215613358575f80fd5b815161083c81612709565b80518015158114613006575f80fd5b5f60208284031215613382575f80fd5b61083c82613363565b805161300681612611565b5f602082840312156133a6575f80fd5b81516001600160401b038111156133bb575f80fd5b8201608081850312156133cc575f80fd5b6133d4612831565b81516133df81612611565b81526133ed60208301613363565b602082015260408201516001600160401b0381111561340a575f80fd5b613416868285016130c2565b6040830152506060820151915061342c8261303f565b60608101919091529392505050565b805161300681612b42565b5f60208284031215613456575f80fd5b81516001600160401b0381111561346b575f80fd5b82016080818503121561347c575f80fd5b613484612831565b815161348f81612b42565b8152602082015161349f816124b3565b602082015260408201516001600160401b038111156134bc575f80fd5b6134c8868285016130c2565b6040830152506060820151915061342c82613249565b6001600160601b0383168152604060208201525f612baa6040830184612641565b5f6020828403121561350f575f80fd5b815161083c81612611565b5f6020828403121561352a575f80fd5b81516001600160401b0381111561353f575f80fd5b820160e08185031215613550575f80fd5b6135586128c0565b8151613563816124b3565b81526135728560208401613142565b602082015260608201516001600160401b0381111561358f575f80fd5b61359b868285016130c2565b60408301525060808201516135af81613249565b60608201526135c060a0830161325b565b60808201526135d160c0830161325b565b60a0820152949350505050565b5f60e08284031280156135ef575f80fd5b506135f861289e565b825161360381612b02565b81526020830151613613816124b3565b602082015261362460408401613363565b604082015261363560608401613363565b606082015261364660808401613363565b608082015260a0838101519082015260c0928301519281019290925250919050565b5f60208284031215613678575f80fd5b815161083c81613026565b5f60208284031215613693575f80fd5b815161083c81613249565b5f602082840312156136ae575f80fd5b81516001600160401b038111156136c3575f80fd5b8201604081850312156136d4575f80fd5b6136dc612859565b81516136e7816124b3565b815260208201516001600160401b03811115613701575f80fd5b61370d868285016130c2565b602083015250949350505050565b805161300681612709565b5f60208284031215613736575f80fd5b81516001600160401b0381111561374b575f80fd5b820160c0818503121561375c575f80fd5b6137646128c0565b81516001600160401b03811115613779575f80fd5b613785868285016130c2565b82525061379460208301612ffb565b60208201526137a56040830161371b565b60408201526137b66060830161371b565b60608201526137c76080830161371b565b608082015260a08201516001600160401b038111156137e4575f80fd5b6137f0868285016130c2565b60a083015250949350505050565b5f6020828403121561380e575f80fd5b81516001600160401b03811115613823575f80fd5b820160e08185031215613834575f80fd5b61383c61289e565b61384582612ffb565b815261385360208301612ffb565b602082015261386460408301613034565b604082015261387560608301613034565b606082015260808201516001600160401b03811115613892575f80fd5b61389e868285016130c2565b60808301525060a08201516001600160401b038111156138bc575f80fd5b6138c8868285016130c2565b60a0830152506138da60c0830161325b565b60c0820152949350505050565b5f602082840312156138f7575f80fd5b81516001600160401b0381111561390c575f80fd5b8201610220818503121561391e575f80fd5b6139266128e2565b61392f82612ffb565b815261393d60208301612ffb565b602082015261394e6040830161338b565b604082015261395f6060830161338b565b606082015261397060808301612ffb565b608082015261398160a08301612ffb565b60a082015261399260c08301612ffb565b60c08201526139a360e0830161325b565b60e08201526101008201516001600160401b038111156139c1575f80fd5b6139cd868285016130c2565b610100830152506101208201516001600160401b038111156139ed575f80fd5b6139f9868285016130c2565b61012083015250613a0d610140830161343b565b610140820152613a20610160830161343b565b610160820152613a336101808301612ffb565b610180820152613a466101a08301612ffb565b6101a0820152613a596101c0830161325b565b6101c0820152613a6c6101e0830161325b565b6101e0820152613a7f610200830161325b565b610200820152949350505050565b5f60208284031215613a9d575f80fd5b81516001600160401b03811115613ab2575f80fd5b82016101208185031215613ac4575f80fd5b613acc61287b565b81516001600160401b03811115613ae1575f80fd5b613aed868285016130c2565b825250602082810151908201526040808301519082015260608083015190820152613b1a60808301613050565b6080820152613b2b60a08301613050565b60a0820152613b3c60c08301613363565b60c0820152613b4d60e08301613363565b60e08201526101008201516001600160401b03811115613b6b575f80fd5b613b77868285016130c2565b61010083015250949350505050565b5f60208284031215613b96575f80fd5b81516001600160401b03811115613bab575f80fd5b82016101008185031215613bbd575f80fd5b613bc5612905565b613bce82612ffb565b815260208201516001600160401b03811115613be8575f80fd5b613bf4868285016130c2565b602083015250613c0660408301612ffb565b604082015260608201516001600160401b03811115613c23575f80fd5b613c2f868285016130c2565b60608301525060808201516001600160401b03811115613c4d575f80fd5b613c59868285016130c2565b608083015250613c6b60a0830161325b565b60a0820152613c7c60c0830161325b565b60c0820152613c8d60e08301613363565b60e082015294935050505056fea26469706673582212204c8532e1818a736c3aff4e15f6a8c9e56322ed6a55cb536a5a8c92b4602d14a864736f6c634300081a0033",
1981
+ "bytecode": "0x60806040525f805460ff191690553480156017575f80fd5b50615097806100255f395ff3fe608060405234801561000f575f80fd5b50600436106103ca575f3560e01c80636dddada411610200578063bd7d9d851161011f578063e98413ff116100b4578063f7f318d311610084578063f7f318d314610a35578063fad77c3b14610a48578063fcad2c4b14610a5b578063fd80249214610a6e578063febe92af14610a8e575f80fd5b8063e98413ff146109c6578063f0ea17c3146109ef578063f3ed991914610a0f578063f4809edd14610a22575f80fd5b8063db70354c116100ef578063db70354c1461096b578063dd26287a1461097e578063de7b5d1414610991578063e444c3df146109a6575f80fd5b8063bd7d9d8514610907578063cd55e51b14610927578063d06458c61461093a578063d4cda0d81461095a575f80fd5b80638eb9000d11610195578063a5961b4c11610165578063a5961b4c1461084e578063a7ef3d21146108aa578063b82d7ef5146108ca578063ba579bdc146108f4575f80fd5b80638eb9000d146108025780639096a1f31461081557806394b9929b14610828578063a310e2a31461083b575f80fd5b80637d8f1e81116101d05780637d8f1e81146107b45780637e54602a146107c75780638129fc1c146107da578063887b1fa9146107e2575f80fd5b80636dddada41461076a5780636ebed9081461077b57806378ae93501461078e5780637bfd3217146107a1575f80fd5b806335898f5d116102ec5780634d21a63d1161028157806364fc31421161025157806364fc31421461070f5780636553994c146107225780636791f7ab146107355780636a05a4131461074a575f80fd5b80634d21a63d1461065d5780634fb784f51461067057806357f80bbf1461068357806364eb3a9b146106fc575f80fd5b80633f093cd6116102bc5780633f093cd6146105f457806344aa6836146106075780634793b4ab1461061a5780634a4fbeec1461063a575f80fd5b806335898f5d14610595578063380bd950146105a85780633b046f09146105bb5780633f071275146105e1575f80fd5b80631488c845116103625780632c0cd060116103325780632c0cd060146105495780632f458a111461055c57806333fc7dee1461056f57806334bd5be314610582575f80fd5b80631488c845146104e35780631d3be477146104f6578063228e42ec1461051657806327b1d79214610529575f80fd5b80630e0c586d1161039d5780630e0c586d1461045657806310bf267b1461047b578063128817d4146104a257806313ab148d146104c2575f80fd5b80630232ca49146103ce57806309648a9d146103fe57806309c5844f146104235780630b5d931c14610436575b5f80fd5b6103e16103dc3660046132a5565b610aae565b6040516001600160601b0390911681526020015b60405180910390f35b61041161040c3660046132c0565b610b28565b60405160ff90911681526020016103f5565b6104116104313660046132a5565b610b9d565b6104496104443660046132a5565b610c16565b6040516103f5919061331a565b6003546001600160a01b03165b6040516001600160a01b0390911681526020016103f5565b61048e6104893660046133b9565b610cfb565b60405162ffffff90911681526020016103f5565b6104b56104b03660046133f0565b610d11565b6040516103f5919061341a565b6104d56104d03660046132a5565b610d8c565b6040519081526020016103f5565b6104d56104f136600461342f565b610e00565b61050961050436600461346c565b610e7c565b6040516103f591906134b5565b6103e16105243660046132a5565b610fc5565b61053c6105373660046132a5565b610ffe565b6040516103f5919061354f565b6103e16105573660046132a5565b6110bb565b6104d561056a3660046132a5565b6110db565b6104d561057d3660046132a5565b611114565b6104d56105903660046132a5565b61114d565b6104d56105a33660046132a5565b6111c0565b6103e16105b63660046135a8565b6111ec565b6105ce6105c93660046132a5565b611268565b60405161ffff90911681526020016103f5565b6104d56105ef3660046132a5565b61127d565b6104b5610602366004613748565b6112a9565b6104d56106153660046132c0565b6112ff565b61062d6106283660046132a5565b611339565b6040516103f591906137d4565b61064d610648366004613873565b6113da565b60405190151581526020016103f5565b61046361066b3660046132a5565b6114b8565b6104d561067e3660046132a5565b6115c2565b6106966106913660046132a5565b6115ee565b6040516103f591905f60e0820190506001600160601b03835116825260208301511515602083015260408301511515604083015260608301511515606083015260808301511515608083015260a083015160a083015260c083015160c083015292915050565b6104d561070a3660046132a5565b6116bf565b61064d61071d3660046138a2565b6116eb565b6104d561073036600461346c565b6117da565b610748610743366004613873565b61180a565b005b61075d6107583660046132a5565b6119e5565b6040516103f591906138ce565b6002546001600160a01b0316610463565b6103e16107893660046133f0565b611a86565b61041161079c3660046133b9565b611ac6565b6104d56107af3660046132a5565b611bbd565b6104116107c23660046132a5565b611be9565b6104d56107d53660046132a5565b611c05565b610748611c31565b6107f56107f036600461346c565b611c5f565b6040516103f59190613977565b6103e16108103660046132a5565b611d8c565b6104116108233660046132a5565b611dc5565b6104d56108363660046132a5565b611de1565b6104636108493660046132a5565b611e1a565b61086161085c3660046132c0565b611ec2565b6040516103f591905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b6108bd6108b83660046133b9565b611f4c565b6040516103f591906139b5565b6108dd6108d836600461346c565b6120a8565b6040805192835260ff9091166020830152016103f5565b61064d6109023660046132a5565b612344565b61091a6109153660046132a5565b612592565b6040516103f59190613a5f565b61064d6109353660046138a2565b6126aa565b61094d61094836600461346c565b61275e565b6040516103f59190613bd7565b6001546001600160a01b0316610463565b6103e16109793660046133f0565b6128c8565b6104d561098c3660046132a5565b612908565b5f5461010090046001600160a01b0316610463565b6109b96109b43660046132a5565b612934565b6040516103f59190613c78565b6109d96109d4366004613e78565b612a5d565b60405164ffffffffff90911681526020016103f5565b610a026109fd3660046132a5565b612aef565b6040516103f59190613ea4565b610411610a1d366004613f13565b612bc3565b6104b5610a303660046133f0565b612c25565b6104d5610a433660046132a5565b612c65565b6105ce610a563660046132c0565b612c91565b610411610a6936600461346c565b612d14565b610a81610a7c366004613f13565b612e63565b6040516103f59190613f3f565b610aa1610a9c366004613faa565b612fa5565b6040516103f59190613fc5565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa158015610afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2291906140a3565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015610b6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9391906140f3565b6020015192915050565b6001545f906001600160a01b03166309648a9d610bb98461114d565b6040518263ffffffff1660e01b8152600401610bd791815260200190565b602060405180830381865afa158015610bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b22919061415a565b60408051610100810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201526001549091906001600160a01b03166354f6127f610c7185611bbd565b6040518263ffffffff1660e01b8152600401610c8f91815260200190565b5f60405180830381865afa158015610ca9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cd091908101906141c4565b805190915015610cf55780806020019051810190610cee919061428c565b9392505050565b50919050565b5f610d068383611f4c565b604001519392505050565b6003546040516304a205f560e21b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063128817d4906044015b602060405180830381865afa158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614379565b6002546040516313ab148d60e01b81526001600160601b03831660048201525f916001600160a01b0316906313ab148d906024015b602060405180830381865afa158015610ddc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614394565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af4158015610e58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614394565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590610f09906001600160c01b031989169060040161341a565b602060405180830381865af4158015610f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f489190614394565b6040518263ffffffff1660e01b8152600401610f6691815260200190565b5f60405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fa791908101906141c4565b805190915015610cf55780806020019051810190610cee91906143b6565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec90602401610ae3565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f61103e85611c05565b6040518263ffffffff1660e01b815260040161105c91815260200190565b5f60405180830381865afa158015611076573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261109d91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614498565b5f806110c683612592565b9050610cee81608001518261016001516130f3565b600354604051632f458a1160e01b81526001600160601b03831660048201525f916001600160a01b031690632f458a1190602401610dc1565b6003546040516319fe3ef760e11b81526001600160601b03831660048201525f916001600160a01b0316906333fc7dee90602401610dc1565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660145b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610ddc573d5f803e3d5ffd5b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166010611175565b6003546040516346cad99560e11b81526001600160c01b031984166004820152602481018390525f916001600160a01b031690638d95b32a906044015b602060405180830381865afa158015611244573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee91906140a3565b5f61127282612592565b610120015192915050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e611175565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd6906112e4908690869060040161453d565b602060405180830381865af4158015610d68573d5f803e3d5ffd5b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa6836906024016111a5565b611341613153565b6001545f906001600160a01b03166354f6127f61135d85612c65565b6040518263ffffffff1660e01b815260040161137b91815260200190565b5f60405180830381865afa158015611395573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113bc91908101906141c4565b805190915015610cf55780806020019051810190610cee91906145aa565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144f919061466e565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015611494573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614689565b6001545f9081906001600160a01b03166354f6127f6114d6856115c2565b6040518263ffffffff1660e01b81526004016114f491815260200190565b5f60405180830381865afa15801561150e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261153591908101906141c4565b805190915015610cf5575f8180602001905181019061155491906146a2565b905080604001516001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015611596573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ba919061466e565b949350505050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b611175565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001545f906001600160a01b03166354f6127f61164285612908565b6040518263ffffffff1660e01b815260040161166091815260200190565b5f60405180830381865afa15801561167a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116a191908101906141c4565b805190915015610cf55780806020019051810190610cee919061475c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166013611175565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561173c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611760919061466e565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa1580156117b6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614689565b60035460405163380d295960e21b81525f916001600160a01b03169063e034a56490610dc190859060040161341a565b5f5460ff161561182d5760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa158015611896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ba919061466e565b600180546001600160a01b0319166001600160a01b039283161790555f5460408051631b776b6960e21b8152905161010090920490921691636dddada49160048083019260209291908290030181865afa15801561191a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193e919061466e565b600280546001600160a01b0319166001600160a01b039283161790555f5460408051630e0c586d60e01b8152905161010090920490921691630e0c586d9160048083019260209291908290030181865afa15801561199e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c2919061466e565b600380546001600160a01b0319166001600160a01b039290921691909117905550565b6119ed6131aa565b6001545f906001600160a01b03166354f6127f611a098561127d565b6040518263ffffffff1660e01b8152600401611a2791815260200190565b5f60405180830381865afa158015611a41573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6891908101906141c4565b805190915015610cf55780806020019051810190610cee91906147e4565b600254604051630dd7db2160e31b81526001600160601b0384166004820152602481018390525f916001600160a01b031690636ebed90890604401611229565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b22906044015b602060405180830381865af4158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190614394565b6040518263ffffffff1660e01b8152600401611b7e91815260200190565b602060405180830381865afa158015611b99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee919061415a565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600d611175565b6001545f906001600160a01b03166309648a9d610bb984612c65565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601b611175565b5f5460ff1615611c545760405163ae9eff1b60e01b815260040160405180910390fd5b611c5d3361180a565b565b60408051606080820183525f8083526020830152918101919091526001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590611cd0906001600160c01b031989169060040161341a565b602060405180830381865af4158015611ceb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614394565b6040518263ffffffff1660e01b8152600401611d2d91815260200190565b5f60405180830381865afa158015611d47573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d6e91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614881565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d90602401610ae3565b6001545f906001600160a01b03166309648a9d610bb9846116bf565b6002546040516394b9929b60e01b81526001600160601b03831660048201525f916001600160a01b0316906394b9929b90602401610dc1565b6001545f9081906001600160a01b03166354f6127f611e38856115c2565b6040518263ffffffff1660e01b8152600401611e5691815260200190565b5f60405180830381865afa158015611e70573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e9791908101906141c4565b805190915015610cf5575f81806020019051810190611eb691906146a2565b60400151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2291906140f3565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190614394565b6040518263ffffffff1660e01b815260040161203a91815260200190565b5f60405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261207b91908101906141c4565b8051909150156120a157808060200190518101906120999190614939565b915050610b22565b5092915050565b5f805f6120b484610e7c565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121359190614689565b156121b25773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121a59190614394565b60645b9250925050915091565b6122348160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612201573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122259190614a22565b64ffffffffff90811691161090565b156122ab5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612280573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a49190614394565b606e6121a8565b806060015163ffffffff16816080015163ffffffff16106123385773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af415801561230d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123319190614394565b60786121a8565b6040810151600a6121a8565b5f8061234f83612592565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af41580156123ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cf9190614689565b156123dc57505f92915050565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015612437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245b9190614689565b1561246857505f92915050565b6124eb816101a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156124b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124dc9190614a22565b64ffffffffff90811691161190565b156124f857505f92915050565b61257c816101c0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612548573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256c9190614a22565b64ffffffffff9081169116111590565b1561258957505f92915050565b50600192915050565b60408051610200810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082015261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526001545f906001600160a01b03166354f6127f61262d856116bf565b6040518263ffffffff1660e01b815260040161264b91815260200190565b5f60405180830381865afa158015612665573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261268c91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614a48565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061271f919061466e565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b9060440161179b565b6127b6604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee62759061280c906001600160c01b031989169060040161341a565b602060405180830381865af4158015612827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284b9190614394565b6040518263ffffffff1660e01b815260040161286991815260200190565b5f60405180830381865afa158015612883573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128aa91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614bdb565b6002546040516336dc0d5360e21b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063db70354c90604401611229565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166011611175565b60408051610240810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e0810182905261020081018290526102208101919091526001545f906001600160a01b03166354f6127f6129e08561114d565b6040518263ffffffff1660e01b81526004016129fe91815260200190565b5f60405180830381865afa158015612a18573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a3f91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614cd4565b5f73__$0f9396e6447a4be57af83e53f51d234633$__6359fad7ca84612a84856001614e4a565b6040516001600160e01b031960e085901b16815261ffff909216600483015262ffffff166024820152604401602060405180830381865af4158015612acb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614a22565b612b2a6040518060800160405280606081526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b6001545f906001600160a01b03166354f6127f612b46856115c2565b6040518263ffffffff1660e01b8152600401612b6491815260200190565b5f60405180830381865afa158015612b7e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ba591908101906141c4565b805190915015610cf55780806020019051810190610cee91906146a2565b600154604051632867b75960e21b815264ffffffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401611b21565b60035460405163f4809edd60e01b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063f4809edd90604401610d4d565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601d611175565b5f73__$9e81531fe4994e01e99541f86b55500b4b$__639cc45a36612cb7846001614e65565b6040518263ffffffff1660e01b8152600401612cd591815260200190565b602060405180830381865af4158015612cf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614e78565b6001546040516355ee627560e01b81525f9182916001600160a01b03909116906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590612d6e906001600160c01b031989169060040161341a565b602060405180830381865af4158015612d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dad9190614394565b6040518263ffffffff1660e01b8152600401612dcb91815260200190565b5f60405180830381865afa158015612de5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e0c91908101906141c4565b6001546040516355ee627560e01b81529192506001600160a01b0316906309648a9d9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590611b21906001600160c01b031989169060040161341a565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152600154604051632867b75960e21b815264ffffffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401602060405180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190614394565b6040518263ffffffff1660e01b8152600401612f4691815260200190565b5f60405180830381865afa158015612f60573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612f8791908101906141c4565b8051909150156120a157808060200190518101906120999190614e93565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af4158015613052573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130769190614394565b6040518263ffffffff1660e01b815260040161309491815260200190565b5f60405180830381865afa1580156130ae573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130d591908101906141c4565b805190915015610cf55780806020019051810190610cee9190614f4d565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af4158015611244573d5f803e3d5ffd5b6040518060c001604052805f6001600160601b0316815260200161318860405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6040805161012081019091525f60e08201818152610100830191909152819081526020016131e960405180604001604052805f81526020015f81525090565b815260200161320960405180604001604052805f81526020015f81525090565b815260200161322960405180604001604052805f81526020015f81525090565b815260200161324960405180604001604052805f81526020015f81525090565b815260200161326960405180604001604052805f81526020015f81525090565b815260200161328960405180604001604052805f81526020015f81525090565b905290565b6001600160601b03811681146132a2575f80fd5b50565b5f602082840312156132b5575f80fd5b8135610cee8161328e565b5f602082840312156132d0575f80fd5b5035919050565b5f8151808452602084019350602083015f5b828110156133105781516001600160601b03168652602095860195909101906001016132e9565b5093949350505050565b602081528151151560208201526020820151151560408201525f6040830151613347606084018215159052565b50606083015160ff8116608084015250608083015160ff811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e0830151610100808401526115ba6101208401826132d7565b61ffff811681146132a2575f80fd5b5f80604083850312156133ca575f80fd5b82356133d58161328e565b915060208301356133e5816133aa565b809150509250929050565b5f8060408385031215613401575f80fd5b823561340c8161328e565b946020939093013593505050565b6001600160c01b031991909116815260200190565b5f8060408385031215613440575f80fd5b8235915060208301355f81900b81146133e5575f80fd5b6001600160c01b0319811681146132a2575f80fd5b5f6020828403121561347c575f80fd5b8135610cee81613457565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e060408401526134e4610100840182613487565b90506040840151606084015263ffffffff6060850151166080840152608084015161351760a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526135468282613487565b95945050505050565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f60408301516080606084015261358c60a0840182613487565b905063ffffffff60608501511660808401528091505092915050565b5f80604083850312156135b9575f80fd5b823561340c81613457565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156135fa576135fa6135c4565b60405290565b60405161010081016001600160401b03811182821017156135fa576135fa6135c4565b60405160e081016001600160401b03811182821017156135fa576135fa6135c4565b60405160c081016001600160401b03811182821017156135fa576135fa6135c4565b60405161020081016001600160401b03811182821017156135fa576135fa6135c4565b60405161012081016001600160401b03811182821017156135fa576135fa6135c4565b60405161024081016001600160401b03811182821017156135fa576135fa6135c4565b60405160a081016001600160401b03811182821017156135fa576135fa6135c4565b604051601f8201601f191681016001600160401b038111828210171561371a5761371a6135c4565b604052919050565b5f6001600160401b0382111561373a5761373a6135c4565b50601f01601f191660200190565b5f8060408385031215613759575f80fd5b82356137648161328e565b915060208301356001600160401b0381111561377e575f80fd5b8301601f8101851361378e575f80fd5b80356137a161379c82613722565b6136f2565b8181528660208385010111156137b5575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151613805604084018280518252602090810151910152565b50604083015160e06080840152613820610100840182613487565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b6001600160a01b03811681146132a2575f80fd5b5f60208284031215613883575f80fd5b8135610cee8161385f565b6001600160401b03811681146132a2575f80fd5b5f80604083850312156138b3575f80fd5b82356138be8161385f565b915060208301356133e58161388e565b815180518252602090810151908201526101c081016020838101518051604085015290810151606084015250604083015180516080840152602081015160a0840152506060830151805160c0840152602081015160e0840152506080830151805161010084015260208101516101208401525060a0830151805161014084015260208101516101608401525060c0830151805161018084015260208101516101a08401526120a1565b602081526001600160601b03825116602082015264ffffffffff60208301511660408201525f60408301516060808401526115ba6080840182613487565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f60408301516139f3606084018262ffffff169052565b50606083015162ffffff8116608084015250608083015160e060a0840152613a1f610100840182613487565b905060a0840151601f198483030160c0850152613a3c8282613487565b91505060c0840151613a5760e085018264ffffffffff169052565b509392505050565b60208152613a796020820183516001600160601b03169052565b5f6020830151613a9460408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c083015164ffffffffff811660e08401525060e0830151610200610100840152613b1a610220840182613487565b9050610100840151601f1984830301610120850152613b398282613487565b915050610120840151613b5361014085018261ffff169052565b5061014084015161ffff8116610160850152506101608401516001600160601b038116610180850152506101808401516001600160601b0381166101a0850152506101a084015164ffffffffff81166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff8116610200850152613a57565b602081525f82516101206020840152613bf4610140840182613487565b90506020840151604084015260408401516060840152606084015160808401526080840151613c2b60a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f19016101208501526135468282613487565b81516001600160601b0316815261024081016020830151613ca460208401826001600160601b03169052565b506040830151613cbf60408401826001600160601b03169052565b506060830151613cda60608401826001600160601b03169052565b506080830151613cf560808401826001600160601b03169052565b5060a0830151613d1060a08401826001600160601b03169052565b5060c0830151613d2b60c08401826001600160601b03169052565b5060e0830151613d4660e08401826001600160601b03169052565b50610100830151613d636101008401826001600160601b03169052565b50610120830151613d806101208401826001600160601b03169052565b50610140830151613d9d6101408401826001600160601b03169052565b50610160830151613dba6101608401826001600160601b03169052565b50610180830151613dd76101808401826001600160601b03169052565b506101a0830151613df46101a08401826001600160601b03169052565b506101c0830151613e116101c08401826001600160601b03169052565b506101e0830151613e2e6101e08401826001600160601b03169052565b50610200830151613e4b6102008401826001600160601b03169052565b506102208301516120a16102208401826001600160601b03169052565b62ffffff811681146132a2575f80fd5b5f8060408385031215613e89575f80fd5b8235613e94816133aa565b915060208301356133e581613e68565b602081525f825160806020840152613ebf60a0840182613487565b60208501516001600160a01b0390811660408681019190915286015116606080860191909152850151848203601f190160808601529091506135468282613487565b64ffffffffff811681146132a2575f80fd5b5f8060408385031215613f24575f80fd5b8235613f2f8161328e565b915060208301356133e581613f01565b6020815261ffff82511660208201526001600160601b03602083015116604082015260018060a01b0360408301511660608201525f606083015160a06080840152613f8d60c0840182613487565b905064ffffffffff60808501511660a08401528091505092915050565b5f60208284031215613fba575f80fd5b8135610cee8161388e565b60208152613fdf6020820183516001600160601b03169052565b5f60208301516101006040840152613ffb610120840182613487565b9050604084015161401760608501826001600160601b03169052565b506060840151838203601f190160808501526140338282613487565b9150506080840151601f198483030160a08501526140518282613487565b91505060a084015161406c60c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152613a57565b805161409e8161328e565b919050565b5f602082840312156140b3575f80fd5b8151610cee8161328e565b60ff811681146132a2575f80fd5b805161409e816140be565b63ffffffff811681146132a2575f80fd5b805161409e816140d7565b5f6080828403128015614104575f80fd5b5061410d6135d8565b8251614118816140be565b81526020830151614128816140be565b6020820152604083015161413b816140d7565b6040820152606083015161414e816140d7565b60608201529392505050565b5f6020828403121561416a575f80fd5b8151610cee816140be565b5f82601f830112614184575f80fd5b8151602083015f61419761379c84613722565b90508281528583830111156141aa575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f602082840312156141d4575f80fd5b81516001600160401b038111156141e9575f80fd5b6115ba84828501614175565b8051801515811461409e575f80fd5b5f82601f830112614213575f80fd5b81516001600160401b0381111561422c5761422c6135c4565b8060051b61423c602082016136f2565b91825260208185018101929081019086841115614257575f80fd5b6020860192505b838310156142825782516142718161328e565b82526020928301929091019061425e565b9695505050505050565b5f6020828403121561429c575f80fd5b81516001600160401b038111156142b1575f80fd5b820161010081850312156142c3575f80fd5b6142cb613600565b6142d4826141f5565b81526142e2602083016141f5565b60208201526142f3604083016141f5565b6040820152614304606083016140cc565b6060820152614315608083016140cc565b608082015261432660a08301614093565b60a082015261433760c08301614093565b60c082015260e08201516001600160401b03811115614354575f80fd5b61436086828501614204565b60e083015250949350505050565b805161409e81613457565b5f60208284031215614389575f80fd5b8151610cee81613457565b5f602082840312156143a4575f80fd5b5051919050565b805161409e81613f01565b5f602082840312156143c6575f80fd5b81516001600160401b038111156143db575f80fd5b820160e081850312156143ec575f80fd5b6143f4613623565b6143fd82614093565b815260208201516001600160401b03811115614417575f80fd5b61442386828501614175565b6020830152506040828101519082015261443f606083016140e8565b6060820152614450608083016140e8565b608082015261446160a083016143ab565b60a082015260c08201516001600160401b0381111561447e575f80fd5b61448a86828501614175565b60c083015250949350505050565b5f602082840312156144a8575f80fd5b81516001600160401b038111156144bd575f80fd5b8201608081850312156144ce575f80fd5b6144d66135d8565b81516144e181613457565b81526144ef602083016141f5565b602082015260408201516001600160401b0381111561450c575f80fd5b61451886828501614175565b6040830152506060820151915061452e826140d7565b60608101919091529392505050565b6001600160601b0383168152604060208201525f6115ba6040830184613487565b5f6040828403121561456e575f80fd5b604080519081016001600160401b0381118282101715614590576145906135c4565b604052825181526020928301519281019290925250919050565b5f602082840312156145ba575f80fd5b81516001600160401b038111156145cf575f80fd5b820160e081850312156145e0575f80fd5b6145e8613645565b81516145f38161328e565b8152614602856020840161455e565b602082015260608201516001600160401b0381111561461f575f80fd5b61462b86828501614175565b604083015250608082015161463f81613f01565b606082015261465060a083016143ab565b608082015261466160c083016143ab565b60a0820152949350505050565b5f6020828403121561467e575f80fd5b8151610cee8161385f565b5f60208284031215614699575f80fd5b610cee826141f5565b5f602082840312156146b2575f80fd5b81516001600160401b038111156146c7575f80fd5b8201608081850312156146d8575f80fd5b6146e06135d8565b81516001600160401b038111156146f5575f80fd5b61470186828501614175565b82525060208201516147128161385f565b602082015260408201516147258161385f565b604082015260608201516001600160401b03811115614742575f80fd5b61474e86828501614175565b606083015250949350505050565b5f60e082840312801561476d575f80fd5b50614776613623565b82516147818161328e565b815261478f602084016141f5565b60208201526147a0604084016141f5565b60408201526147b1606084016141f5565b60608201526147c2608084016141f5565b608082015260a0838101519082015260c0928301519281019290925250919050565b5f6101c08284031280156147f6575f80fd5b506147ff613623565b614809848461455e565b8152614818846040850161455e565b602082015261482a846080850161455e565b604082015261483c8460c0850161455e565b606082015261484f84610100850161455e565b608082015261486284610140850161455e565b60a082015261487584610180850161455e565b60c08201529392505050565b5f60208284031215614891575f80fd5b81516001600160401b038111156148a6575f80fd5b8201606081850312156148b7575f80fd5b604051606081016001600160401b03811182821017156148d9576148d96135c4565b60405281516148e78161328e565b815260208201516148f781613f01565b602082015260408201516001600160401b03811115614914575f80fd5b61492086828501614175565b604083015250949350505050565b805161409e81613e68565b5f60208284031215614949575f80fd5b81516001600160401b0381111561495e575f80fd5b820160e0818503121561496f575f80fd5b614977613623565b61498082614093565b815261498e60208301614093565b602082015261499f6040830161492e565b60408201526149b06060830161492e565b606082015260808201516001600160401b038111156149cd575f80fd5b6149d986828501614175565b60808301525060a08201516001600160401b038111156149f7575f80fd5b614a0386828501614175565b60a083015250614a1560c083016143ab565b60c0820152949350505050565b5f60208284031215614a32575f80fd5b8151610cee81613f01565b805161409e816133aa565b5f60208284031215614a58575f80fd5b81516001600160401b03811115614a6d575f80fd5b82016102008185031215614a7f575f80fd5b614a87613667565b614a9082614093565b8152614a9e60208301614093565b6020820152614aaf6040830161436e565b6040820152614ac06060830161436e565b6060820152614ad160808301614093565b6080820152614ae260a08301614093565b60a0820152614af360c083016143ab565b60c082015260e08201516001600160401b03811115614b10575f80fd5b614b1c86828501614175565b60e0830152506101008201516001600160401b03811115614b3b575f80fd5b614b4786828501614175565b61010083015250614b5b6101208301614a3d565b610120820152614b6e6101408301614a3d565b610140820152614b816101608301614093565b610160820152614b946101808301614093565b610180820152614ba76101a083016143ab565b6101a0820152614bba6101c083016143ab565b6101c0820152614bcd6101e083016143ab565b6101e0820152949350505050565b5f60208284031215614beb575f80fd5b81516001600160401b03811115614c00575f80fd5b82016101208185031215614c12575f80fd5b614c1a61368a565b81516001600160401b03811115614c2f575f80fd5b614c3b86828501614175565b825250602082810151908201526040808301519082015260608083015190820152614c68608083016140e8565b6080820152614c7960a083016140e8565b60a0820152614c8a60c083016141f5565b60c0820152614c9b60e083016141f5565b60e08201526101008201516001600160401b03811115614cb9575f80fd5b614cc586828501614175565b61010083015250949350505050565b5f610240828403128015614ce6575f80fd5b50614cef6136ad565b614cf883614093565b8152614d0660208401614093565b6020820152614d1760408401614093565b6040820152614d2860608401614093565b6060820152614d3960808401614093565b6080820152614d4a60a08401614093565b60a0820152614d5b60c08401614093565b60c0820152614d6c60e08401614093565b60e0820152614d7e6101008401614093565b610100820152614d916101208401614093565b610120820152614da46101408401614093565b610140820152614db76101608401614093565b610160820152614dca6101808401614093565b610180820152614ddd6101a08401614093565b6101a0820152614df06101c08401614093565b6101c0820152614e036101e08401614093565b6101e0820152614e166102008401614093565b610200820152614e296102208401614093565b6102208201529392505050565b634e487b7160e01b5f52601160045260245ffd5b62ffffff8181168382160190811115610b2257610b22614e36565b80820180821115610b2257610b22614e36565b5f60208284031215614e88575f80fd5b8151610cee816133aa565b5f60208284031215614ea3575f80fd5b81516001600160401b03811115614eb8575f80fd5b820160a08185031215614ec9575f80fd5b614ed16136d0565b8151614edc816133aa565b81526020820151614eec8161328e565b60208201526040820151614eff8161385f565b604082015260608201516001600160401b03811115614f1c575f80fd5b614f2886828501614175565b60608301525060808201519150614f3e82613f01565b60808101919091529392505050565b5f60208284031215614f5d575f80fd5b81516001600160401b03811115614f72575f80fd5b82016101008185031215614f84575f80fd5b614f8c613600565b614f9582614093565b815260208201516001600160401b03811115614faf575f80fd5b614fbb86828501614175565b602083015250614fcd60408301614093565b604082015260608201516001600160401b03811115614fea575f80fd5b614ff686828501614175565b60608301525060808201516001600160401b03811115615014575f80fd5b61502086828501614175565b60808301525061503260a083016143ab565b60a082015261504360c083016143ab565b60c082015261505460e083016141f5565b60e082015294935050505056fea26469706673582212208f73d59293586e0ee34b6222ad507e34c39cfb55677a4c45b5a4418898e98c9864736f6c634300081a0033",
1982
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106103ca575f3560e01c80636dddada411610200578063bd7d9d851161011f578063e98413ff116100b4578063f7f318d311610084578063f7f318d314610a35578063fad77c3b14610a48578063fcad2c4b14610a5b578063fd80249214610a6e578063febe92af14610a8e575f80fd5b8063e98413ff146109c6578063f0ea17c3146109ef578063f3ed991914610a0f578063f4809edd14610a22575f80fd5b8063db70354c116100ef578063db70354c1461096b578063dd26287a1461097e578063de7b5d1414610991578063e444c3df146109a6575f80fd5b8063bd7d9d8514610907578063cd55e51b14610927578063d06458c61461093a578063d4cda0d81461095a575f80fd5b80638eb9000d11610195578063a5961b4c11610165578063a5961b4c1461084e578063a7ef3d21146108aa578063b82d7ef5146108ca578063ba579bdc146108f4575f80fd5b80638eb9000d146108025780639096a1f31461081557806394b9929b14610828578063a310e2a31461083b575f80fd5b80637d8f1e81116101d05780637d8f1e81146107b45780637e54602a146107c75780638129fc1c146107da578063887b1fa9146107e2575f80fd5b80636dddada41461076a5780636ebed9081461077b57806378ae93501461078e5780637bfd3217146107a1575f80fd5b806335898f5d116102ec5780634d21a63d1161028157806364fc31421161025157806364fc31421461070f5780636553994c146107225780636791f7ab146107355780636a05a4131461074a575f80fd5b80634d21a63d1461065d5780634fb784f51461067057806357f80bbf1461068357806364eb3a9b146106fc575f80fd5b80633f093cd6116102bc5780633f093cd6146105f457806344aa6836146106075780634793b4ab1461061a5780634a4fbeec1461063a575f80fd5b806335898f5d14610595578063380bd950146105a85780633b046f09146105bb5780633f071275146105e1575f80fd5b80631488c845116103625780632c0cd060116103325780632c0cd060146105495780632f458a111461055c57806333fc7dee1461056f57806334bd5be314610582575f80fd5b80631488c845146104e35780631d3be477146104f6578063228e42ec1461051657806327b1d79214610529575f80fd5b80630e0c586d1161039d5780630e0c586d1461045657806310bf267b1461047b578063128817d4146104a257806313ab148d146104c2575f80fd5b80630232ca49146103ce57806309648a9d146103fe57806309c5844f146104235780630b5d931c14610436575b5f80fd5b6103e16103dc3660046132a5565b610aae565b6040516001600160601b0390911681526020015b60405180910390f35b61041161040c3660046132c0565b610b28565b60405160ff90911681526020016103f5565b6104116104313660046132a5565b610b9d565b6104496104443660046132a5565b610c16565b6040516103f5919061331a565b6003546001600160a01b03165b6040516001600160a01b0390911681526020016103f5565b61048e6104893660046133b9565b610cfb565b60405162ffffff90911681526020016103f5565b6104b56104b03660046133f0565b610d11565b6040516103f5919061341a565b6104d56104d03660046132a5565b610d8c565b6040519081526020016103f5565b6104d56104f136600461342f565b610e00565b61050961050436600461346c565b610e7c565b6040516103f591906134b5565b6103e16105243660046132a5565b610fc5565b61053c6105373660046132a5565b610ffe565b6040516103f5919061354f565b6103e16105573660046132a5565b6110bb565b6104d561056a3660046132a5565b6110db565b6104d561057d3660046132a5565b611114565b6104d56105903660046132a5565b61114d565b6104d56105a33660046132a5565b6111c0565b6103e16105b63660046135a8565b6111ec565b6105ce6105c93660046132a5565b611268565b60405161ffff90911681526020016103f5565b6104d56105ef3660046132a5565b61127d565b6104b5610602366004613748565b6112a9565b6104d56106153660046132c0565b6112ff565b61062d6106283660046132a5565b611339565b6040516103f591906137d4565b61064d610648366004613873565b6113da565b60405190151581526020016103f5565b61046361066b3660046132a5565b6114b8565b6104d561067e3660046132a5565b6115c2565b6106966106913660046132a5565b6115ee565b6040516103f591905f60e0820190506001600160601b03835116825260208301511515602083015260408301511515604083015260608301511515606083015260808301511515608083015260a083015160a083015260c083015160c083015292915050565b6104d561070a3660046132a5565b6116bf565b61064d61071d3660046138a2565b6116eb565b6104d561073036600461346c565b6117da565b610748610743366004613873565b61180a565b005b61075d6107583660046132a5565b6119e5565b6040516103f591906138ce565b6002546001600160a01b0316610463565b6103e16107893660046133f0565b611a86565b61041161079c3660046133b9565b611ac6565b6104d56107af3660046132a5565b611bbd565b6104116107c23660046132a5565b611be9565b6104d56107d53660046132a5565b611c05565b610748611c31565b6107f56107f036600461346c565b611c5f565b6040516103f59190613977565b6103e16108103660046132a5565b611d8c565b6104116108233660046132a5565b611dc5565b6104d56108363660046132a5565b611de1565b6104636108493660046132a5565b611e1a565b61086161085c3660046132c0565b611ec2565b6040516103f591905f60808201905060ff835116825260ff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015292915050565b6108bd6108b83660046133b9565b611f4c565b6040516103f591906139b5565b6108dd6108d836600461346c565b6120a8565b6040805192835260ff9091166020830152016103f5565b61064d6109023660046132a5565b612344565b61091a6109153660046132a5565b612592565b6040516103f59190613a5f565b61064d6109353660046138a2565b6126aa565b61094d61094836600461346c565b61275e565b6040516103f59190613bd7565b6001546001600160a01b0316610463565b6103e16109793660046133f0565b6128c8565b6104d561098c3660046132a5565b612908565b5f5461010090046001600160a01b0316610463565b6109b96109b43660046132a5565b612934565b6040516103f59190613c78565b6109d96109d4366004613e78565b612a5d565b60405164ffffffffff90911681526020016103f5565b610a026109fd3660046132a5565b612aef565b6040516103f59190613ea4565b610411610a1d366004613f13565b612bc3565b6104b5610a303660046133f0565b612c25565b6104d5610a433660046132a5565b612c65565b6105ce610a563660046132c0565b612c91565b610411610a6936600461346c565b612d14565b610a81610a7c366004613f13565b612e63565b6040516103f59190613f3f565b610aa1610a9c366004613faa565b612fa5565b6040516103f59190613fc5565b600154604051630232ca4960e01b81526001600160601b03831660048201525f916001600160a01b031690630232ca49906024015b602060405180830381865afa158015610afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2291906140a3565b92915050565b60015460405163296586d360e21b8152600481018390525f916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015610b6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9391906140f3565b6020015192915050565b6001545f906001600160a01b03166309648a9d610bb98461114d565b6040518263ffffffff1660e01b8152600401610bd791815260200190565b602060405180830381865afa158015610bf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b22919061415a565b60408051610100810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201526001549091906001600160a01b03166354f6127f610c7185611bbd565b6040518263ffffffff1660e01b8152600401610c8f91815260200190565b5f60405180830381865afa158015610ca9573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cd091908101906141c4565b805190915015610cf55780806020019051810190610cee919061428c565b9392505050565b50919050565b5f610d068383611f4c565b604001519392505050565b6003546040516304a205f560e21b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063128817d4906044015b602060405180830381865afa158015610d68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614379565b6002546040516313ab148d60e01b81526001600160601b03831660048201525f916001600160a01b0316906313ab148d906024015b602060405180830381865afa158015610ddc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614394565b604051631488c84560e01b8152600481018390525f82810b60248301529073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c84590604401602060405180830381865af4158015610e58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614394565b6040805160e0810182525f8082526060602083018190529282018190528282018190526080820181905260a082015260c08101919091526001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$05887d5853069c88bcd4c0a2107db45f29$__906355ee627590610f09906001600160c01b031989169060040161341a565b602060405180830381865af4158015610f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f489190614394565b6040518263ffffffff1660e01b8152600401610f6691815260200190565b5f60405180830381865afa158015610f80573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610fa791908101906141c4565b805190915015610cf55780806020019051810190610cee91906143b6565b6001546040516308a390bb60e21b81526001600160601b03831660048201525f916001600160a01b03169063228e42ec90602401610ae3565b604080516080810182525f808252602082018190526060928201839052918101919091526001545f906001600160a01b03166354f6127f61103e85611c05565b6040518263ffffffff1660e01b815260040161105c91815260200190565b5f60405180830381865afa158015611076573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261109d91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614498565b5f806110c683612592565b9050610cee81608001518261016001516130f3565b600354604051632f458a1160e01b81526001600160601b03831660048201525f916001600160a01b031690632f458a1190602401610dc1565b6003546040516319fe3ef760e11b81526001600160601b03831660048201525f916001600160a01b0316906333fc7dee90602401610dc1565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03841660145b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044015b602060405180830381865af4158015610ddc573d5f803e3d5ffd5b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166010611175565b6003546040516346cad99560e11b81526001600160c01b031984166004820152602481018390525f916001600160a01b031690638d95b32a906044015b602060405180830381865afa158015611244573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee91906140a3565b5f61127282612592565b610120015192915050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600e611175565b604051631f849e6b60e11b81525f9073__$05887d5853069c88bcd4c0a2107db45f29$__90633f093cd6906112e4908690869060040161453d565b602060405180830381865af4158015610d68573d5f803e3d5ffd5b604051632255341b60e11b8152600481018290525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa6836906024016111a5565b611341613153565b6001545f906001600160a01b03166354f6127f61135d85612c65565b6040518263ffffffff1660e01b815260040161137b91815260200190565b5f60405180830381865afa158015611395573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113bc91908101906141c4565b805190915015610cf55780806020019051810190610cee91906145aa565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144f919061466e565b604051629b7b3560e61b81526001600160a01b03848116600483015291909116906326decd4090602401602060405180830381865afa158015611494573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614689565b6001545f9081906001600160a01b03166354f6127f6114d6856115c2565b6040518263ffffffff1660e01b81526004016114f491815260200190565b5f60405180830381865afa15801561150e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261153591908101906141c4565b805190915015610cf5575f8180602001905181019061155491906146a2565b905080604001516001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015611596573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ba919061466e565b949350505050565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600b611175565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091526001545f906001600160a01b03166354f6127f61164285612908565b6040518263ffffffff1660e01b815260040161166091815260200190565b5f60405180830381865afa15801561167a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116a191908101906141c4565b805190915015610cf55780806020019051810190610cee919061475c565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166013611175565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561173c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611760919061466e565b60405163327e18a160e11b81526001600160a01b0385811660048301526001600160401b038516602483015291909116906364fc3142906044015b602060405180830381865afa1580156117b6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614689565b60035460405163380d295960e21b81525f916001600160a01b03169063e034a56490610dc190859060040161341a565b5f5460ff161561182d5760405163ae9eff1b60e01b815260040160405180910390fd5b5f80546001600160a01b038084166101009081026001600160a81b0319909316929092176001179283905560408051631a99b41b60e31b8152905192909304169163d4cda0d89160048083019260209291908290030181865afa158015611896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ba919061466e565b600180546001600160a01b0319166001600160a01b039283161790555f5460408051631b776b6960e21b8152905161010090920490921691636dddada49160048083019260209291908290030181865afa15801561191a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193e919061466e565b600280546001600160a01b0319166001600160a01b039283161790555f5460408051630e0c586d60e01b8152905161010090920490921691630e0c586d9160048083019260209291908290030181865afa15801561199e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c2919061466e565b600380546001600160a01b0319166001600160a01b039290921691909117905550565b6119ed6131aa565b6001545f906001600160a01b03166354f6127f611a098561127d565b6040518263ffffffff1660e01b8152600401611a2791815260200190565b5f60405180830381865afa158015611a41573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6891908101906141c4565b805190915015610cf55780806020019051810190610cee91906147e4565b600254604051630dd7db2160e31b81526001600160601b0384166004820152602481018390525f916001600160a01b031690636ebed90890604401611229565b600154604051637d56159160e11b815261ffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b22906044015b602060405180830381865af4158015611b3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b609190614394565b6040518263ffffffff1660e01b8152600401611b7e91815260200190565b602060405180830381865afa158015611b99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee919061415a565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416600d611175565b6001545f906001600160a01b03166309648a9d610bb984612c65565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601b611175565b5f5460ff1615611c545760405163ae9eff1b60e01b815260040160405180910390fd5b611c5d3361180a565b565b60408051606080820183525f8083526020830152918101919091526001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590611cd0906001600160c01b031989169060040161341a565b602060405180830381865af4158015611ceb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d0f9190614394565b6040518263ffffffff1660e01b8152600401611d2d91815260200190565b5f60405180830381865afa158015611d47573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d6e91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614881565b600154604051638eb9000d60e01b81526001600160601b03831660048201525f916001600160a01b031690638eb9000d90602401610ae3565b6001545f906001600160a01b03166309648a9d610bb9846116bf565b6002546040516394b9929b60e01b81526001600160601b03831660048201525f916001600160a01b0316906394b9929b90602401610dc1565b6001545f9081906001600160a01b03166354f6127f611e38856115c2565b6040518263ffffffff1660e01b8152600401611e5691815260200190565b5f60405180830381865afa158015611e70573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e9791908101906141c4565b805190915015610cf5575f81806020019051810190611eb691906146a2565b60400151949350505050565b604080516080810182525f808252602082018190528183018190526060820152600154915163296586d360e21b81526004810184905290916001600160a01b03169063a5961b4c90602401608060405180830381865afa158015611f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2291906140f3565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820181905260a082015260c0810191909152600154604051637d56159160e11b815261ffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$9e81531fe4994e01e99541f86b55500b4b$__9063faac2b2290604401602060405180830381865af4158015611ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061201c9190614394565b6040518263ffffffff1660e01b815260040161203a91815260200190565b5f60405180830381865afa158015612054573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261207b91908101906141c4565b8051909150156120a157808060200190518101906120999190614939565b915050610b22565b5092915050565b5f805f6120b484610e7c565b60a081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015612111573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121359190614689565b156121b25773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121a59190614394565b60645b9250925050915091565b6122348160a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612201573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122259190614a22565b64ffffffffff90811691161090565b156122ab5773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612280573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122a49190614394565b606e6121a8565b806060015163ffffffff16816080015163ffffffff16106123385773__$bf7bc340cbb9229ef1de2c568356e67902$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af415801561230d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123319190614394565b60786121a8565b6040810151600a6121a8565b5f8061234f83612592565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af41580156123ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cf9190614689565b156123dc57505f92915050565b6101a081015160405163790a38ad60e01b815264ffffffffff909116600482015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9063790a38ad90602401602060405180830381865af4158015612437573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245b9190614689565b1561246857505f92915050565b6124eb816101a0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af41580156124b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124dc9190614a22565b64ffffffffff90811691161190565b156124f857505f92915050565b61257c816101c0015173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015612548573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256c9190614a22565b64ffffffffff9081169116111590565b1561258957505f92915050565b50600192915050565b60408051610200810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082015261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101919091526001545f906001600160a01b03166354f6127f61262d856116bf565b6040518263ffffffff1660e01b815260040161264b91815260200190565b5f60405180830381865afa158015612665573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261268c91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614a48565b5f8060019054906101000a90046001600160a01b03166001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061271f919061466e565b60405163cd55e51b60e01b81526001600160a01b0385811660048301526001600160401b0385166024830152919091169063cd55e51b9060440161179b565b6127b6604051806101200160405280606081526020015f81526020015f81526020015f81526020015f63ffffffff1681526020015f63ffffffff1681526020015f151581526020015f15158152602001606081525090565b6001546040516355ee627560e01b81525f916001600160a01b0316906354f6127f9073__$1919c6d2c69d787ccb2653a371d7e5737d$__906355ee62759061280c906001600160c01b031989169060040161341a565b602060405180830381865af4158015612827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284b9190614394565b6040518263ffffffff1660e01b815260040161286991815260200190565b5f60405180830381865afa158015612883573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128aa91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614bdb565b6002546040516336dc0d5360e21b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063db70354c90604401611229565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b0384166011611175565b60408051610240810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e0810182905261020081018290526102208101919091526001545f906001600160a01b03166354f6127f6129e08561114d565b6040518263ffffffff1660e01b81526004016129fe91815260200190565b5f60405180830381865afa158015612a18573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a3f91908101906141c4565b805190915015610cf55780806020019051810190610cee9190614cd4565b5f73__$0f9396e6447a4be57af83e53f51d234633$__6359fad7ca84612a84856001614e4a565b6040516001600160e01b031960e085901b16815261ffff909216600483015262ffffff166024820152604401602060405180830381865af4158015612acb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190614a22565b612b2a6040518060800160405280606081526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b6001545f906001600160a01b03166354f6127f612b46856115c2565b6040518263ffffffff1660e01b8152600401612b6491815260200190565b5f60405180830381865afa158015612b7e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ba591908101906141c4565b805190915015610cf55780806020019051810190610cee91906146a2565b600154604051632867b75960e21b815264ffffffffff831660048201526001600160601b03841660248201525f916001600160a01b0316906309648a9d9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401611b21565b60035460405163f4809edd60e01b81526001600160601b0384166004820152602481018390525f916001600160a01b03169063f4809edd90604401610d4d565b5f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601d611175565b5f73__$9e81531fe4994e01e99541f86b55500b4b$__639cc45a36612cb7846001614e65565b6040518263ffffffff1660e01b8152600401612cd591815260200190565b602060405180830381865af4158015612cf0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190614e78565b6001546040516355ee627560e01b81525f9182916001600160a01b03909116906354f6127f9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590612d6e906001600160c01b031989169060040161341a565b602060405180830381865af4158015612d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dad9190614394565b6040518263ffffffff1660e01b8152600401612dcb91815260200190565b5f60405180830381865afa158015612de5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e0c91908101906141c4565b6001546040516355ee627560e01b81529192506001600160a01b0316906309648a9d9073__$32e9ecefef68cb354d118e0496fdd3f4bc$__906355ee627590611b21906001600160c01b031989169060040161341a565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152600154604051632867b75960e21b815264ffffffffff841660048201526001600160601b03851660248201525f916001600160a01b0316906354f6127f9073__$0f9396e6447a4be57af83e53f51d234633$__9063a19edd6490604401602060405180830381865af4158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f289190614394565b6040518263ffffffff1660e01b8152600401612f4691815260200190565b5f60405180830381865afa158015612f60573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612f8791908101906141c4565b8051909150156120a157808060200190518101906120999190614e93565b60408051610100810182525f808252606060208301819052928201819052828201839052608082019290925260a0810182905260c0810182905260e0810191909152600154604051630f37f38f60e41b81526001600160401b03841660048201525f916001600160a01b0316906354f6127f9073__$b4c16f233b92c2c4124fb22a521f86c95b$__9063f37f38f090602401602060405180830381865af4158015613052573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130769190614394565b6040518263ffffffff1660e01b815260040161309491815260200190565b5f60405180830381865afa1580156130ae573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130d591908101906141c4565b805190915015610cf55780806020019051810190610cee9190614f4d565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af4158015611244573d5f803e3d5ffd5b6040518060c001604052805f6001600160601b0316815260200161318860405180604001604052805f81526020015f81525090565b81526060602082018190525f6040830181905290820181905260809091015290565b6040805161012081019091525f60e08201818152610100830191909152819081526020016131e960405180604001604052805f81526020015f81525090565b815260200161320960405180604001604052805f81526020015f81525090565b815260200161322960405180604001604052805f81526020015f81525090565b815260200161324960405180604001604052805f81526020015f81525090565b815260200161326960405180604001604052805f81526020015f81525090565b815260200161328960405180604001604052805f81526020015f81525090565b905290565b6001600160601b03811681146132a2575f80fd5b50565b5f602082840312156132b5575f80fd5b8135610cee8161328e565b5f602082840312156132d0575f80fd5b5035919050565b5f8151808452602084019350602083015f5b828110156133105781516001600160601b03168652602095860195909101906001016132e9565b5093949350505050565b602081528151151560208201526020820151151560408201525f6040830151613347606084018215159052565b50606083015160ff8116608084015250608083015160ff811660a08401525060a08301516001600160601b03811660c08401525060c08301516001600160601b03811660e08401525060e0830151610100808401526115ba6101208401826132d7565b61ffff811681146132a2575f80fd5b5f80604083850312156133ca575f80fd5b82356133d58161328e565b915060208301356133e5816133aa565b809150509250929050565b5f8060408385031215613401575f80fd5b823561340c8161328e565b946020939093013593505050565b6001600160c01b031991909116815260200190565b5f8060408385031215613440575f80fd5b8235915060208301355f81900b81146133e5575f80fd5b6001600160c01b0319811681146132a2575f80fd5b5f6020828403121561347c575f80fd5b8135610cee81613457565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201525f602083015160e060408401526134e4610100840182613487565b90506040840151606084015263ffffffff6060850151166080840152608084015161351760a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e08501526135468282613487565b95945050505050565b602081526001600160401b0360c01b82511660208201526020820151151560408201525f60408301516080606084015261358c60a0840182613487565b905063ffffffff60608501511660808401528091505092915050565b5f80604083850312156135b9575f80fd5b823561340c81613457565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156135fa576135fa6135c4565b60405290565b60405161010081016001600160401b03811182821017156135fa576135fa6135c4565b60405160e081016001600160401b03811182821017156135fa576135fa6135c4565b60405160c081016001600160401b03811182821017156135fa576135fa6135c4565b60405161020081016001600160401b03811182821017156135fa576135fa6135c4565b60405161012081016001600160401b03811182821017156135fa576135fa6135c4565b60405161024081016001600160401b03811182821017156135fa576135fa6135c4565b60405160a081016001600160401b03811182821017156135fa576135fa6135c4565b604051601f8201601f191681016001600160401b038111828210171561371a5761371a6135c4565b604052919050565b5f6001600160401b0382111561373a5761373a6135c4565b50601f01601f191660200190565b5f8060408385031215613759575f80fd5b82356137648161328e565b915060208301356001600160401b0381111561377e575f80fd5b8301601f8101851361378e575f80fd5b80356137a161379c82613722565b6136f2565b8181528660208385010111156137b5575f80fd5b816020840160208301375f602083830101528093505050509250929050565b602081526001600160601b0382511660208201525f6020830151613805604084018280518252602090810151910152565b50604083015160e06080840152613820610100840182613487565b905064ffffffffff60608501511660a084015264ffffffffff60808501511660c084015264ffffffffff60a08501511660e08401528091505092915050565b6001600160a01b03811681146132a2575f80fd5b5f60208284031215613883575f80fd5b8135610cee8161385f565b6001600160401b03811681146132a2575f80fd5b5f80604083850312156138b3575f80fd5b82356138be8161385f565b915060208301356133e58161388e565b815180518252602090810151908201526101c081016020838101518051604085015290810151606084015250604083015180516080840152602081015160a0840152506060830151805160c0840152602081015160e0840152506080830151805161010084015260208101516101208401525060a0830151805161014084015260208101516101608401525060c0830151805161018084015260208101516101a08401526120a1565b602081526001600160601b03825116602082015264ffffffffff60208301511660408201525f60408301516060808401526115ba6080840182613487565b602081526001600160601b0382511660208201526001600160601b0360208301511660408201525f60408301516139f3606084018262ffffff169052565b50606083015162ffffff8116608084015250608083015160e060a0840152613a1f610100840182613487565b905060a0840151601f198483030160c0850152613a3c8282613487565b91505060c0840151613a5760e085018264ffffffffff169052565b509392505050565b60208152613a796020820183516001600160601b03169052565b5f6020830151613a9460408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b0319811660808401525060808301516001600160601b03811660a08401525060a08301516001600160601b03811660c08401525060c083015164ffffffffff811660e08401525060e0830151610200610100840152613b1a610220840182613487565b9050610100840151601f1984830301610120850152613b398282613487565b915050610120840151613b5361014085018261ffff169052565b5061014084015161ffff8116610160850152506101608401516001600160601b038116610180850152506101808401516001600160601b0381166101a0850152506101a084015164ffffffffff81166101c0850152506101c084015164ffffffffff81166101e0850152506101e084015164ffffffffff8116610200850152613a57565b602081525f82516101206020840152613bf4610140840182613487565b90506020840151604084015260408401516060840152606084015160808401526080840151613c2b60a085018263ffffffff169052565b5060a084015163ffffffff811660c08501525060c084015180151560e08501525060e084015180151561010085015250610100840151838203601f19016101208501526135468282613487565b81516001600160601b0316815261024081016020830151613ca460208401826001600160601b03169052565b506040830151613cbf60408401826001600160601b03169052565b506060830151613cda60608401826001600160601b03169052565b506080830151613cf560808401826001600160601b03169052565b5060a0830151613d1060a08401826001600160601b03169052565b5060c0830151613d2b60c08401826001600160601b03169052565b5060e0830151613d4660e08401826001600160601b03169052565b50610100830151613d636101008401826001600160601b03169052565b50610120830151613d806101208401826001600160601b03169052565b50610140830151613d9d6101408401826001600160601b03169052565b50610160830151613dba6101608401826001600160601b03169052565b50610180830151613dd76101808401826001600160601b03169052565b506101a0830151613df46101a08401826001600160601b03169052565b506101c0830151613e116101c08401826001600160601b03169052565b506101e0830151613e2e6101e08401826001600160601b03169052565b50610200830151613e4b6102008401826001600160601b03169052565b506102208301516120a16102208401826001600160601b03169052565b62ffffff811681146132a2575f80fd5b5f8060408385031215613e89575f80fd5b8235613e94816133aa565b915060208301356133e581613e68565b602081525f825160806020840152613ebf60a0840182613487565b60208501516001600160a01b0390811660408681019190915286015116606080860191909152850151848203601f190160808601529091506135468282613487565b64ffffffffff811681146132a2575f80fd5b5f8060408385031215613f24575f80fd5b8235613f2f8161328e565b915060208301356133e581613f01565b6020815261ffff82511660208201526001600160601b03602083015116604082015260018060a01b0360408301511660608201525f606083015160a06080840152613f8d60c0840182613487565b905064ffffffffff60808501511660a08401528091505092915050565b5f60208284031215613fba575f80fd5b8135610cee8161388e565b60208152613fdf6020820183516001600160601b03169052565b5f60208301516101006040840152613ffb610120840182613487565b9050604084015161401760608501826001600160601b03169052565b506060840151838203601f190160808501526140338282613487565b9150506080840151601f198483030160a08501526140518282613487565b91505060a084015161406c60c085018264ffffffffff169052565b5060c084015164ffffffffff811660e08501525060e0840151801515610100850152613a57565b805161409e8161328e565b919050565b5f602082840312156140b3575f80fd5b8151610cee8161328e565b60ff811681146132a2575f80fd5b805161409e816140be565b63ffffffff811681146132a2575f80fd5b805161409e816140d7565b5f6080828403128015614104575f80fd5b5061410d6135d8565b8251614118816140be565b81526020830151614128816140be565b6020820152604083015161413b816140d7565b6040820152606083015161414e816140d7565b60608201529392505050565b5f6020828403121561416a575f80fd5b8151610cee816140be565b5f82601f830112614184575f80fd5b8151602083015f61419761379c84613722565b90508281528583830111156141aa575f80fd5b8282602083015e5f92810160200192909252509392505050565b5f602082840312156141d4575f80fd5b81516001600160401b038111156141e9575f80fd5b6115ba84828501614175565b8051801515811461409e575f80fd5b5f82601f830112614213575f80fd5b81516001600160401b0381111561422c5761422c6135c4565b8060051b61423c602082016136f2565b91825260208185018101929081019086841115614257575f80fd5b6020860192505b838310156142825782516142718161328e565b82526020928301929091019061425e565b9695505050505050565b5f6020828403121561429c575f80fd5b81516001600160401b038111156142b1575f80fd5b820161010081850312156142c3575f80fd5b6142cb613600565b6142d4826141f5565b81526142e2602083016141f5565b60208201526142f3604083016141f5565b6040820152614304606083016140cc565b6060820152614315608083016140cc565b608082015261432660a08301614093565b60a082015261433760c08301614093565b60c082015260e08201516001600160401b03811115614354575f80fd5b61436086828501614204565b60e083015250949350505050565b805161409e81613457565b5f60208284031215614389575f80fd5b8151610cee81613457565b5f602082840312156143a4575f80fd5b5051919050565b805161409e81613f01565b5f602082840312156143c6575f80fd5b81516001600160401b038111156143db575f80fd5b820160e081850312156143ec575f80fd5b6143f4613623565b6143fd82614093565b815260208201516001600160401b03811115614417575f80fd5b61442386828501614175565b6020830152506040828101519082015261443f606083016140e8565b6060820152614450608083016140e8565b608082015261446160a083016143ab565b60a082015260c08201516001600160401b0381111561447e575f80fd5b61448a86828501614175565b60c083015250949350505050565b5f602082840312156144a8575f80fd5b81516001600160401b038111156144bd575f80fd5b8201608081850312156144ce575f80fd5b6144d66135d8565b81516144e181613457565b81526144ef602083016141f5565b602082015260408201516001600160401b0381111561450c575f80fd5b61451886828501614175565b6040830152506060820151915061452e826140d7565b60608101919091529392505050565b6001600160601b0383168152604060208201525f6115ba6040830184613487565b5f6040828403121561456e575f80fd5b604080519081016001600160401b0381118282101715614590576145906135c4565b604052825181526020928301519281019290925250919050565b5f602082840312156145ba575f80fd5b81516001600160401b038111156145cf575f80fd5b820160e081850312156145e0575f80fd5b6145e8613645565b81516145f38161328e565b8152614602856020840161455e565b602082015260608201516001600160401b0381111561461f575f80fd5b61462b86828501614175565b604083015250608082015161463f81613f01565b606082015261465060a083016143ab565b608082015261466160c083016143ab565b60a0820152949350505050565b5f6020828403121561467e575f80fd5b8151610cee8161385f565b5f60208284031215614699575f80fd5b610cee826141f5565b5f602082840312156146b2575f80fd5b81516001600160401b038111156146c7575f80fd5b8201608081850312156146d8575f80fd5b6146e06135d8565b81516001600160401b038111156146f5575f80fd5b61470186828501614175565b82525060208201516147128161385f565b602082015260408201516147258161385f565b604082015260608201516001600160401b03811115614742575f80fd5b61474e86828501614175565b606083015250949350505050565b5f60e082840312801561476d575f80fd5b50614776613623565b82516147818161328e565b815261478f602084016141f5565b60208201526147a0604084016141f5565b60408201526147b1606084016141f5565b60608201526147c2608084016141f5565b608082015260a0838101519082015260c0928301519281019290925250919050565b5f6101c08284031280156147f6575f80fd5b506147ff613623565b614809848461455e565b8152614818846040850161455e565b602082015261482a846080850161455e565b604082015261483c8460c0850161455e565b606082015261484f84610100850161455e565b608082015261486284610140850161455e565b60a082015261487584610180850161455e565b60c08201529392505050565b5f60208284031215614891575f80fd5b81516001600160401b038111156148a6575f80fd5b8201606081850312156148b7575f80fd5b604051606081016001600160401b03811182821017156148d9576148d96135c4565b60405281516148e78161328e565b815260208201516148f781613f01565b602082015260408201516001600160401b03811115614914575f80fd5b61492086828501614175565b604083015250949350505050565b805161409e81613e68565b5f60208284031215614949575f80fd5b81516001600160401b0381111561495e575f80fd5b820160e0818503121561496f575f80fd5b614977613623565b61498082614093565b815261498e60208301614093565b602082015261499f6040830161492e565b60408201526149b06060830161492e565b606082015260808201516001600160401b038111156149cd575f80fd5b6149d986828501614175565b60808301525060a08201516001600160401b038111156149f7575f80fd5b614a0386828501614175565b60a083015250614a1560c083016143ab565b60c0820152949350505050565b5f60208284031215614a32575f80fd5b8151610cee81613f01565b805161409e816133aa565b5f60208284031215614a58575f80fd5b81516001600160401b03811115614a6d575f80fd5b82016102008185031215614a7f575f80fd5b614a87613667565b614a9082614093565b8152614a9e60208301614093565b6020820152614aaf6040830161436e565b6040820152614ac06060830161436e565b6060820152614ad160808301614093565b6080820152614ae260a08301614093565b60a0820152614af360c083016143ab565b60c082015260e08201516001600160401b03811115614b10575f80fd5b614b1c86828501614175565b60e0830152506101008201516001600160401b03811115614b3b575f80fd5b614b4786828501614175565b61010083015250614b5b6101208301614a3d565b610120820152614b6e6101408301614a3d565b610140820152614b816101608301614093565b610160820152614b946101808301614093565b610180820152614ba76101a083016143ab565b6101a0820152614bba6101c083016143ab565b6101c0820152614bcd6101e083016143ab565b6101e0820152949350505050565b5f60208284031215614beb575f80fd5b81516001600160401b03811115614c00575f80fd5b82016101208185031215614c12575f80fd5b614c1a61368a565b81516001600160401b03811115614c2f575f80fd5b614c3b86828501614175565b825250602082810151908201526040808301519082015260608083015190820152614c68608083016140e8565b6080820152614c7960a083016140e8565b60a0820152614c8a60c083016141f5565b60c0820152614c9b60e083016141f5565b60e08201526101008201516001600160401b03811115614cb9575f80fd5b614cc586828501614175565b61010083015250949350505050565b5f610240828403128015614ce6575f80fd5b50614cef6136ad565b614cf883614093565b8152614d0660208401614093565b6020820152614d1760408401614093565b6040820152614d2860608401614093565b6060820152614d3960808401614093565b6080820152614d4a60a08401614093565b60a0820152614d5b60c08401614093565b60c0820152614d6c60e08401614093565b60e0820152614d7e6101008401614093565b610100820152614d916101208401614093565b610120820152614da46101408401614093565b610140820152614db76101608401614093565b610160820152614dca6101808401614093565b610180820152614ddd6101a08401614093565b6101a0820152614df06101c08401614093565b6101c0820152614e036101e08401614093565b6101e0820152614e166102008401614093565b610200820152614e296102208401614093565b6102208201529392505050565b634e487b7160e01b5f52601160045260245ffd5b62ffffff8181168382160190811115610b2257610b22614e36565b80820180821115610b2257610b22614e36565b5f60208284031215614e88575f80fd5b8151610cee816133aa565b5f60208284031215614ea3575f80fd5b81516001600160401b03811115614eb8575f80fd5b820160a08185031215614ec9575f80fd5b614ed16136d0565b8151614edc816133aa565b81526020820151614eec8161328e565b60208201526040820151614eff8161385f565b604082015260608201516001600160401b03811115614f1c575f80fd5b614f2886828501614175565b60608301525060808201519150614f3e82613f01565b60808101919091529392505050565b5f60208284031215614f5d575f80fd5b81516001600160401b03811115614f72575f80fd5b82016101008185031215614f84575f80fd5b614f8c613600565b614f9582614093565b815260208201516001600160401b03811115614faf575f80fd5b614fbb86828501614175565b602083015250614fcd60408301614093565b604082015260608201516001600160401b03811115614fea575f80fd5b614ff686828501614175565b60608301525060808201516001600160401b03811115615014575f80fd5b61502086828501614175565b60808301525061503260a083016143ab565b60a082015261504360c083016143ab565b60c082015261505460e083016141f5565b60e082015294935050505056fea26469706673582212208f73d59293586e0ee34b6222ad507e34c39cfb55677a4c45b5a4418898e98c9864736f6c634300081a0033",
1366
1983
  "linkReferences": {
1367
1984
  "contracts/type/Amount.sol": {
1368
1985
  "AmountLib": [
1369
1986
  {
1370
1987
  "length": 20,
1371
- "start": 9023
1988
+ "start": 12608
1372
1989
  }
1373
1990
  ]
1374
1991
  },
@@ -1376,11 +1993,15 @@
1376
1993
  "ClaimIdLib": [
1377
1994
  {
1378
1995
  "length": 20,
1379
- "start": 5593
1996
+ "start": 6952
1380
1997
  },
1381
1998
  {
1382
1999
  "length": 20,
1383
- "start": 6650
2000
+ "start": 8165
2001
+ },
2002
+ {
2003
+ "length": 20,
2004
+ "start": 11449
1384
2005
  }
1385
2006
  ]
1386
2007
  },
@@ -1388,7 +2009,7 @@
1388
2009
  "DistributorTypeLib": [
1389
2010
  {
1390
2011
  "length": 20,
1391
- "start": 8143
2012
+ "start": 10239
1392
2013
  }
1393
2014
  ]
1394
2015
  },
@@ -1396,35 +2017,43 @@
1396
2017
  "NftIdLib": [
1397
2018
  {
1398
2019
  "length": 20,
1399
- "start": 3077
2020
+ "start": 4469
2021
+ },
2022
+ {
2023
+ "length": 20,
2024
+ "start": 4584
2025
+ },
2026
+ {
2027
+ "length": 20,
2028
+ "start": 4773
1400
2029
  },
1401
2030
  {
1402
2031
  "length": 20,
1403
- "start": 3899
2032
+ "start": 5610
1404
2033
  },
1405
2034
  {
1406
2035
  "length": 20,
1407
- "start": 4400
2036
+ "start": 5863
1408
2037
  },
1409
2038
  {
1410
2039
  "length": 20,
1411
- "start": 4938
2040
+ "start": 7141
1412
2041
  },
1413
2042
  {
1414
2043
  "length": 20,
1415
- "start": 5630
2044
+ "start": 7213
1416
2045
  },
1417
2046
  {
1418
2047
  "length": 20,
1419
- "start": 5674
2048
+ "start": 9112
1420
2049
  },
1421
2050
  {
1422
2051
  "length": 20,
1423
- "start": 8363
2052
+ "start": 10544
1424
2053
  },
1425
2054
  {
1426
2055
  "length": 20,
1427
- "start": 8608
2056
+ "start": 11405
1428
2057
  }
1429
2058
  ]
1430
2059
  },
@@ -1432,11 +2061,15 @@
1432
2061
  "PayoutIdLib": [
1433
2062
  {
1434
2063
  "length": 20,
1435
- "start": 3323
2064
+ "start": 10885
2065
+ },
2066
+ {
2067
+ "length": 20,
2068
+ "start": 11304
1436
2069
  },
1437
2070
  {
1438
2071
  "length": 20,
1439
- "start": 4211
2072
+ "start": 12017
1440
2073
  }
1441
2074
  ]
1442
2075
  },
@@ -1444,11 +2077,11 @@
1444
2077
  "ReferralLib": [
1445
2078
  {
1446
2079
  "length": 20,
1447
- "start": 2389
2080
+ "start": 3836
1448
2081
  },
1449
2082
  {
1450
2083
  "length": 20,
1451
- "start": 3572
2084
+ "start": 4831
1452
2085
  }
1453
2086
  ]
1454
2087
  },
@@ -1456,7 +2089,7 @@
1456
2089
  "RequestIdLib": [
1457
2090
  {
1458
2091
  "length": 20,
1459
- "start": 8766
2092
+ "start": 12351
1460
2093
  }
1461
2094
  ]
1462
2095
  },
@@ -1464,7 +2097,15 @@
1464
2097
  "RiskIdLib": [
1465
2098
  {
1466
2099
  "length": 20,
1467
- "start": 5833
2100
+ "start": 7363
2101
+ },
2102
+ {
2103
+ "length": 20,
2104
+ "start": 11617
2105
+ },
2106
+ {
2107
+ "length": 20,
2108
+ "start": 11862
1468
2109
  }
1469
2110
  ]
1470
2111
  },
@@ -1472,23 +2113,23 @@
1472
2113
  "TimestampLib": [
1473
2114
  {
1474
2115
  "length": 20,
1475
- "start": 5078
2116
+ "start": 8446
1476
2117
  },
1477
2118
  {
1478
2119
  "length": 20,
1479
- "start": 5218
2120
+ "start": 8673
1480
2121
  },
1481
2122
  {
1482
2123
  "length": 20,
1483
- "start": 5384
2124
+ "start": 9252
1484
2125
  },
1485
2126
  {
1486
2127
  "length": 20,
1487
- "start": 6916
2128
+ "start": 9368
1488
2129
  },
1489
2130
  {
1490
2131
  "length": 20,
1491
- "start": 7143
2132
+ "start": 9512
1492
2133
  }
1493
2134
  ]
1494
2135
  },
@@ -1496,23 +2137,23 @@
1496
2137
  "UFixedLib": [
1497
2138
  {
1498
2139
  "length": 20,
1499
- "start": 2190
2140
+ "start": 3653
1500
2141
  },
1501
2142
  {
1502
2143
  "length": 20,
1503
- "start": 3701
2144
+ "start": 4924
1504
2145
  },
1505
2146
  {
1506
2147
  "length": 20,
1507
- "start": 7015
2148
+ "start": 8545
1508
2149
  },
1509
2150
  {
1510
2151
  "length": 20,
1511
- "start": 7270
2152
+ "start": 8800
1512
2153
  },
1513
2154
  {
1514
2155
  "length": 20,
1515
- "start": 7411
2156
+ "start": 8941
1516
2157
  }
1517
2158
  ]
1518
2159
  }
@@ -1522,7 +2163,7 @@
1522
2163
  "AmountLib": [
1523
2164
  {
1524
2165
  "length": 20,
1525
- "start": 8986
2166
+ "start": 12571
1526
2167
  }
1527
2168
  ]
1528
2169
  },
@@ -1530,11 +2171,15 @@
1530
2171
  "ClaimIdLib": [
1531
2172
  {
1532
2173
  "length": 20,
1533
- "start": 5556
2174
+ "start": 6915
2175
+ },
2176
+ {
2177
+ "length": 20,
2178
+ "start": 8128
1534
2179
  },
1535
2180
  {
1536
2181
  "length": 20,
1537
- "start": 6613
2182
+ "start": 11412
1538
2183
  }
1539
2184
  ]
1540
2185
  },
@@ -1542,7 +2187,7 @@
1542
2187
  "DistributorTypeLib": [
1543
2188
  {
1544
2189
  "length": 20,
1545
- "start": 8106
2190
+ "start": 10202
1546
2191
  }
1547
2192
  ]
1548
2193
  },
@@ -1550,35 +2195,43 @@
1550
2195
  "NftIdLib": [
1551
2196
  {
1552
2197
  "length": 20,
1553
- "start": 3040
2198
+ "start": 4432
2199
+ },
2200
+ {
2201
+ "length": 20,
2202
+ "start": 4547
1554
2203
  },
1555
2204
  {
1556
2205
  "length": 20,
1557
- "start": 3862
2206
+ "start": 4736
1558
2207
  },
1559
2208
  {
1560
2209
  "length": 20,
1561
- "start": 4363
2210
+ "start": 5573
1562
2211
  },
1563
2212
  {
1564
2213
  "length": 20,
1565
- "start": 4901
2214
+ "start": 5826
1566
2215
  },
1567
2216
  {
1568
2217
  "length": 20,
1569
- "start": 5593
2218
+ "start": 7104
1570
2219
  },
1571
2220
  {
1572
2221
  "length": 20,
1573
- "start": 5637
2222
+ "start": 7176
1574
2223
  },
1575
2224
  {
1576
2225
  "length": 20,
1577
- "start": 8326
2226
+ "start": 9075
1578
2227
  },
1579
2228
  {
1580
2229
  "length": 20,
1581
- "start": 8571
2230
+ "start": 10507
2231
+ },
2232
+ {
2233
+ "length": 20,
2234
+ "start": 11368
1582
2235
  }
1583
2236
  ]
1584
2237
  },
@@ -1586,11 +2239,15 @@
1586
2239
  "PayoutIdLib": [
1587
2240
  {
1588
2241
  "length": 20,
1589
- "start": 3286
2242
+ "start": 10848
2243
+ },
2244
+ {
2245
+ "length": 20,
2246
+ "start": 11267
1590
2247
  },
1591
2248
  {
1592
2249
  "length": 20,
1593
- "start": 4174
2250
+ "start": 11980
1594
2251
  }
1595
2252
  ]
1596
2253
  },
@@ -1598,11 +2255,11 @@
1598
2255
  "ReferralLib": [
1599
2256
  {
1600
2257
  "length": 20,
1601
- "start": 2352
2258
+ "start": 3799
1602
2259
  },
1603
2260
  {
1604
2261
  "length": 20,
1605
- "start": 3535
2262
+ "start": 4794
1606
2263
  }
1607
2264
  ]
1608
2265
  },
@@ -1610,7 +2267,7 @@
1610
2267
  "RequestIdLib": [
1611
2268
  {
1612
2269
  "length": 20,
1613
- "start": 8729
2270
+ "start": 12314
1614
2271
  }
1615
2272
  ]
1616
2273
  },
@@ -1618,7 +2275,15 @@
1618
2275
  "RiskIdLib": [
1619
2276
  {
1620
2277
  "length": 20,
1621
- "start": 5796
2278
+ "start": 7326
2279
+ },
2280
+ {
2281
+ "length": 20,
2282
+ "start": 11580
2283
+ },
2284
+ {
2285
+ "length": 20,
2286
+ "start": 11825
1622
2287
  }
1623
2288
  ]
1624
2289
  },
@@ -1626,23 +2291,23 @@
1626
2291
  "TimestampLib": [
1627
2292
  {
1628
2293
  "length": 20,
1629
- "start": 5041
2294
+ "start": 8409
1630
2295
  },
1631
2296
  {
1632
2297
  "length": 20,
1633
- "start": 5181
2298
+ "start": 8636
1634
2299
  },
1635
2300
  {
1636
2301
  "length": 20,
1637
- "start": 5347
2302
+ "start": 9215
1638
2303
  },
1639
2304
  {
1640
2305
  "length": 20,
1641
- "start": 6879
2306
+ "start": 9331
1642
2307
  },
1643
2308
  {
1644
2309
  "length": 20,
1645
- "start": 7106
2310
+ "start": 9475
1646
2311
  }
1647
2312
  ]
1648
2313
  },
@@ -1650,23 +2315,23 @@
1650
2315
  "UFixedLib": [
1651
2316
  {
1652
2317
  "length": 20,
1653
- "start": 2153
2318
+ "start": 3616
1654
2319
  },
1655
2320
  {
1656
2321
  "length": 20,
1657
- "start": 3664
2322
+ "start": 4887
1658
2323
  },
1659
2324
  {
1660
2325
  "length": 20,
1661
- "start": 6978
2326
+ "start": 8508
1662
2327
  },
1663
2328
  {
1664
2329
  "length": 20,
1665
- "start": 7233
2330
+ "start": 8763
1666
2331
  },
1667
2332
  {
1668
2333
  "length": 20,
1669
- "start": 7374
2334
+ "start": 8904
1670
2335
  }
1671
2336
  ]
1672
2337
  }