@etherisc/gif-next 0.0.2-e875d61-189 → 0.0.2-e9148e0-933
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +179 -26
 - package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +176 -23
 - package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
 - package/artifacts/contracts/components/Distribution.sol/Distribution.json +618 -0
 - package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +129 -23
 - package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
 - package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
 - package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +74 -181
 - package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
 - package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +55 -177
 - package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
 - package/artifacts/contracts/components/Pool.sol/Pool.json +397 -70
 - package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
 - package/artifacts/contracts/components/Product.sol/Product.json +444 -73
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
 - package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
 - package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
 - package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
 - package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
 - package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
 - package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
 - package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
 - package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
 - package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
 - package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
 - package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1132 -0
 - package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
 - package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.json +462 -1400
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +480 -0
 - package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
 - package/artifacts/contracts/instance/Instance.sol/Instance.json +2412 -1075
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1388 -0
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +931 -0
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +508 -0
 - package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +276 -36
 - package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +33 -1
 - package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +27 -158
 - package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +37 -245
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +4 -4
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
 - package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
 - package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IDistribution.sol/IDistribution.json} +2 -2
 - package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
 - package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
 - package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
 - package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
 - package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
 - package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
 - package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +381 -77
 - package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +716 -0
 - package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +444 -0
 - package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +177 -75
 - package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
 - package/artifacts/contracts/instance/{base/ServiceBase.sol/ServiceBase.json → service/IDistributionService.sol/IDistributionService.json} +204 -58
 - package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +235 -50
 - package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +325 -51
 - package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +421 -53
 - package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +448 -0
 - package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
 - package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +479 -94
 - package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +448 -0
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +186 -12
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +358 -37
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +947 -0
 - package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
 - package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
 - package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
 - package/artifacts/contracts/registry/Registry.sol/Registry.json +466 -129
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1293 -0
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +513 -0
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +410 -0
 - package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
 - package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
 - package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +175 -54
 - package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
 - package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
 - package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +188 -90
 - package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
 - package/artifacts/contracts/shared/Service.sol/Service.json +468 -0
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
 - package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
 - package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
 - package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
 - package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
 - package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
 - package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
 - package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
 - package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
 - package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
 - package/artifacts/contracts/test/TestService.sol/TestService.json +283 -62
 - package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
 - package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
 - package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
 - package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
 - package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
 - package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +103 -23
 - package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
 - package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
 - package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
 - package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
 - package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
 - package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
 - package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Fee.sol/FeeLib.json +52 -13
 - package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
 - package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
 - package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
 - package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
 - package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
 - package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
 - package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
 - package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
 - package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
 - package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
 - package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
 - package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
 - package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
 - package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
 - package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
 - package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
 - package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
 - package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
 - package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
 - package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
 - package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
 - package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
 - package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
 - package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
 - package/contracts/components/BaseComponent.sol +26 -29
 - package/contracts/components/Distribution.sol +159 -0
 - package/contracts/components/IBaseComponent.sol +9 -3
 - package/contracts/components/IDistributionComponent.sol +44 -0
 - package/contracts/components/IPoolComponent.sol +14 -9
 - package/contracts/components/IProductComponent.sol +25 -9
 - package/contracts/components/Pool.sol +89 -38
 - package/contracts/components/Product.sol +196 -46
 - package/contracts/experiment/cloning/Cloner.sol +47 -0
 - package/contracts/instance/AccessManagedSimple.sol +115 -0
 - package/contracts/instance/AccessManagerSimple.sol +692 -0
 - package/contracts/instance/IAccessManagerSimple.sol +391 -0
 - package/contracts/instance/IInstance.sol +34 -43
 - package/contracts/instance/IInstanceService.sol +30 -0
 - package/contracts/instance/Instance.sol +427 -55
 - package/contracts/instance/InstanceAccessManager.sol +288 -0
 - package/contracts/instance/InstanceReader.sol +306 -0
 - package/contracts/instance/InstanceService.sol +192 -0
 - package/contracts/instance/InstanceServiceManager.sol +57 -0
 - package/contracts/instance/base/ComponentServiceBase.sol +92 -10
 - package/contracts/instance/base/IInstanceBase.sol +6 -2
 - package/contracts/instance/base/IKeyValueStore.sol +13 -14
 - package/contracts/instance/base/ILifecycle.sol +3 -3
 - package/contracts/instance/base/KeyValueStore.sol +49 -38
 - package/contracts/instance/base/Lifecycle.sol +11 -3
 - package/contracts/instance/module/IAccess.sol +38 -0
 - package/contracts/instance/module/IBundle.sol +20 -0
 - package/contracts/instance/module/IDistribution.sol +39 -0
 - package/contracts/instance/module/IPolicy.sol +45 -0
 - package/contracts/instance/module/IRisk.sol +11 -0
 - package/contracts/instance/module/ISetup.sol +44 -0
 - package/contracts/instance/module/ITreasury.sol +23 -0
 - package/contracts/instance/service/ComponentOwnerService.sol +238 -76
 - package/contracts/instance/service/DistributionService.sol +88 -0
 - package/contracts/instance/service/DistributionServiceManager.sol +54 -0
 - package/contracts/instance/service/IComponentOwnerService.sol +1 -3
 - package/contracts/instance/service/IDistributionService.sol +12 -0
 - package/contracts/instance/service/IPoolService.sol +8 -1
 - package/contracts/instance/service/IProductService.sol +56 -7
 - package/contracts/instance/service/PoolService.sol +117 -52
 - package/contracts/instance/service/PoolServiceManager.sol +54 -0
 - package/contracts/instance/service/ProductService.sol +351 -169
 - package/contracts/instance/service/ProductServiceManager.sol +54 -0
 - package/contracts/registry/ChainNft.sol +80 -37
 - package/contracts/registry/IRegistry.sol +47 -25
 - package/contracts/registry/IRegistryService.sol +50 -0
 - package/contracts/registry/ITransferInterceptor.sol +6 -0
 - package/contracts/registry/Registry.sol +333 -270
 - package/contracts/registry/RegistryService.sol +358 -0
 - package/contracts/registry/RegistryServiceManager.sol +80 -0
 - package/contracts/registry/TokenRegistry.sol +111 -0
 - package/contracts/shared/ContractDeployerLib.sol +72 -0
 - package/contracts/shared/ERC165.sol +6 -2
 - package/contracts/shared/INftOwnable.sol +22 -0
 - package/contracts/shared/IRegisterable.sol +8 -15
 - package/contracts/{instance/base → shared}/IService.sol +3 -3
 - package/contracts/shared/IVersionable.sol +55 -11
 - package/contracts/shared/NftOwnable.sol +134 -0
 - package/contracts/shared/ProxyManager.sol +94 -0
 - package/contracts/shared/Registerable.sol +63 -59
 - package/contracts/shared/RegisterableUpgradable.sol +16 -0
 - package/contracts/shared/Service.sol +55 -0
 - package/contracts/shared/TokenHandler.sol +27 -0
 - package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
 - package/contracts/shared/Versionable.sol +113 -55
 - package/contracts/test/TestFee.sol +2 -2
 - package/contracts/test/TestRegisterable.sol +5 -6
 - package/contracts/test/TestRoleId.sol +1 -1
 - package/contracts/test/TestService.sol +5 -13
 - package/contracts/types/DistributorType.sol +55 -0
 - package/contracts/types/Fee.sol +10 -5
 - package/contracts/types/Key32.sol +8 -3
 - package/contracts/types/NumberId.sol +52 -0
 - package/contracts/types/ObjectType.sol +40 -11
 - package/contracts/types/Referral.sol +85 -0
 - package/contracts/types/RiskId.sol +43 -0
 - package/contracts/types/RoleId.sol +62 -10
 - package/contracts/types/StateId.sol +5 -1
 - package/contracts/types/Timestamp.sol +7 -3
 - package/contracts/types/UFixed.sol +128 -12
 - package/contracts/types/Version.sol +13 -1
 - package/package.json +4 -3
 - package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
 - package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
 - package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
 - package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -265
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -265
 - package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
 - package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -136
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -136
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -273
 - package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -273
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
 - package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
 - package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -531
 - package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
 - package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -531
 - package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
 - package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
 - package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
 - package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
 - package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
 - package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
 - package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
 - package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -455
 - package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
 - package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -436
 - package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
 - package/contracts/experiment/statemachine/README.md +0 -112
 - package/contracts/instance/IInstanceLinked.sol +0 -8
 - package/contracts/instance/base/InstanceBase.sol +0 -84
 - package/contracts/instance/base/ModuleBase.sol +0 -46
 - package/contracts/instance/base/ServiceBase.sol +0 -37
 - package/contracts/instance/module/access/Access.sol +0 -149
 - package/contracts/instance/module/access/IAccess.sol +0 -53
 - package/contracts/instance/module/bundle/BundleModule.sol +0 -135
 - package/contracts/instance/module/bundle/IBundle.sol +0 -51
 - package/contracts/instance/module/compensation/CompensationModule.sol +0 -17
 - package/contracts/instance/module/compensation/ICompensation.sol +0 -10
 - package/contracts/instance/module/component/ComponentModule.sol +0 -81
 - package/contracts/instance/module/component/IComponent.sol +0 -29
 - package/contracts/instance/module/policy/IPolicy.sol +0 -59
 - package/contracts/instance/module/policy/PolicyModule.sol +0 -89
 - package/contracts/instance/module/pool/IPoolModule.sol +0 -40
 - package/contracts/instance/module/pool/PoolModule.sol +0 -90
 - package/contracts/instance/module/risk/IRisk.sol +0 -10
 - package/contracts/instance/module/risk/RiskModule.sol +0 -17
 - package/contracts/instance/module/treasury/ITreasury.sol +0 -96
 - package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
 - package/contracts/instance/module/treasury/TreasuryModule.sol +0 -171
 - package/contracts/registry/IChainNft.sol +0 -21
 - package/contracts/registry/IRegistryLinked.sol +0 -8
 - package/contracts/shared/IOwnable.sol +0 -6
 - package/contracts/test/TestPool.sol +0 -24
 - package/contracts/test/TestProduct.sol +0 -51
 
| 
         @@ -3,6 +3,17 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
              "contractName": "ProductService",
         
     | 
| 
       4 
4 
     | 
    
         
             
              "sourceName": "contracts/instance/service/ProductService.sol",
         
     | 
| 
       5 
5 
     | 
    
         
             
              "abi": [
         
     | 
| 
      
 6 
     | 
    
         
            +
                {
         
     | 
| 
      
 7 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 8 
     | 
    
         
            +
                    {
         
     | 
| 
      
 9 
     | 
    
         
            +
                      "internalType": "ObjectType",
         
     | 
| 
      
 10 
     | 
    
         
            +
                      "name": "componentType",
         
     | 
| 
      
 11 
     | 
    
         
            +
                      "type": "uint8"
         
     | 
| 
      
 12 
     | 
    
         
            +
                    }
         
     | 
| 
      
 13 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 14 
     | 
    
         
            +
                  "name": "ComponentTypeInvalid",
         
     | 
| 
      
 15 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 16 
     | 
    
         
            +
                },
         
     | 
| 
       6 
17 
     | 
    
         
             
                {
         
     | 
| 
       7 
18 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       8 
19 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -12,12 +23,116 @@ 
     | 
|
| 
       12 
23 
     | 
    
         
             
                    },
         
     | 
| 
       13 
24 
     | 
    
         
             
                    {
         
     | 
| 
       14 
25 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       15 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 26 
     | 
    
         
            +
                      "name": "nftId",
         
     | 
| 
       16 
27 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       17 
28 
     | 
    
         
             
                    }
         
     | 
| 
       18 
29 
     | 
    
         
             
                  ],
         
     | 
| 
       19 
     | 
    
         
            -
                  " 
     | 
| 
       20 
     | 
    
         
            -
                  "type": " 
     | 
| 
      
 30 
     | 
    
         
            +
                  "name": "ErrorAlreadyLinked",
         
     | 
| 
      
 31 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 32 
     | 
    
         
            +
                },
         
     | 
| 
      
 33 
     | 
    
         
            +
                {
         
     | 
| 
      
 34 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 35 
     | 
    
         
            +
                    {
         
     | 
| 
      
 36 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 37 
     | 
    
         
            +
                      "name": "contractAddress",
         
     | 
| 
      
 38 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 39 
     | 
    
         
            +
                    }
         
     | 
| 
      
 40 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 41 
     | 
    
         
            +
                  "name": "ErrorContractNotRegistered",
         
     | 
| 
      
 42 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 43 
     | 
    
         
            +
                },
         
     | 
| 
      
 44 
     | 
    
         
            +
                {
         
     | 
| 
      
 45 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 46 
     | 
    
         
            +
                    {
         
     | 
| 
      
 47 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 48 
     | 
    
         
            +
                      "name": "account",
         
     | 
| 
      
 49 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 50 
     | 
    
         
            +
                    }
         
     | 
| 
      
 51 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 52 
     | 
    
         
            +
                  "name": "ErrorNotOwner",
         
     | 
| 
      
 53 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 54 
     | 
    
         
            +
                },
         
     | 
| 
      
 55 
     | 
    
         
            +
                {
         
     | 
| 
      
 56 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 57 
     | 
    
         
            +
                    {
         
     | 
| 
      
 58 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 59 
     | 
    
         
            +
                      "name": "registryAddress",
         
     | 
| 
      
 60 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 61 
     | 
    
         
            +
                    }
         
     | 
| 
      
 62 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 63 
     | 
    
         
            +
                  "name": "ErrorNotRegistry",
         
     | 
| 
      
 64 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 65 
     | 
    
         
            +
                },
         
     | 
| 
      
 66 
     | 
    
         
            +
                {
         
     | 
| 
      
 67 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 68 
     | 
    
         
            +
                    {
         
     | 
| 
      
 69 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 70 
     | 
    
         
            +
                      "name": "registryAddress",
         
     | 
| 
      
 71 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 72 
     | 
    
         
            +
                    }
         
     | 
| 
      
 73 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 74 
     | 
    
         
            +
                  "name": "ErrorRegisterableNotRegistry",
         
     | 
| 
      
 75 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 76 
     | 
    
         
            +
                },
         
     | 
| 
      
 77 
     | 
    
         
            +
                {
         
     | 
| 
      
 78 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 79 
     | 
    
         
            +
                  "name": "ErrorRegistryAddressZero",
         
     | 
| 
      
 80 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 81 
     | 
    
         
            +
                },
         
     | 
| 
      
 82 
     | 
    
         
            +
                {
         
     | 
| 
      
 83 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 84 
     | 
    
         
            +
                    {
         
     | 
| 
      
 85 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 86 
     | 
    
         
            +
                      "name": "registry",
         
     | 
| 
      
 87 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 88 
     | 
    
         
            +
                    }
         
     | 
| 
      
 89 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 90 
     | 
    
         
            +
                  "name": "ErrorRegistryAlreadyInitialized",
         
     | 
| 
      
 91 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 92 
     | 
    
         
            +
                },
         
     | 
| 
      
 93 
     | 
    
         
            +
                {
         
     | 
| 
      
 94 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 95 
     | 
    
         
            +
                  "name": "ErrorRegistryNotInitialized",
         
     | 
| 
      
 96 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 97 
     | 
    
         
            +
                },
         
     | 
| 
      
 98 
     | 
    
         
            +
                {
         
     | 
| 
      
 99 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 100 
     | 
    
         
            +
                    {
         
     | 
| 
      
 101 
     | 
    
         
            +
                      "internalType": "RoleId",
         
     | 
| 
      
 102 
     | 
    
         
            +
                      "name": "expected",
         
     | 
| 
      
 103 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 104 
     | 
    
         
            +
                    },
         
     | 
| 
      
 105 
     | 
    
         
            +
                    {
         
     | 
| 
      
 106 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 107 
     | 
    
         
            +
                      "name": "caller",
         
     | 
| 
      
 108 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 109 
     | 
    
         
            +
                    }
         
     | 
| 
      
 110 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 111 
     | 
    
         
            +
                  "name": "ExpectedRoleMissing",
         
     | 
| 
      
 112 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 113 
     | 
    
         
            +
                },
         
     | 
| 
      
 114 
     | 
    
         
            +
                {
         
     | 
| 
      
 115 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 116 
     | 
    
         
            +
                  "name": "InvalidInitialization",
         
     | 
| 
      
 117 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 118 
     | 
    
         
            +
                },
         
     | 
| 
      
 119 
     | 
    
         
            +
                {
         
     | 
| 
      
 120 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 121 
     | 
    
         
            +
                  "name": "NotInitializing",
         
     | 
| 
      
 122 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 123 
     | 
    
         
            +
                },
         
     | 
| 
      
 124 
     | 
    
         
            +
                {
         
     | 
| 
      
 125 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 126 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 127 
     | 
    
         
            +
                    {
         
     | 
| 
      
 128 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 129 
     | 
    
         
            +
                      "internalType": "uint64",
         
     | 
| 
      
 130 
     | 
    
         
            +
                      "name": "version",
         
     | 
| 
      
 131 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 132 
     | 
    
         
            +
                    }
         
     | 
| 
      
 133 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 134 
     | 
    
         
            +
                  "name": "Initialized",
         
     | 
| 
      
 135 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
       21 
136 
     | 
    
         
             
                },
         
     | 
| 
       22 
137 
     | 
    
         
             
                {
         
     | 
| 
       23 
138 
     | 
    
         
             
                  "anonymous": false,
         
     | 
| 
         @@ -54,7 +169,7 @@ 
     | 
|
| 
       54 
169 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       55 
170 
     | 
    
         
             
                    }
         
     | 
| 
       56 
171 
     | 
    
         
             
                  ],
         
     | 
| 
       57 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 172 
     | 
    
         
            +
                  "name": "LogVersionableInitialized",
         
     | 
| 
       58 
173 
     | 
    
         
             
                  "type": "event"
         
     | 
| 
       59 
174 
     | 
    
         
             
                },
         
     | 
| 
       60 
175 
     | 
    
         
             
                {
         
     | 
| 
         @@ -70,6 +185,19 @@ 
     | 
|
| 
       70 
185 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       71 
186 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       72 
187 
     | 
    
         
             
                },
         
     | 
| 
      
 188 
     | 
    
         
            +
                {
         
     | 
| 
      
 189 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 190 
     | 
    
         
            +
                  "name": "REGISTERABLE_LOCATION_V1",
         
     | 
| 
      
 191 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 192 
     | 
    
         
            +
                    {
         
     | 
| 
      
 193 
     | 
    
         
            +
                      "internalType": "bytes32",
         
     | 
| 
      
 194 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 195 
     | 
    
         
            +
                      "type": "bytes32"
         
     | 
| 
      
 196 
     | 
    
         
            +
                    }
         
     | 
| 
      
 197 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 198 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
      
 199 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 200 
     | 
    
         
            +
                },
         
     | 
| 
       73 
201 
     | 
    
         
             
                {
         
     | 
| 
       74 
202 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       75 
203 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -91,19 +219,65 @@ 
     | 
|
| 
       91 
219 
     | 
    
         
             
                {
         
     | 
| 
       92 
220 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       93 
221 
     | 
    
         
             
                    {
         
     | 
| 
       94 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       95 
     | 
    
         
            -
                      "name": " 
     | 
| 
       96 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 222 
     | 
    
         
            +
                      "internalType": "RiskId",
         
     | 
| 
      
 223 
     | 
    
         
            +
                      "name": "riskId",
         
     | 
| 
      
 224 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
       97 
225 
     | 
    
         
             
                    },
         
     | 
| 
       98 
226 
     | 
    
         
             
                    {
         
     | 
| 
       99 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       100 
     | 
    
         
            -
                      "name": " 
     | 
| 
       101 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 227 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 228 
     | 
    
         
            +
                      "name": "sumInsuredAmount",
         
     | 
| 
      
 229 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 230 
     | 
    
         
            +
                    },
         
     | 
| 
      
 231 
     | 
    
         
            +
                    {
         
     | 
| 
      
 232 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 233 
     | 
    
         
            +
                      "name": "lifetime",
         
     | 
| 
      
 234 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 235 
     | 
    
         
            +
                    },
         
     | 
| 
      
 236 
     | 
    
         
            +
                    {
         
     | 
| 
      
 237 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 238 
     | 
    
         
            +
                      "name": "applicationData",
         
     | 
| 
      
 239 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 240 
     | 
    
         
            +
                    },
         
     | 
| 
      
 241 
     | 
    
         
            +
                    {
         
     | 
| 
      
 242 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 243 
     | 
    
         
            +
                      "name": "bundleNftId",
         
     | 
| 
      
 244 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 245 
     | 
    
         
            +
                    },
         
     | 
| 
      
 246 
     | 
    
         
            +
                    {
         
     | 
| 
      
 247 
     | 
    
         
            +
                      "internalType": "ReferralId",
         
     | 
| 
      
 248 
     | 
    
         
            +
                      "name": "referralId",
         
     | 
| 
      
 249 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
       102 
250 
     | 
    
         
             
                    }
         
     | 
| 
       103 
251 
     | 
    
         
             
                  ],
         
     | 
| 
       104 
     | 
    
         
            -
                  "name": " 
     | 
| 
       105 
     | 
    
         
            -
                  "outputs": [ 
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
      
 252 
     | 
    
         
            +
                  "name": "calculatePremium",
         
     | 
| 
      
 253 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 254 
     | 
    
         
            +
                    {
         
     | 
| 
      
 255 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 256 
     | 
    
         
            +
                      "name": "premiumAmount",
         
     | 
| 
      
 257 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 258 
     | 
    
         
            +
                    },
         
     | 
| 
      
 259 
     | 
    
         
            +
                    {
         
     | 
| 
      
 260 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 261 
     | 
    
         
            +
                      "name": "productFeeAmount",
         
     | 
| 
      
 262 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 263 
     | 
    
         
            +
                    },
         
     | 
| 
      
 264 
     | 
    
         
            +
                    {
         
     | 
| 
      
 265 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 266 
     | 
    
         
            +
                      "name": "poolFeeAmount",
         
     | 
| 
      
 267 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 268 
     | 
    
         
            +
                    },
         
     | 
| 
      
 269 
     | 
    
         
            +
                    {
         
     | 
| 
      
 270 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 271 
     | 
    
         
            +
                      "name": "bundleFeeAmount",
         
     | 
| 
      
 272 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 273 
     | 
    
         
            +
                    },
         
     | 
| 
      
 274 
     | 
    
         
            +
                    {
         
     | 
| 
      
 275 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 276 
     | 
    
         
            +
                      "name": "distributionFeeAmount",
         
     | 
| 
      
 277 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 278 
     | 
    
         
            +
                    }
         
     | 
| 
      
 279 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 280 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
       107 
281 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       108 
282 
     | 
    
         
             
                },
         
     | 
| 
       109 
283 
     | 
    
         
             
                {
         
     | 
| 
         @@ -169,13 +343,13 @@ 
     | 
|
| 
       169 
343 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       170 
344 
     | 
    
         
             
                    },
         
     | 
| 
       171 
345 
     | 
    
         
             
                    {
         
     | 
| 
       172 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       173 
     | 
    
         
            -
                      "name": " 
     | 
| 
       174 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 346 
     | 
    
         
            +
                      "internalType": "RiskId",
         
     | 
| 
      
 347 
     | 
    
         
            +
                      "name": "riskId",
         
     | 
| 
      
 348 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
       175 
349 
     | 
    
         
             
                    },
         
     | 
| 
       176 
350 
     | 
    
         
             
                    {
         
     | 
| 
       177 
351 
     | 
    
         
             
                      "internalType": "uint256",
         
     | 
| 
       178 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 352 
     | 
    
         
            +
                      "name": "sumInsuredAmount",
         
     | 
| 
       179 
353 
     | 
    
         
             
                      "type": "uint256"
         
     | 
| 
       180 
354 
     | 
    
         
             
                    },
         
     | 
| 
       181 
355 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -183,10 +357,20 @@ 
     | 
|
| 
       183 
357 
     | 
    
         
             
                      "name": "lifetime",
         
     | 
| 
       184 
358 
     | 
    
         
             
                      "type": "uint256"
         
     | 
| 
       185 
359 
     | 
    
         
             
                    },
         
     | 
| 
      
 360 
     | 
    
         
            +
                    {
         
     | 
| 
      
 361 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 362 
     | 
    
         
            +
                      "name": "applicationData",
         
     | 
| 
      
 363 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 364 
     | 
    
         
            +
                    },
         
     | 
| 
       186 
365 
     | 
    
         
             
                    {
         
     | 
| 
       187 
366 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       188 
367 
     | 
    
         
             
                      "name": "bundleNftId",
         
     | 
| 
       189 
368 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
      
 369 
     | 
    
         
            +
                    },
         
     | 
| 
      
 370 
     | 
    
         
            +
                    {
         
     | 
| 
      
 371 
     | 
    
         
            +
                      "internalType": "ReferralId",
         
     | 
| 
      
 372 
     | 
    
         
            +
                      "name": "referralId",
         
     | 
| 
      
 373 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
       190 
374 
     | 
    
         
             
                    }
         
     | 
| 
       191 
375 
     | 
    
         
             
                  ],
         
     | 
| 
       192 
376 
     | 
    
         
             
                  "name": "createApplication",
         
     | 
| 
         @@ -200,10 +384,70 @@ 
     | 
|
| 
       200 
384 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       201 
385 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       202 
386 
     | 
    
         
             
                },
         
     | 
| 
      
 387 
     | 
    
         
            +
                {
         
     | 
| 
      
 388 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 389 
     | 
    
         
            +
                    {
         
     | 
| 
      
 390 
     | 
    
         
            +
                      "internalType": "RiskId",
         
     | 
| 
      
 391 
     | 
    
         
            +
                      "name": "riskId",
         
     | 
| 
      
 392 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
      
 393 
     | 
    
         
            +
                    },
         
     | 
| 
      
 394 
     | 
    
         
            +
                    {
         
     | 
| 
      
 395 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 396 
     | 
    
         
            +
                      "name": "data",
         
     | 
| 
      
 397 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 398 
     | 
    
         
            +
                    }
         
     | 
| 
      
 399 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 400 
     | 
    
         
            +
                  "name": "createRisk",
         
     | 
| 
      
 401 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 402 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 403 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 404 
     | 
    
         
            +
                },
         
     | 
| 
       203 
405 
     | 
    
         
             
                {
         
     | 
| 
       204 
406 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       205 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 407 
     | 
    
         
            +
                  "name": "getInitialInfo",
         
     | 
| 
       206 
408 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
      
 409 
     | 
    
         
            +
                    {
         
     | 
| 
      
 410 
     | 
    
         
            +
                      "components": [
         
     | 
| 
      
 411 
     | 
    
         
            +
                        {
         
     | 
| 
      
 412 
     | 
    
         
            +
                          "internalType": "NftId",
         
     | 
| 
      
 413 
     | 
    
         
            +
                          "name": "nftId",
         
     | 
| 
      
 414 
     | 
    
         
            +
                          "type": "uint96"
         
     | 
| 
      
 415 
     | 
    
         
            +
                        },
         
     | 
| 
      
 416 
     | 
    
         
            +
                        {
         
     | 
| 
      
 417 
     | 
    
         
            +
                          "internalType": "NftId",
         
     | 
| 
      
 418 
     | 
    
         
            +
                          "name": "parentNftId",
         
     | 
| 
      
 419 
     | 
    
         
            +
                          "type": "uint96"
         
     | 
| 
      
 420 
     | 
    
         
            +
                        },
         
     | 
| 
      
 421 
     | 
    
         
            +
                        {
         
     | 
| 
      
 422 
     | 
    
         
            +
                          "internalType": "ObjectType",
         
     | 
| 
      
 423 
     | 
    
         
            +
                          "name": "objectType",
         
     | 
| 
      
 424 
     | 
    
         
            +
                          "type": "uint8"
         
     | 
| 
      
 425 
     | 
    
         
            +
                        },
         
     | 
| 
      
 426 
     | 
    
         
            +
                        {
         
     | 
| 
      
 427 
     | 
    
         
            +
                          "internalType": "bool",
         
     | 
| 
      
 428 
     | 
    
         
            +
                          "name": "isInterceptor",
         
     | 
| 
      
 429 
     | 
    
         
            +
                          "type": "bool"
         
     | 
| 
      
 430 
     | 
    
         
            +
                        },
         
     | 
| 
      
 431 
     | 
    
         
            +
                        {
         
     | 
| 
      
 432 
     | 
    
         
            +
                          "internalType": "address",
         
     | 
| 
      
 433 
     | 
    
         
            +
                          "name": "objectAddress",
         
     | 
| 
      
 434 
     | 
    
         
            +
                          "type": "address"
         
     | 
| 
      
 435 
     | 
    
         
            +
                        },
         
     | 
| 
      
 436 
     | 
    
         
            +
                        {
         
     | 
| 
      
 437 
     | 
    
         
            +
                          "internalType": "address",
         
     | 
| 
      
 438 
     | 
    
         
            +
                          "name": "initialOwner",
         
     | 
| 
      
 439 
     | 
    
         
            +
                          "type": "address"
         
     | 
| 
      
 440 
     | 
    
         
            +
                        },
         
     | 
| 
      
 441 
     | 
    
         
            +
                        {
         
     | 
| 
      
 442 
     | 
    
         
            +
                          "internalType": "bytes",
         
     | 
| 
      
 443 
     | 
    
         
            +
                          "name": "data",
         
     | 
| 
      
 444 
     | 
    
         
            +
                          "type": "bytes"
         
     | 
| 
      
 445 
     | 
    
         
            +
                        }
         
     | 
| 
      
 446 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 447 
     | 
    
         
            +
                      "internalType": "struct IRegistry.ObjectInfo",
         
     | 
| 
      
 448 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 449 
     | 
    
         
            +
                      "type": "tuple"
         
     | 
| 
      
 450 
     | 
    
         
            +
                    },
         
     | 
| 
       207 
451 
     | 
    
         
             
                    {
         
     | 
| 
       208 
452 
     | 
    
         
             
                      "internalType": "bytes",
         
     | 
| 
       209 
453 
     | 
    
         
             
                      "name": "data",
         
     | 
| 
         @@ -213,6 +457,32 @@ 
     | 
|
| 
       213 
457 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       214 
458 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       215 
459 
     | 
    
         
             
                },
         
     | 
| 
      
 460 
     | 
    
         
            +
                {
         
     | 
| 
      
 461 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 462 
     | 
    
         
            +
                  "name": "getInitializedVersion",
         
     | 
| 
      
 463 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 464 
     | 
    
         
            +
                    {
         
     | 
| 
      
 465 
     | 
    
         
            +
                      "internalType": "uint64",
         
     | 
| 
      
 466 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 467 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 468 
     | 
    
         
            +
                    }
         
     | 
| 
      
 469 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 470 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
      
 471 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 472 
     | 
    
         
            +
                },
         
     | 
| 
      
 473 
     | 
    
         
            +
                {
         
     | 
| 
      
 474 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 475 
     | 
    
         
            +
                  "name": "getInstanceService",
         
     | 
| 
      
 476 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 477 
     | 
    
         
            +
                    {
         
     | 
| 
      
 478 
     | 
    
         
            +
                      "internalType": "contract InstanceService",
         
     | 
| 
      
 479 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 480 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 481 
     | 
    
         
            +
                    }
         
     | 
| 
      
 482 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 483 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
      
 484 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 485 
     | 
    
         
            +
                },
         
     | 
| 
       216 
486 
     | 
    
         
             
                {
         
     | 
| 
       217 
487 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       218 
488 
     | 
    
         
             
                  "name": "getMajorVersion",
         
     | 
| 
         @@ -245,7 +515,7 @@ 
     | 
|
| 
       245 
515 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       246 
516 
     | 
    
         
             
                    {
         
     | 
| 
       247 
517 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       248 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 518 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       249 
519 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       250 
520 
     | 
    
         
             
                    }
         
     | 
| 
       251 
521 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -258,33 +528,20 @@ 
     | 
|
| 
       258 
528 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       259 
529 
     | 
    
         
             
                    {
         
     | 
| 
       260 
530 
     | 
    
         
             
                      "internalType": "address",
         
     | 
| 
       261 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 531 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       262 
532 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       263 
533 
     | 
    
         
             
                    }
         
     | 
| 
       264 
534 
     | 
    
         
             
                  ],
         
     | 
| 
       265 
535 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       266 
536 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       267 
537 
     | 
    
         
             
                },
         
     | 
| 
       268 
     | 
    
         
            -
                {
         
     | 
| 
       269 
     | 
    
         
            -
                  "inputs": [],
         
     | 
| 
       270 
     | 
    
         
            -
                  "name": "getParentNftId",
         
     | 
| 
       271 
     | 
    
         
            -
                  "outputs": [
         
     | 
| 
       272 
     | 
    
         
            -
                    {
         
     | 
| 
       273 
     | 
    
         
            -
                      "internalType": "NftId",
         
     | 
| 
       274 
     | 
    
         
            -
                      "name": "nftId",
         
     | 
| 
       275 
     | 
    
         
            -
                      "type": "uint96"
         
     | 
| 
       276 
     | 
    
         
            -
                    }
         
     | 
| 
       277 
     | 
    
         
            -
                  ],
         
     | 
| 
       278 
     | 
    
         
            -
                  "stateMutability": "view",
         
     | 
| 
       279 
     | 
    
         
            -
                  "type": "function"
         
     | 
| 
       280 
     | 
    
         
            -
                },
         
     | 
| 
       281 
538 
     | 
    
         
             
                {
         
     | 
| 
       282 
539 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       283 
540 
     | 
    
         
             
                  "name": "getRegistry",
         
     | 
| 
       284 
541 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       285 
542 
     | 
    
         
             
                    {
         
     | 
| 
       286 
543 
     | 
    
         
             
                      "internalType": "contract IRegistry",
         
     | 
| 
       287 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 544 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
       288 
545 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       289 
546 
     | 
    
         
             
                    }
         
     | 
| 
       290 
547 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -293,15 +550,15 @@ 
     | 
|
| 
       293 
550 
     | 
    
         
             
                },
         
     | 
| 
       294 
551 
     | 
    
         
             
                {
         
     | 
| 
       295 
552 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       296 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 553 
     | 
    
         
            +
                  "name": "getRegistryService",
         
     | 
| 
       297 
554 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       298 
555 
     | 
    
         
             
                    {
         
     | 
| 
       299 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
      
 556 
     | 
    
         
            +
                      "internalType": "contract IRegistryService",
         
     | 
| 
       300 
557 
     | 
    
         
             
                      "name": "",
         
     | 
| 
       301 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 558 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
       302 
559 
     | 
    
         
             
                    }
         
     | 
| 
       303 
560 
     | 
    
         
             
                  ],
         
     | 
| 
       304 
     | 
    
         
            -
                  "stateMutability": " 
     | 
| 
      
 561 
     | 
    
         
            +
                  "stateMutability": "view",
         
     | 
| 
       305 
562 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       306 
563 
     | 
    
         
             
                },
         
     | 
| 
       307 
564 
     | 
    
         
             
                {
         
     | 
| 
         @@ -395,6 +652,29 @@ 
     | 
|
| 
       395 
652 
     | 
    
         
             
                  "stateMutability": "view",
         
     | 
| 
       396 
653 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       397 
654 
     | 
    
         
             
                },
         
     | 
| 
      
 655 
     | 
    
         
            +
                {
         
     | 
| 
      
 656 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 657 
     | 
    
         
            +
                    {
         
     | 
| 
      
 658 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 659 
     | 
    
         
            +
                      "name": "implementation",
         
     | 
| 
      
 660 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 661 
     | 
    
         
            +
                    },
         
     | 
| 
      
 662 
     | 
    
         
            +
                    {
         
     | 
| 
      
 663 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 664 
     | 
    
         
            +
                      "name": "activatedBy",
         
     | 
| 
      
 665 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 666 
     | 
    
         
            +
                    },
         
     | 
| 
      
 667 
     | 
    
         
            +
                    {
         
     | 
| 
      
 668 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 669 
     | 
    
         
            +
                      "name": "data",
         
     | 
| 
      
 670 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 671 
     | 
    
         
            +
                    }
         
     | 
| 
      
 672 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 673 
     | 
    
         
            +
                  "name": "initialize",
         
     | 
| 
      
 674 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 675 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 676 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 677 
     | 
    
         
            +
                },
         
     | 
| 
       398 
678 
     | 
    
         
             
                {
         
     | 
| 
       399 
679 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       400 
680 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -403,7 +683,7 @@ 
     | 
|
| 
       403 
683 
     | 
    
         
             
                      "type": "uint24"
         
     | 
| 
       404 
684 
     | 
    
         
             
                    }
         
     | 
| 
       405 
685 
     | 
    
         
             
                  ],
         
     | 
| 
       406 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 686 
     | 
    
         
            +
                  "name": "isInitialized",
         
     | 
| 
       407 
687 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       408 
688 
     | 
    
         
             
                    {
         
     | 
| 
       409 
689 
     | 
    
         
             
                      "internalType": "bool",
         
     | 
| 
         @@ -416,17 +696,43 @@ 
     | 
|
| 
       416 
696 
     | 
    
         
             
                },
         
     | 
| 
       417 
697 
     | 
    
         
             
                {
         
     | 
| 
       418 
698 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
      
 699 
     | 
    
         
            +
                  "name": "linkToRegisteredNftId",
         
     | 
| 
      
 700 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 701 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 702 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 703 
     | 
    
         
            +
                },
         
     | 
| 
      
 704 
     | 
    
         
            +
                {
         
     | 
| 
      
 705 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 706 
     | 
    
         
            +
                    {
         
     | 
| 
      
 707 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 708 
     | 
    
         
            +
                      "name": "componentAddress",
         
     | 
| 
      
 709 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 710 
     | 
    
         
            +
                    }
         
     | 
| 
      
 711 
     | 
    
         
            +
                  ],
         
     | 
| 
       419 
712 
     | 
    
         
             
                  "name": "register",
         
     | 
| 
       420 
713 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       421 
714 
     | 
    
         
             
                    {
         
     | 
| 
       422 
715 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       423 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 716 
     | 
    
         
            +
                      "name": "componentNftId",
         
     | 
| 
       424 
717 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       425 
718 
     | 
    
         
             
                    }
         
     | 
| 
       426 
719 
     | 
    
         
             
                  ],
         
     | 
| 
       427 
720 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       428 
721 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       429 
722 
     | 
    
         
             
                },
         
     | 
| 
      
 723 
     | 
    
         
            +
                {
         
     | 
| 
      
 724 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 725 
     | 
    
         
            +
                    {
         
     | 
| 
      
 726 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 727 
     | 
    
         
            +
                      "name": "policyNftId",
         
     | 
| 
      
 728 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 729 
     | 
    
         
            +
                    }
         
     | 
| 
      
 730 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 731 
     | 
    
         
            +
                  "name": "revoke",
         
     | 
| 
      
 732 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 733 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 734 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 735 
     | 
    
         
            +
                },
         
     | 
| 
       430 
736 
     | 
    
         
             
                {
         
     | 
| 
       431 
737 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       432 
738 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -443,7 +749,7 @@ 
     | 
|
| 
       443 
749 
     | 
    
         
             
                        }
         
     | 
| 
       444 
750 
     | 
    
         
             
                      ],
         
     | 
| 
       445 
751 
     | 
    
         
             
                      "internalType": "struct Fee",
         
     | 
| 
       446 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 752 
     | 
    
         
            +
                      "name": "productFee",
         
     | 
| 
       447 
753 
     | 
    
         
             
                      "type": "tuple"
         
     | 
| 
       448 
754 
     | 
    
         
             
                    },
         
     | 
| 
       449 
755 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -469,6 +775,36 @@ 
     | 
|
| 
       469 
775 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       470 
776 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       471 
777 
     | 
    
         
             
                },
         
     | 
| 
      
 778 
     | 
    
         
            +
                {
         
     | 
| 
      
 779 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 780 
     | 
    
         
            +
                    {
         
     | 
| 
      
 781 
     | 
    
         
            +
                      "internalType": "RiskId",
         
     | 
| 
      
 782 
     | 
    
         
            +
                      "name": "riskId",
         
     | 
| 
      
 783 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
      
 784 
     | 
    
         
            +
                    },
         
     | 
| 
      
 785 
     | 
    
         
            +
                    {
         
     | 
| 
      
 786 
     | 
    
         
            +
                      "components": [
         
     | 
| 
      
 787 
     | 
    
         
            +
                        {
         
     | 
| 
      
 788 
     | 
    
         
            +
                          "internalType": "NftId",
         
     | 
| 
      
 789 
     | 
    
         
            +
                          "name": "productNftId",
         
     | 
| 
      
 790 
     | 
    
         
            +
                          "type": "uint96"
         
     | 
| 
      
 791 
     | 
    
         
            +
                        },
         
     | 
| 
      
 792 
     | 
    
         
            +
                        {
         
     | 
| 
      
 793 
     | 
    
         
            +
                          "internalType": "bytes",
         
     | 
| 
      
 794 
     | 
    
         
            +
                          "name": "data",
         
     | 
| 
      
 795 
     | 
    
         
            +
                          "type": "bytes"
         
     | 
| 
      
 796 
     | 
    
         
            +
                        }
         
     | 
| 
      
 797 
     | 
    
         
            +
                      ],
         
     | 
| 
      
 798 
     | 
    
         
            +
                      "internalType": "struct IRisk.RiskInfo",
         
     | 
| 
      
 799 
     | 
    
         
            +
                      "name": "info",
         
     | 
| 
      
 800 
     | 
    
         
            +
                      "type": "tuple"
         
     | 
| 
      
 801 
     | 
    
         
            +
                    }
         
     | 
| 
      
 802 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 803 
     | 
    
         
            +
                  "name": "setRiskInfo",
         
     | 
| 
      
 804 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 805 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 806 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 807 
     | 
    
         
            +
                },
         
     | 
| 
       472 
808 
     | 
    
         
             
                {
         
     | 
| 
       473 
809 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       474 
810 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -510,28 +846,57 @@ 
     | 
|
| 
       510 
846 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       511 
847 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       512 
848 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       513 
     | 
    
         
            -
                }
         
     | 
| 
       514 
     | 
    
         
            -
             
     | 
| 
       515 
     | 
    
         
            -
              "bytecode": "0x60e06040523480156200001157600080fd5b5060405162003e2738038062003e27833981016040819052620000349162000760565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff191660011790558181818181816001600160a01b038216620000d25760405162461bcd60e51b815260206004820152601b60248201527f4552524f523a5247422d3031303a52454749535452595f5a45524f000000000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040516301ffc9a760e01b81526306ecd8ef60e01b60048201526301ffc9a790602401602060405180830381865afa15801562000122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001489190620007b5565b620001965760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a5247422d3031313a4e4f545f52454749535452590000000000006044820152606401620000c9565b6001600160601b03811660a081905260805160405163e74d052f60e01b815260048101929092526001600160a01b03169063e74d052f90602401602060405180830381865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002149190620007b5565b6200026e5760405162461bcd60e51b815260206004820152602360248201527f4552524f523a5247422d3031323a504152454e545f4e4f545f5245474953544560448201526214915160ea1b6064820152608401620000c9565b3360c052631dfba64760e11b60009081526020527f95e5a2564f7af40498dc043c6da135e06324c5edb1f60c2bf4dcdf2da207fa45805460ff1916600117905550620002be905060003362000343565b631b4612f160e31b60009081526020527ffc58a5a01198e68c5a5d0bcd463f9ab550fc4337b1df271aed6dbb33d25fef25805460ff1916600117905550505050620003166363f3353f60e11b6200031e60201b60201c565b505062000859565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b60006200034f6200061b565b90506200035c81620006a8565b15620003bb5760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000c9565b600254156200047c576002805460009190620003da90600190620007e0565b81548110620003ed57620003ed62000802565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1690506200042082826200074e565b6200047a5760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000c9565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620005064290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906200060e9083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200067d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006a3919062000818565b905090565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af415801562000721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200074791906200083f565b1192915050565b62ffffff808216908316115b92915050565b600080604083850312156200077457600080fd5b82516001600160a01b03811681146200078c57600080fd5b60208401519092506001600160601b0381168114620007aa57600080fd5b809150509250929050565b600060208284031215620007c857600080fd5b81518015158114620007d957600080fd5b9392505050565b818103818111156200075a57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156200082b57600080fd5b815162ffffff81168114620007d957600080fd5b6000602082840312156200085257600080fd5b5051919050565b60805160a05160c05161355f620008c8600039600061110b0152600061024b0152600081816103a7015281816106700152818161101d0152818161108e0152818161114e0152818161197d01528181611ad901528181611bcf01528181611fb2015261238e015261355f6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80635fd1a5f5116100c3578063a3f4df7e1161007c578063a3f4df7e1461043e578063b18ebd3c1461046b578063b6b412ba1461047e578063b88da75914610491578063bbfbbfba146104a4578063cde749f4146104b757600080fd5b80635fd1a5f5146103df578063630361f614610400578063644c45e014610413578063893d20e81461041b578063946dfcfe146104235780639555c4db1461042b57600080fd5b80631aa3a008116101155780631aa3a0081461022957806331b62a3b146102495780633bc5de301461026f5780634d459c90146102835780634d5e16a9146103925780635ab1bd53146103a557600080fd5b806301ffc9a71461015d5780630aaba8e81461019f5780630abd8434146101b25780630d8e6e2c146101c557806315dae03e146101e157806317d7de7c146101f6575b600080fd5b61018a61016b3660046128d7565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101b06101ad366004612916565b50565b005b61018a6101c0366004612944565b6104bf565b6101cd610562565b60405162ffffff9091168152602001610196565b60285b60405160ff9091168152602001610196565b60408051808201909152600e81526d50726f647563745365727669636560901b60208201525b60405161019691906129b1565b6102316105ec565b6040516001600160601b039091168152602001610196565b7f0000000000000000000000000000000000000000000000000000000000000000610231565b60408051602081019091526000815261021c565b610335610291366004612944565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610196565b6101b06103a03660046129d7565b6106e5565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610196565b6103f26103ed366004612a10565b6109b8565b604051908152602001610196565b6101b061040e366004612a40565b610ac1565b610231611005565b6103c761106c565b6002546103f2565b6101b0610439366004612aa0565b6111c7565b61021c6040518060400160405280600e81526020016d50726f647563745365727669636560901b81525081565b610231610479366004612ace565b6111d5565b6101b061048c366004612c21565b611388565b6101cd61049f366004612c56565b61148c565b6101b06104b23660046129d7565b6114cd565b6101e4611857565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055b9190612c6f565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612c88565b905090565b60006105f661106c565b6001600160a01b0316336001600160a01b03161461065b5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af11580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612cb5565b60006106f1606e611934565b60405163bd7d9d8560e01b81526001600160601b0386166004820152909250600091506001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015610745573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261076d9190810190612d70565b61012081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e9d565b61083d5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f414354495641544544006044820152606401610652565b64ffffffffff8316610120820181905260c0820151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af41580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190612eba565b64ffffffffff16610140820152604051630f172d1160e21b81526001600160a01b03831690633c5cb444906109079087908590600401612ed7565b600060405180830381600087803b15801561092157600080fd5b505af1158015610935573d6000803e3d6000fd5b50505050816001600160a01b0316635d4345cc85610951606490565b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b15801561099a57600080fd5b505af11580156109ae573d6000803e3d6000fd5b5050505050505050565b6040516322f5db0f60e11b815260048101829052600090819073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906345ebb61e90602401602060405180830381865af4158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a319190612c6f565b90506000610a3f8583611c54565b604051632255341b60e11b81526004810182905290915073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af4158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612c6f565b925050505b92915050565b600080610ace606e611934565b815160405163bd7d9d8560e01b81526001600160601b0389166004820152929450909250906000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015610b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b4f9190810190612d70565b80519091506001600160601b03838116911614610bae5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d415443480000000000000000006044820152606401610652565b604051639096a1f360e01b81526001600160601b0388166004820152610c2c906001600160a01b03851690639096a1f390602401602060405180830381865afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190612fff565b60ff16600a1490565b610c785760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c494544006044820152606401610652565b610c806127fa565b6000610c8a612883565b6000610c968786611c70565b92965090945092509050610cad8784848e85611e6f565b91506001600160a01b038716635d4345cc8c60286040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b50505050610d3d89610d2e600090565b64ffffffffff90811691161190565b15610e525764ffffffffff8916610120860181905260c0860151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd19190612eba565b64ffffffffff166101408601526001600160a01b038716635d4345cc8c60646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050505b8915610ea3576000610e6f888a60000151878f8a60800151611f0a565b905085608001518660a001818151610e879190613032565b905250608083018051829190610e9e908390613032565b905250505b604051630f172d1160e21b81526001600160a01b03881690633c5cb44490610ed1908e908990600401612ed7565b600060405180830381600087803b158015610eeb57600080fd5b505af1158015610eff573d6000803e3d6000fd5b5050604051633c64e5b760e01b81526001600160a01b038a169250633c64e5b79150610f319086908690600401613045565b600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b5050505060208401516040516357f80bbf60e01b81526001600160601b03821660048201526000906001600160a01b038a16906357f80bbf906024016040805180830381865afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb91906130cc565b805190915015610ff657610ff6868e89876020015187612367565b50505050505050505050505050565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f99190612cb5565b90506001600160601b038116611130577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa15801561119d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c19190613106565b91505090565b6111d18282612443565b5050565b600080806111e3606e611934565b91509150600082600001519050306001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112529190613106565b6001600160a01b0316635ef14b5e8260c86040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af11580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f29190612cb5565b604051635c5f628b60e11b81526001600160601b0380831660048301528084166024830152604482018b9052606482018a905260848201899052871660a48201529094506001600160a01b0383169063b8bec5169060c401600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b5050505050505095945050505050565b600080611395606e611934565b815160405163f2b246c360e01b81526001600160601b0382166004820152929450909250906000906001600160a01b0384169063f2b246c3906024016101a060405180830381865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190613153565b6080810187905260a08101869052604051637adea8c160e11b81529091506001600160a01b0384169063f5bd51829061145290859085906004016131fe565b600060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b50505050505050505050565b6000600282815481106114a1576114a16132c5565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000806114da606e611934565b60405163bd7d9d8560e01b81526001600160601b038716600482015291935091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa15801561152f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115579190810190612d70565b835160405163f2b246c360e01b81526001600160601b0390911660048201529091506000906001600160a01b0384169063f2b246c3906024016101a060405180830381865afa1580156115ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d29190613153565b60808301518551919250906115eb908590848a85611f0a565b50808360a0018181516115fe9190613032565b90525061160c866000610d2e565b156117ee5761012083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561166e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116929190612e9d565b6116de5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3033303a414c52454144595f414354495641544544006044820152606401610652565b64ffffffffff8616610120840181905260c0840151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015611749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176d9190612eba565b64ffffffffff166101408401526001600160a01b038416635d4345cc8860646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b1580156117d557600080fd5b505af11580156117e9573d6000803e3d6000fd5b505050505b604051630f172d1160e21b81526001600160a01b03851690633c5cb4449061181c908a908790600401612ed7565b600060405180830381600087803b15801561183657600080fd5b505af115801561184a573d6000803e3d6000fd5b5050505050505050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bb9190612c88565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015611910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612fff565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156119cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f09190612cb5565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190612e9d565b611abb5760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e0000000000000000006044820152606401610652565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611b28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b5091908101906132db565b9250611b6683604001518560ff90811691161490565b611ba85760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b6044820152606401610652565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611c1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c4691908101906132db565b606001519395939450505050565b6000611c698383670de0b6b3a7640000612711565b9392505050565b611c786127fa565b6000611c82612883565b835160405163f2b246c360e01b81526001600160601b0390911660048201526000906001600160a01b0387169063f2b246c3906024016101a060405180830381865afa158015611cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfa9190613153565b6020860151604051634793b4ab60e01b81526001600160601b038216600482015291955093506001600160a01b03871690634793b4ab90602401600060405180830381865afa158015611d51573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d7991908101906133a3565b805160208601519193506001600160601b03908116911614611dd65760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b6044820152606401610652565b60208401516040516357f80bbf60e01b81526001600160601b03821660048201526000906001600160a01b038916906357f80bbf906024016040805180830381865afa158015611e2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e91906130cc565b9050611e62816020015188606001516109b8565b9250505092959194509250565b611e77612883565b8184606001818151611e899190613032565b90525060405163e1f64d7760e01b81526001600160601b03808716600483015284166024820152604481018390526001600160a01b0387169063e1f64d7790606401600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b505050508390505b95945050505050565b60008115611f015760405163a310e2a360e01b81526001600160601b03861660048201526000906001600160a01b0388169063a310e2a390602401602060405180830381865afa158015611f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f869190613106565b60405163df33330b60e01b81526001600160601b03861660048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df33330b90602401602060405180830381865afa158015611ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201d9190613106565b6020870151604051630d48c43b60e11b81526001600160601b0390911660048201529091506000906001600160a01b038a1690631a91887690602401602060405180830381865afa158015612076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209a9190613106565b60808801516040516346f0526160e11b81528796509192509073__$a23651848365a6a5ca15f07b4331037f48$__90638de0a4c2906120dd908490600401613461565b602060405180830381865af41580156120fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211e9190612e9d565b15612192576040516317d5759960e31b81526001600160a01b03848116600483015283811660248301526044820188905285169063beabacc890606401600060405180830381600087803b15801561217557600080fd5b505af1158015612189573d6000803e3d6000fd5b5050505061235a565b6000808b6001600160a01b031663f274e87d89856040518363ffffffff1660e01b81526004016121c3929190613478565b6040805180830381865afa1580156121df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122039190613496565b604051630d48c43b60e11b81526001600160601b038e16600482015291935091506000906001600160a01b038e1690631a91887690602401602060405180830381865afa158015612258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227c9190613106565b6040516317d5759960e31b81526001600160a01b0388811660048301528083166024830152604482018690529192509088169063beabacc890606401600060405180830381600087803b1580156122d257600080fd5b505af11580156122e6573d6000803e3d6000fd5b50506040516317d5759960e31b81526001600160a01b0389811660048301528881166024830152604482018690528a16925063beabacc89150606401600060405180830381600087803b15801561233c57600080fd5b505af1158015612350573d6000803e3d6000fd5b5093995050505050505b5050505095945050505050565b60208501516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa1580156123dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261240591908101906132db565b6060015160e08501516040516332f7fe0d60e11b815291925082916001600160a01b038316916365effc1a9161181c918a91899089906004016134ba565b600061244d610562565b9050612458816104bf565b156124b55760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401610652565b600254156125745760028054600091906124d190600190613500565b815481106124e1576124e16132c5565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16905061251a828262ffffff90811691161190565b6125725760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401610652565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020840152841690820152606081016125fd4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906127049083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600080806000198587098587029250828110838203039150508060000361274b5783828161274157612741613513565b0492505050611c69565b8084116127925760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610652565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805161010081018252600080825260208083018290528284018290528351808501855282815280820183905260608401528351808501855282815280820183905260808401528351808501855282815280820183905260a08401528351808501855282815280820183905260c084015283518085019094528184528301529060e082015290565b6040518060e0016040528060006001600160601b0316815260200160608152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff1681525090565b6000602082840312156128e957600080fd5b81356001600160e01b031981168114611c6957600080fd5b6001600160601b03811681146101ad57600080fd5b60006020828403121561292857600080fd5b8135611c6981612901565b62ffffff811681146101ad57600080fd5b60006020828403121561295657600080fd5b8135611c6981612933565b60005b8381101561297c578181015183820152602001612964565b50506000910152565b6000815180845261299d816020860160208601612961565b601f01601f19169290920160200192915050565b602081526000611c696020830184612985565b64ffffffffff811681146101ad57600080fd5b600080604083850312156129ea57600080fd5b82356129f581612901565b91506020830135612a05816129c4565b809150509250929050565b60008060408385031215612a2357600080fd5b50508035926020909101359150565b80151581146101ad57600080fd5b600080600060608486031215612a5557600080fd5b8335612a6081612901565b92506020840135612a7081612a32565b91506040840135612a80816129c4565b809150509250925092565b6001600160a01b03811681146101ad57600080fd5b60008060408385031215612ab357600080fd5b8235612abe81612a8b565b91506020830135612a0581612a8b565b600080600080600060a08688031215612ae657600080fd5b8535612af181612a8b565b94506020860135935060408601359250606086013591506080860135612b1681612901565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405290565b604051610180810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b604051610100810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405160c0810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405160e0810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b600060408284031215612c0357600080fd5b612c0b612b3a565b9050813581526020820135602082015292915050565b60008060808385031215612c3457600080fd5b612c3e8484612bf1565b9150612c4d8460408501612bf1565b90509250929050565b600060208284031215612c6857600080fd5b5035919050565b600060208284031215612c8157600080fd5b5051919050565b600060208284031215612c9a57600080fd5b8151611c6981612933565b8051612cb081612901565b919050565b600060208284031215612cc757600080fd5b8151611c6981612901565b8051612cb081612a8b565b600082601f830112612cee57600080fd5b815167ffffffffffffffff80821115612d0957612d09612b24565b604051601f8301601f19908116603f01168101908282118183101715612d3157612d31612b24565b81604052838152866020858801011115612d4a57600080fd5b612d5b846020830160208901612961565b9695505050505050565b8051612cb0816129c4565b600060208284031215612d8257600080fd5b815167ffffffffffffffff80821115612d9a57600080fd5b908301906101808286031215612daf57600080fd5b612db7612b63565b612dc083612ca5565b8152612dce60208401612ca5565b6020820152612ddf60408401612cd2565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015182811115612e1e57600080fd5b612e2a87828601612cdd565b60e0830152506101008084015183811115612e4457600080fd5b612e5088828701612cdd565b8284015250506101209150612e66828401612d65565b828201526101409150612e7a828401612d65565b828201526101609150612e8e828401612d65565b91810191909152949350505050565b600060208284031215612eaf57600080fd5b8151611c6981612a32565b600060208284031215612ecc57600080fd5b8151611c69816129c4565b6001600160601b038316815260406020820152612f006040820183516001600160601b03169052565b60006020830151612f1c60608401826001600160601b03169052565b5060408301516001600160a01b038116608084015250606083015160a0830152608083015160c083015260a083015160e083015260c0830151610100818185015260e085015191506101806101208181870152612f7d6101c0870185612985565b9350828701519250610140603f198786030181880152612f9d8585612985565b94508188015193506101609150612fbc8288018564ffffffffff169052565b87015164ffffffffff811683880152925086015164ffffffffff81166101a08701529150612fe79050565b50949350505050565b60ff811681146101ad57600080fd5b60006020828403121561301157600080fd5b8151611c6981612ff0565b634e487b7160e01b600052601160045260246000fd5b80820180821115610abb57610abb61301c565b60006001600160601b0380851683526040602084015280845116604084015250602083015160e0606084015261307f610120840182612985565b905060408401516080840152606084015160a0840152608084015160c084015260a084015164ffffffffff80821660e08601528060c0870151166101008601525050809150509392505050565b6000604082840312156130de57600080fd5b6130e6612b3a565b82516130f181612a32565b81526020928301519281019290925250919050565b60006020828403121561311857600080fd5b8151611c6981612a8b565b60006040828403121561313557600080fd5b61313d612b3a565b9050815181526020820151602082015292915050565b60006101a0828403121561316657600080fd5b61316e612b87565b61317783612ca5565b815261318560208401612ca5565b602082015261319660408401612cd2565b60408201526131a88460608501613123565b60608201526131ba8460a08501613123565b60808201526131cc8460e08501613123565b60a08201526131df846101208501613123565b60c08201526131f2846101608501613123565b60e08201529392505050565b60006101c0820190506001600160601b03808516835280845116602084015280602085015116604084015250604083015161324460608401826001600160a01b03169052565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c0830151805161014084015260208101516101608401525060e0830151805161018084015260208101516101a0840152509392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156132ed57600080fd5b815167ffffffffffffffff8082111561330557600080fd5b9083019060c0828603121561331957600080fd5b613321612bab565b825161332c81612901565b8152602083015161333c81612901565b6020820152604083015161334f81612ff0565b604082015261336060608401612cd2565b606082015261337160808401612cd2565b608082015260a08301518281111561338857600080fd5b61339487828601612cdd565b60a08301525095945050505050565b6000602082840312156133b557600080fd5b815167ffffffffffffffff808211156133cd57600080fd5b9083019060e082860312156133e157600080fd5b6133e9612bce565b6133f283612ca5565b815260208301518281111561340657600080fd5b61341287828601612cdd565b60208301525060408301516040820152606083015160608201526080830151608082015261344260a08401612d65565b60a082015261345360c08401612d65565b60c082015295945050505050565b815181526020808301519082015260408101610abb565b82815260608101611c69602083018480518252602090810151910152565b600080604083850312156134a957600080fd5b505080516020909101519092909150565b6001600160601b03851681526080602082015260006134dc6080830186612985565b82810360408401526134ee8186612985565b91505082606083015295945050505050565b81810381811115610abb57610abb61301c565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220d3ece87d04b171f0bde1aab39fd73e9240a975ab08ce00d30ad3ee23a30cfce264736f6c63430008140033",
         
     | 
| 
       516 
     | 
    
         
            -
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c80635fd1a5f5116100c3578063a3f4df7e1161007c578063a3f4df7e1461043e578063b18ebd3c1461046b578063b6b412ba1461047e578063b88da75914610491578063bbfbbfba146104a4578063cde749f4146104b757600080fd5b80635fd1a5f5146103df578063630361f614610400578063644c45e014610413578063893d20e81461041b578063946dfcfe146104235780639555c4db1461042b57600080fd5b80631aa3a008116101155780631aa3a0081461022957806331b62a3b146102495780633bc5de301461026f5780634d459c90146102835780634d5e16a9146103925780635ab1bd53146103a557600080fd5b806301ffc9a71461015d5780630aaba8e81461019f5780630abd8434146101b25780630d8e6e2c146101c557806315dae03e146101e157806317d7de7c146101f6575b600080fd5b61018a61016b3660046128d7565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6101b06101ad366004612916565b50565b005b61018a6101c0366004612944565b6104bf565b6101cd610562565b60405162ffffff9091168152602001610196565b60285b60405160ff9091168152602001610196565b60408051808201909152600e81526d50726f647563745365727669636560901b60208201525b60405161019691906129b1565b6102316105ec565b6040516001600160601b039091168152602001610196565b7f0000000000000000000000000000000000000000000000000000000000000000610231565b60408051602081019091526000815261021c565b610335610291366004612944565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260016020818152604092839020835160a0810185528154958616815263010000009095046001600160a01b03908116928601929092529091015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610196565b6101b06103a03660046129d7565b6106e5565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610196565b6103f26103ed366004612a10565b6109b8565b604051908152602001610196565b6101b061040e366004612a40565b610ac1565b610231611005565b6103c761106c565b6002546103f2565b6101b0610439366004612aa0565b6111c7565b61021c6040518060400160405280600e81526020016d50726f647563745365727669636560901b81525081565b610231610479366004612ace565b6111d5565b6101b061048c366004612c21565b611388565b6101cd61049f366004612c56565b61148c565b6101b06104b23660046129d7565b6114cd565b6101e4611857565b62ffffff81166000908152600160208190526040808320909101549051631bbffab160e21b8152600160c81b90910463ffffffff166004820152819073__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055b9190612c6f565b1192915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612c88565b905090565b60006105f661106c565b6001600160a01b0316336001600160a01b03161461065b5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a5247422d3030313a4e4f545f4f574e455200000000000000000060448201526064015b60405180910390fd5b604051632210724360e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634420e486906024016020604051808303816000875af11580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612cb5565b60006106f1606e611934565b60405163bd7d9d8560e01b81526001600160601b0386166004820152909250600091506001600160a01b0383169063bd7d9d8590602401600060405180830381865afa158015610745573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261076d9190810190612d70565b61012081015160405163790a38ad60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af41580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190612e9d565b61083d5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032303a414c52454144595f414354495641544544006044820152606401610652565b64ffffffffff8316610120820181905260c0820151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af41580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190612eba565b64ffffffffff16610140820152604051630f172d1160e21b81526001600160a01b03831690633c5cb444906109079087908590600401612ed7565b600060405180830381600087803b15801561092157600080fd5b505af1158015610935573d6000803e3d6000fd5b50505050816001600160a01b0316635d4345cc85610951606490565b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b15801561099a57600080fd5b505af11580156109ae573d6000803e3d6000fd5b5050505050505050565b6040516322f5db0f60e11b815260048101829052600090819073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906345ebb61e90602401602060405180830381865af4158015610a0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a319190612c6f565b90506000610a3f8583611c54565b604051632255341b60e11b81526004810182905290915073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af4158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612c6f565b925050505b92915050565b600080610ace606e611934565b815160405163bd7d9d8560e01b81526001600160601b0389166004820152929450909250906000906001600160a01b0384169063bd7d9d8590602401600060405180830381865afa158015610b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b4f9190810190612d70565b80519091506001600160601b03838116911614610bae5760405162461bcd60e51b815260206004820152601760248201527f504f4c4943595f50524f445543545f4d49534d415443480000000000000000006044820152606401610652565b604051639096a1f360e01b81526001600160601b0388166004820152610c2c906001600160a01b03851690639096a1f390602401602060405180830381865afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190612fff565b60ff16600a1490565b610c785760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3032313a53544154455f4e4f545f4150504c494544006044820152606401610652565b610c806127fa565b6000610c8a612883565b6000610c968786611c70565b92965090945092509050610cad8784848e85611e6f565b91506001600160a01b038716635d4345cc8c60286040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b158015610d0a57600080fd5b505af1158015610d1e573d6000803e3d6000fd5b50505050610d3d89610d2e600090565b64ffffffffff90811691161190565b15610e525764ffffffffff8916610120860181905260c0860151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd19190612eba565b64ffffffffff166101408601526001600160a01b038716635d4345cc8c60646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050505b8915610ea3576000610e6f888a60000151878f8a60800151611f0a565b905085608001518660a001818151610e879190613032565b905250608083018051829190610e9e908390613032565b905250505b604051630f172d1160e21b81526001600160a01b03881690633c5cb44490610ed1908e908990600401612ed7565b600060405180830381600087803b158015610eeb57600080fd5b505af1158015610eff573d6000803e3d6000fd5b5050604051633c64e5b760e01b81526001600160a01b038a169250633c64e5b79150610f319086908690600401613045565b600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b5050505060208401516040516357f80bbf60e01b81526001600160601b03821660048201526000906001600160a01b038a16906357f80bbf906024016040805180830381865afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb91906130cc565b805190915015610ff657610ff6868e89876020015187612367565b50505050505050505050505050565b604051636939560f60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b604051636939560f60e11b815230600482015260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d272ac1e90602401602060405180830381865afa1580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f99190612cb5565b90506001600160601b038116611130577f000000000000000000000000000000000000000000000000000000000000000091505090565b60405163df33330b60e01b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063df33330b90602401602060405180830381865afa15801561119d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c19190613106565b91505090565b6111d18282612443565b5050565b600080806111e3606e611934565b91509150600082600001519050306001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112529190613106565b6001600160a01b0316635ef14b5e8260c86040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526001600160a01b038c166044820152608060648201526000608482015260a4016020604051808303816000875af11580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f29190612cb5565b604051635c5f628b60e11b81526001600160601b0380831660048301528084166024830152604482018b9052606482018a905260848201899052871660a48201529094506001600160a01b0383169063b8bec5169060c401600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b5050505050505095945050505050565b600080611395606e611934565b815160405163f2b246c360e01b81526001600160601b0382166004820152929450909250906000906001600160a01b0384169063f2b246c3906024016101a060405180830381865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190613153565b6080810187905260a08101869052604051637adea8c160e11b81529091506001600160a01b0384169063f5bd51829061145290859085906004016131fe565b600060405180830381600087803b15801561146c57600080fd5b505af1158015611480573d6000803e3d6000fd5b50505050505050505050565b6000600282815481106114a1576114a16132c5565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000806114da606e611934565b60405163bd7d9d8560e01b81526001600160601b038716600482015291935091506000906001600160a01b0383169063bd7d9d8590602401600060405180830381865afa15801561152f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115579190810190612d70565b835160405163f2b246c360e01b81526001600160601b0390911660048201529091506000906001600160a01b0384169063f2b246c3906024016101a060405180830381865afa1580156115ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d29190613153565b60808301518551919250906115eb908590848a85611f0a565b50808360a0018181516115fe9190613032565b90525061160c866000610d2e565b156117ee5761012083015160405163790a38ad60e01b815264ffffffffff909116600482015273__$d53880c81dc91c20799140d711e5ab8718$__9063790a38ad90602401602060405180830381865af415801561166e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116929190612e9d565b6116de5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a5052532d3033303a414c52454144595f414354495641544544006044820152606401610652565b64ffffffffff8616610120840181905260c0840151604051631ded81af60e31b81526004810192909252602482015273__$d53880c81dc91c20799140d711e5ab8718$__9063ef6c0d7890604401602060405180830381865af4158015611749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176d9190612eba565b64ffffffffff166101408401526001600160a01b038416635d4345cc8860646040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401600060405180830381600087803b1580156117d557600080fd5b505af11580156117e9573d6000803e3d6000fd5b505050505b604051630f172d1160e21b81526001600160a01b03851690633c5cb4449061181c908a908790600401612ed7565b600060405180830381600087803b15801561183657600080fd5b505af115801561184a573d6000803e3d6000fd5b5050505050505050505050565b6000306001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bb9190612c88565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015611910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190612fff565b6040805160c08101825260008082526020820181905281830181905260608083018290526080830182905260a08301529151636939560f60e11b815233600482015290919081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d272ac1e90602401602060405180830381865afa1580156119cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f09190612cb5565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190612e9d565b611abb5760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e0000000000000000006044820152606401610652565b6040516305247a1760e51b81526001600160601b03821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611b28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b5091908101906132db565b9250611b6683604001518560ff90811691161490565b611ba85760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b6044820152606401610652565b60208301516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa158015611c1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c4691908101906132db565b606001519395939450505050565b6000611c698383670de0b6b3a7640000612711565b9392505050565b611c786127fa565b6000611c82612883565b835160405163f2b246c360e01b81526001600160601b0390911660048201526000906001600160a01b0387169063f2b246c3906024016101a060405180830381865afa158015611cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfa9190613153565b6020860151604051634793b4ab60e01b81526001600160601b038216600482015291955093506001600160a01b03871690634793b4ab90602401600060405180830381865afa158015611d51573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d7991908101906133a3565b805160208601519193506001600160601b03908116911614611dd65760405162461bcd60e51b81526020600482015260166024820152750a09e989286b2be84aa9c88988abe9a92a69a82a886960531b6044820152606401610652565b60208401516040516357f80bbf60e01b81526001600160601b03821660048201526000906001600160a01b038916906357f80bbf906024016040805180830381865afa158015611e2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e91906130cc565b9050611e62816020015188606001516109b8565b9250505092959194509250565b611e77612883565b8184606001818151611e899190613032565b90525060405163e1f64d7760e01b81526001600160601b03808716600483015284166024820152604481018390526001600160a01b0387169063e1f64d7790606401600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b505050508390505b95945050505050565b60008115611f015760405163a310e2a360e01b81526001600160601b03861660048201526000906001600160a01b0388169063a310e2a390602401602060405180830381865afa158015611f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f869190613106565b60405163df33330b60e01b81526001600160601b03861660048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063df33330b90602401602060405180830381865afa158015611ff9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201d9190613106565b6020870151604051630d48c43b60e11b81526001600160601b0390911660048201529091506000906001600160a01b038a1690631a91887690602401602060405180830381865afa158015612076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209a9190613106565b60808801516040516346f0526160e11b81528796509192509073__$a23651848365a6a5ca15f07b4331037f48$__90638de0a4c2906120dd908490600401613461565b602060405180830381865af41580156120fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211e9190612e9d565b15612192576040516317d5759960e31b81526001600160a01b03848116600483015283811660248301526044820188905285169063beabacc890606401600060405180830381600087803b15801561217557600080fd5b505af1158015612189573d6000803e3d6000fd5b5050505061235a565b6000808b6001600160a01b031663f274e87d89856040518363ffffffff1660e01b81526004016121c3929190613478565b6040805180830381865afa1580156121df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122039190613496565b604051630d48c43b60e11b81526001600160601b038e16600482015291935091506000906001600160a01b038e1690631a91887690602401602060405180830381865afa158015612258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227c9190613106565b6040516317d5759960e31b81526001600160a01b0388811660048301528083166024830152604482018690529192509088169063beabacc890606401600060405180830381600087803b1580156122d257600080fd5b505af11580156122e6573d6000803e3d6000fd5b50506040516317d5759960e31b81526001600160a01b0389811660048301528881166024830152604482018690528a16925063beabacc89150606401600060405180830381600087803b15801561233c57600080fd5b505af1158015612350573d6000803e3d6000fd5b5093995050505050505b5050505095945050505050565b60208501516040516305247a1760e51b81526001600160601b0390911660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a48f42e090602401600060405180830381865afa1580156123dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261240591908101906132db565b6060015160e08501516040516332f7fe0d60e11b815291925082916001600160a01b038316916365effc1a9161181c918a91899089906004016134ba565b600061244d610562565b9050612458816104bf565b156124b55760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401610652565b600254156125745760028054600091906124d190600190613500565b815481106124e1576124e16132c5565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16905061251a828262ffffff90811691161190565b6125725760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401610652565b505b60028054600181018255600091909152600a8082047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805462ffffff808616600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020840152841690820152606081016125fd4290565b64ffffffffff1681526020014363ffffffff90811690915262ffffff80841660009081526001602081815260409283902086518154928801516001600160a01b039081166301000000026001600160b81b0319909416919096161791909117815585830151910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517f68e7327fca0057a787cde34ababb9ef9844ba8065ee03e8781d8122fc15d4419906127049083908690869062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600080806000198587098587029250828110838203039150508060000361274b5783828161274157612741613513565b0492505050611c69565b8084116127925760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610652565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805161010081018252600080825260208083018290528284018290528351808501855282815280820183905260608401528351808501855282815280820183905260808401528351808501855282815280820183905260a08401528351808501855282815280820183905260c084015283518085019094528184528301529060e082015290565b6040518060e0016040528060006001600160601b0316815260200160608152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600064ffffffffff1681525090565b6000602082840312156128e957600080fd5b81356001600160e01b031981168114611c6957600080fd5b6001600160601b03811681146101ad57600080fd5b60006020828403121561292857600080fd5b8135611c6981612901565b62ffffff811681146101ad57600080fd5b60006020828403121561295657600080fd5b8135611c6981612933565b60005b8381101561297c578181015183820152602001612964565b50506000910152565b6000815180845261299d816020860160208601612961565b601f01601f19169290920160200192915050565b602081526000611c696020830184612985565b64ffffffffff811681146101ad57600080fd5b600080604083850312156129ea57600080fd5b82356129f581612901565b91506020830135612a05816129c4565b809150509250929050565b60008060408385031215612a2357600080fd5b50508035926020909101359150565b80151581146101ad57600080fd5b600080600060608486031215612a5557600080fd5b8335612a6081612901565b92506020840135612a7081612a32565b91506040840135612a80816129c4565b809150509250925092565b6001600160a01b03811681146101ad57600080fd5b60008060408385031215612ab357600080fd5b8235612abe81612a8b565b91506020830135612a0581612a8b565b600080600080600060a08688031215612ae657600080fd5b8535612af181612a8b565b94506020860135935060408601359250606086013591506080860135612b1681612901565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405290565b604051610180810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b604051610100810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405160c0810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b60405160e0810167ffffffffffffffff81118282101715612b5d57612b5d612b24565b600060408284031215612c0357600080fd5b612c0b612b3a565b9050813581526020820135602082015292915050565b60008060808385031215612c3457600080fd5b612c3e8484612bf1565b9150612c4d8460408501612bf1565b90509250929050565b600060208284031215612c6857600080fd5b5035919050565b600060208284031215612c8157600080fd5b5051919050565b600060208284031215612c9a57600080fd5b8151611c6981612933565b8051612cb081612901565b919050565b600060208284031215612cc757600080fd5b8151611c6981612901565b8051612cb081612a8b565b600082601f830112612cee57600080fd5b815167ffffffffffffffff80821115612d0957612d09612b24565b604051601f8301601f19908116603f01168101908282118183101715612d3157612d31612b24565b81604052838152866020858801011115612d4a57600080fd5b612d5b846020830160208901612961565b9695505050505050565b8051612cb0816129c4565b600060208284031215612d8257600080fd5b815167ffffffffffffffff80821115612d9a57600080fd5b908301906101808286031215612daf57600080fd5b612db7612b63565b612dc083612ca5565b8152612dce60208401612ca5565b6020820152612ddf60408401612cd2565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015182811115612e1e57600080fd5b612e2a87828601612cdd565b60e0830152506101008084015183811115612e4457600080fd5b612e5088828701612cdd565b8284015250506101209150612e66828401612d65565b828201526101409150612e7a828401612d65565b828201526101609150612e8e828401612d65565b91810191909152949350505050565b600060208284031215612eaf57600080fd5b8151611c6981612a32565b600060208284031215612ecc57600080fd5b8151611c69816129c4565b6001600160601b038316815260406020820152612f006040820183516001600160601b03169052565b60006020830151612f1c60608401826001600160601b03169052565b5060408301516001600160a01b038116608084015250606083015160a0830152608083015160c083015260a083015160e083015260c0830151610100818185015260e085015191506101806101208181870152612f7d6101c0870185612985565b9350828701519250610140603f198786030181880152612f9d8585612985565b94508188015193506101609150612fbc8288018564ffffffffff169052565b87015164ffffffffff811683880152925086015164ffffffffff81166101a08701529150612fe79050565b50949350505050565b60ff811681146101ad57600080fd5b60006020828403121561301157600080fd5b8151611c6981612ff0565b634e487b7160e01b600052601160045260246000fd5b80820180821115610abb57610abb61301c565b60006001600160601b0380851683526040602084015280845116604084015250602083015160e0606084015261307f610120840182612985565b905060408401516080840152606084015160a0840152608084015160c084015260a084015164ffffffffff80821660e08601528060c0870151166101008601525050809150509392505050565b6000604082840312156130de57600080fd5b6130e6612b3a565b82516130f181612a32565b81526020928301519281019290925250919050565b60006020828403121561311857600080fd5b8151611c6981612a8b565b60006040828403121561313557600080fd5b61313d612b3a565b9050815181526020820151602082015292915050565b60006101a0828403121561316657600080fd5b61316e612b87565b61317783612ca5565b815261318560208401612ca5565b602082015261319660408401612cd2565b60408201526131a88460608501613123565b60608201526131ba8460a08501613123565b60808201526131cc8460e08501613123565b60a08201526131df846101208501613123565b60c08201526131f2846101608501613123565b60e08201529392505050565b60006101c0820190506001600160601b03808516835280845116602084015280602085015116604084015250604083015161324460608401826001600160a01b03169052565b50606083015180516080840152602081015160a0840152506080830151805160c0840152602081015160e08401525060a0830151805161010084015260208101516101208401525060c0830151805161014084015260208101516101608401525060e0830151805161018084015260208101516101a0840152509392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156132ed57600080fd5b815167ffffffffffffffff8082111561330557600080fd5b9083019060c0828603121561331957600080fd5b613321612bab565b825161332c81612901565b8152602083015161333c81612901565b6020820152604083015161334f81612ff0565b604082015261336060608401612cd2565b606082015261337160808401612cd2565b608082015260a08301518281111561338857600080fd5b61339487828601612cdd565b60a08301525095945050505050565b6000602082840312156133b557600080fd5b815167ffffffffffffffff808211156133cd57600080fd5b9083019060e082860312156133e157600080fd5b6133e9612bce565b6133f283612ca5565b815260208301518281111561340657600080fd5b61341287828601612cdd565b60208301525060408301516040820152606083015160608201526080830151608082015261344260a08401612d65565b60a082015261345360c08401612d65565b60c082015295945050505050565b815181526020808301519082015260408101610abb565b82815260608101611c69602083018480518252602090810151910152565b600080604083850312156134a957600080fd5b505080516020909101519092909150565b6001600160601b03851681526080602082015260006134dc6080830186612985565b82810360408401526134ee8186612985565b91505082606083015295945050505050565b81810381811115610abb57610abb61301c565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220d3ece87d04b171f0bde1aab39fd73e9240a975ab08ce00d30ad3ee23a30cfce264736f6c63430008140033",
         
     | 
| 
       517 
     | 
    
         
            -
              "linkReferences": {
         
     | 
| 
       518 
     | 
    
         
            -
                "contracts/types/Blocknumber.sol": {
         
     | 
| 
       519 
     | 
    
         
            -
                  "BlocknumberLib": [
         
     | 
| 
      
 849 
     | 
    
         
            +
                },
         
     | 
| 
      
 850 
     | 
    
         
            +
                {
         
     | 
| 
      
 851 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
       520 
852 
     | 
    
         
             
                    {
         
     | 
| 
       521 
     | 
    
         
            -
                      " 
     | 
| 
       522 
     | 
    
         
            -
                      " 
     | 
| 
      
 853 
     | 
    
         
            +
                      "internalType": "RiskId",
         
     | 
| 
      
 854 
     | 
    
         
            +
                      "name": "riskId",
         
     | 
| 
      
 855 
     | 
    
         
            +
                      "type": "bytes8"
         
     | 
| 
       523 
856 
     | 
    
         
             
                    },
         
     | 
| 
       524 
857 
     | 
    
         
             
                    {
         
     | 
| 
       525 
     | 
    
         
            -
                      " 
     | 
| 
       526 
     | 
    
         
            -
                      " 
     | 
| 
      
 858 
     | 
    
         
            +
                      "internalType": "StateId",
         
     | 
| 
      
 859 
     | 
    
         
            +
                      "name": "state",
         
     | 
| 
      
 860 
     | 
    
         
            +
                      "type": "uint8"
         
     | 
| 
       527 
861 
     | 
    
         
             
                    }
         
     | 
| 
       528 
     | 
    
         
            -
                  ]
         
     | 
| 
      
 862 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 863 
     | 
    
         
            +
                  "name": "updateRiskState",
         
     | 
| 
      
 864 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 865 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 866 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
       529 
867 
     | 
    
         
             
                },
         
     | 
| 
       530 
     | 
    
         
            -
                 
     | 
| 
       531 
     | 
    
         
            -
                  " 
     | 
| 
      
 868 
     | 
    
         
            +
                {
         
     | 
| 
      
 869 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 870 
     | 
    
         
            +
                    {
         
     | 
| 
      
 871 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 872 
     | 
    
         
            +
                      "name": "implementation",
         
     | 
| 
      
 873 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 874 
     | 
    
         
            +
                    },
         
     | 
| 
      
 875 
     | 
    
         
            +
                    {
         
     | 
| 
      
 876 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 877 
     | 
    
         
            +
                      "name": "activatedBy",
         
     | 
| 
      
 878 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 879 
     | 
    
         
            +
                    },
         
     | 
| 
      
 880 
     | 
    
         
            +
                    {
         
     | 
| 
      
 881 
     | 
    
         
            +
                      "internalType": "bytes",
         
     | 
| 
      
 882 
     | 
    
         
            +
                      "name": "data",
         
     | 
| 
      
 883 
     | 
    
         
            +
                      "type": "bytes"
         
     | 
| 
      
 884 
     | 
    
         
            +
                    }
         
     | 
| 
      
 885 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 886 
     | 
    
         
            +
                  "name": "upgrade",
         
     | 
| 
      
 887 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 888 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 889 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 890 
     | 
    
         
            +
                }
         
     | 
| 
      
 891 
     | 
    
         
            +
              ],
         
     | 
| 
      
 892 
     | 
    
         
            +
              "bytecode": "0x60806040523480156200001157600080fd5b50620000546301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600280546001600160a01b031916331790556200007062000076565b6200012a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000c75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001275780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b613836806200013a6000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063630361f61161011a578063b3c65015116100ad578063c2c749871161007c578063c2c7498714610608578063caf4e3d41461061b578063cc9fc59a14610623578063cde749f41461062b578063cf7a1d771461064557600080fd5b8063b3c65015146105af578063b6b412ba146105cf578063b88da759146105e2578063bbfbbfba146105f557600080fd5b8063946dfcfe116100e9578063946dfcfe1461050d5780639cdaa7f914610534578063a3f4df7e1461056f578063a745e3df1461059c57600080fd5b8063630361f6146104cc578063644c45e0146104df5780637cef4842146104f7578063893d20e81461050557600080fd5b8063423eb9fa116101925780634f421333116101615780634f4213331461046e5780635ab1bd53146104815780635fd1a5f5146104a6578063603ccaad146104b957600080fd5b8063423eb9fa146103095780634420e486146103175780634d459c90146103425780634d5e16a91461045b57600080fd5b80630fec111c116101ce5780630fec111c14610283578063138461e01461029957806317d7de7c146102a15780631eff4b22146102d457600080fd5b806301ffc9a714610200578063095e2b72146102425780630aaba8e8146102565780630d8e6e2c14610267575b600080fd5b61022d61020e3660046129a2565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610254610250366004612b12565b5050565b005b610254610264366004612b76565b50565b61026f610658565b60405162ffffff9091168152602001610239565b61028b6106e2565b604051610239929190612c5c565b610254610835565b60408051808201909152600e81526d50726f647563745365727669636560901b60208201525b6040516102399190612c8a565b6102fb7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610239565b610254610250366004612c9d565b61032a610325366004612d46565b610a57565b6040516001600160601b039091168152602001610239565b6103fe610350366004612d74565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526000805160206137e183398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610239565b610254610469366004612da4565b610dbe565b61022d61047c366004612d74565b610dd1565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610239565b6102fb6104b4366004612ddd565b610e84565b6102546104c7366004612b76565b610f8d565b6102546104da366004612e0d565b610fdf565b600154600160a01b90046001600160601b031661032a565b610254610250366004612e67565b61048e610ff5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546102fb565b610547610542366004612e95565b61110f565b604080519586526020860194909452928401919091526060830152608082015260a001610239565b6102c76040518060400160405280600e81526020016d50726f647563745365727669636560901b81525081565b6102546105aa366004612f1d565b6111ed565b6105b7611347565b6040516001600160401b039091168152602001610239565b6102546105dd366004612fae565b611368565b61026f6105f0366004612fe3565b6114d5565b610254610603366004612da4565b611526565b61032a610616366004612ffc565b61153b565b61048e611658565b61048e61170d565b610633611785565b60405160ff9091168152602001610239565b610254610653366004612f1d565b611808565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190613098565b905090565b6106ea612964565b606060007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806107366001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161077e610ff5565b6001600160a01b0316815260200182600101805461079b906130b5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c7906130b5565b80156108145780601f106107e957610100808354040283529160200191610814565b820191906000526020600020905b8154815290600101906020018083116107f757829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb91906130ff565b15610902576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b031661092b5760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099891906130ff565b6109c0576040516372657a5160e01b81526001600160a01b03821660048201526024016108f9565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e9190613127565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6000818082610a6582611911565b60ff8116600090815260036020908152604080832054815163379ed74560e21b815291519495506001600160401b0316933393926001600160a01b0388169263de7b5d1492600480830193928290030181865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190613144565b9050610af861170d565b6001600160a01b0316639c12c9c78385846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190613127565b6040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526001600160401b0390911660248301526001600160601b03166044820152606401602060405180830381865afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf091906130ff565b610c27576040516351302f8160e01b81526001600160401b03841660048201526001600160a01b03831660248201526044016108f9565b33886000610c3482611911565b90506000610c40611658565b9050610c4a612964565b6060610c5e8460785b60ff90811691161490565b15610ce657604051638fbc2d8160e01b81526001600160a01b0386811660048301528781166024830152841690638fbc2d81906044015b6000604051808303816000875af1158015610cb4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cdc9190810190613269565b9092509050610d90565b610cf184606e610c53565b15610d2c57604051635d96628960e01b81526001600160a01b0386811660048301528781166024830152841690635d96628990604401610c95565b610d3784608c610c53565b15610d7257604051637286e5e560e01b81526001600160a01b0386811660048301528781166024830152841690637286e5e590604401610c95565b60405163062839b560e01b815260ff851660048201526024016108f9565b81519c506000610d9f83611986565b9050610dac8e8383611a28565b50505050505050505050505050919050565b6000610dca606e611a9d565b5050505050565b6000806000805160206137e183398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d91906132c2565b1192915050565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af4158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd91906132c2565b90506000610f0b8583611d5b565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af4158015610f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8291906132c2565b925050505b92915050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233343a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b60648201526084016108f9565b600080610fec606e611a9d565b50505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561105a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107e91906130ff565b156110ff57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a906024015b602060405180830381865afa1580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190613144565b506002546001600160a01b031690565b600080600080600080611120611d77565b90506000816001600160a01b0316635e78426b8d8f8e8e6040518563ffffffff1660e01b815260040161115694939291906132db565b602060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119791906132c2565b90506111a581838b8b611d96565b929850909650945092506111b98682613316565b96506111c58486613316565b6111cf9088613316565b96506111db8388613316565b96505050965096509650965096915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61120f610658565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561124f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611273919061334c565b6000805160206137c18339815191528054600160401b900460ff16806112a6575080546001600160401b03808416911610155b156112c45760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556112ef8585611e0e565b6112f8836120ad565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006106dd6000805160206137c1833981519152546001600160401b031690565b600080611375606e611a9d565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113dd9190613144565b835160405163242bdc1960e21b81526001600160601b0382166004820152919250906000906001600160a01b038416906390af70649060240161020060405180830381865afa158015611434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114589190613399565b60a0810188905260c08101879052604051631931576760e21b81529091506001600160a01b038516906364c55d9c9061149a908590859060ff9060040161356c565b600060405180830381600087803b1580156114b457600080fd5b505af11580156114c8573d6000803e3d6000fd5b5050505050505050505050565b60006000805160206137e183398151915260010182815481106114fa576114fa61359c565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080611533606e611a9d565b505050505050565b60008080611549606e611a9d565b91509150611555611658565b6001600160a01b0316635c992fed6040518060e00160405280611576600090565b6001600160601b039081168252865116602082015260400160d260ff16815260200160001515815260200160006001600160a01b031681526020018d6001600160a01b03168152602001604051806020016040528060008152508152506040518263ffffffff1660e01b81526004016115ef91906135b2565b6020604051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190613127565b925060006116448a8a8a8a8a8a61110f565b505050509050505050979650505050505050565b60008061166d6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611683611785565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156116e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190613144565b60006117216001546001600160a01b031690565b6001600160a01b031663a3bcd81d611737611785565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e496e7374616e63655365727669636560881b606482015260ff90911660248201526084016110be565b600061178f610658565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd91906135c5565b6000805160206137c18339815191528054600160401b810460ff1615906001600160401b031660008115801561183b5750825b90506000826001600160401b031660011480156118575750303b155b905081158015611865575080155b156118835760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156118ad57845460ff60401b1916600160401b1785555b6118b78888611e0e565b6118c187876120b5565b831561190757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b600080826001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611952573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261197a9190810190613269565b50604001519392505050565b60008061199b6001546001600160a01b031690565b60208401516040516305247a1760e51b81526001600160601b0390911660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156119f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a1c91908101906135e2565b60800151949350505050565b600082806020019051810190611a3e9190613399565b604051637353912760e01b81529091506001600160a01b03831690637353912790611a6f9087908590600401613616565b600060405180830381600087803b158015611a8957600080fd5b505af1158015611907573d6000803e3d6000fd5b611aa5612964565b600154604051636939560f60e11b815233600482015260009182916001600160a01b039091169063d272ac1e90602401602060405180830381865afa158015611af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b169190613127565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9591906130ff565b611be15760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e00000000000000000060448201526064016108f9565b6001546001600160a01b03166040516305247a1760e51b81526001600160601b03831660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611c3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c6491908101906135e2565b9250611c7a83604001518560ff90811691161490565b611cbc5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016108f9565b6000611cd06001546001600160a01b031690565b60208501516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611d25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d4d91908101906135e2565b608001519395939450505050565b6000611d708383670de0b6b3a764000061220a565b9392505050565b6000611d81612964565b611d8b606e611a9d565b506080015192915050565b6000806000806000876001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e009190613144565b905050945094509450949050565b611e166122f3565b6000805160206137e18339815191526000611e466000805160206137c1833981519152546001600160401b031690565b90506000611e52610658565b9050816001600160401b0316600103611e7f5760028301805462ffffff191662ffffff8316179055611ecd565b600283015462ffffff90811690821611611ecd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016108f9565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015611f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa59190613634565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906113389083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101fb6122f3565b6000805160206137c18339815191528054600160401b810460ff1615906001600160401b03166000811580156120e85750825b90506000826001600160401b031660011480156121045750303b155b905081158015612112575080155b156121305760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561215a57845460ff60401b1916600160401b1785555b6000868060200190518101906121709190613651565b600480546001600160a01b039093166001600160a01b031990931683179055915061219b908961232c565b6121ab631b4612f160e31b612482565b6121bb637fc6295b60e01b612482565b508315610fec57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a150505050505050565b60008080600019858709858702925082811083820303915050806000036122445783828161223a5761223a613680565b0492505050611d70565b80841161228b5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016108f9565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000805160206137c183398151915254600160401b900460ff1661232a57604051631afcd79f60e31b815260040160405180910390fd5b565b61233682826124a7565b61233e61252c565b606e60005260036020527f0de2b21138735878e0660eef23d1131fad23d66157bfa1c473a82b60c5169926805467ffffffffffffffff19166001600160401b03929092169190911790556123906125a5565b608c60005260036020527f83339eadc78535e76a031a9a544cf6fa252296becf88992d49fad5f832544a38805467ffffffffffffffff19166001600160401b03929092169190911790556123e26125e1565b607860005260036020527fe372c44748f4c2908ae7c0a1dc553464478b0394f70953faecd55173b039317c805467ffffffffffffffff19166001600160401b039290921691909117905561243461261c565b608260005260036020527fc3d073881ce0daff4d900012573fe3b8d5b283519b2f509e59d1b978e7cf0fc5805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b60006124d460408051808201909152600e81526d50726f647563745365727669636560901b602082015290565b6124dc611785565b6040516020016124ed929190613696565b6040516020818303038152906040529050600061250984612657565b9050600061251c8583603c8488886126c2565b610dca631b4612f160e31b612482565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd919061334c565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa15801561269e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190613127565b6127036301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61270d828761278e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b8615150217815590506001810161277d8382613701565b50610fec6303fb044760e21b612482565b6001600160a01b0382166127e45760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064016108f9565b600280546001600160a01b0319166001600160a01b038416179055610250816001546001600160a01b03161561283c5760015460405163fcdbf2d960e01b81526001600160a01b0390911660048201526024016108f9565b6001600160a01b0381166128635760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036128995760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108f9565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526376ceea7360e01b60048201526301ffc9a790602401602060405180830381865afa925050508015612913575060408051601f3d908101601f19168201909252612910918101906130ff565b60015b61293b5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108f9565b806102505760405163fdeac91f60e01b81526001600160a01b03831660048201526024016108f9565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6000602082840312156129b457600080fd5b81356001600160e01b031981168114611d7057600080fd5b6001600160c01b03198116811461026457600080fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a1a57612a1a6129e2565b60405290565b60405160e081016001600160401b0381118282101715612a1a57612a1a6129e2565b60405161014081016001600160401b0381118282101715612a1a57612a1a6129e2565b604051601f8201601f191681016001600160401b0381118282101715612a8d57612a8d6129e2565b604052919050565b60006001600160401b03821115612aae57612aae6129e2565b50601f01601f191660200190565b600082601f830112612acd57600080fd5b8135612ae0612adb82612a95565b612a65565b818152846020838601011115612af557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612b2557600080fd5b8235612b30816129cc565b915060208301356001600160401b03811115612b4b57600080fd5b612b5785828601612abc565b9150509250929050565b6001600160601b038116811461026457600080fd5b600060208284031215612b8857600080fd5b8135611d7081612b61565b60005b83811015612bae578181015183820152602001612b96565b50506000910152565b60008151808452612bcf816020860160208601612b93565b601f01601f19169290920160200192915050565b60006001600160601b038083511684528060208401511660208501525060ff6040830151166040840152606082015115156060840152608082015160018060a01b0380821660808601528060a08501511660a0860152505060c082015160e060c0850152612c5460e0850182612bb7565b949350505050565b604081526000612c6f6040830185612be3565b8281036020840152612c818185612bb7565b95945050505050565b602081526000611d706020830184612bb7565b60008060408385031215612cb057600080fd5b8235612cbb816129cc565b915060208301356001600160401b0380821115612cd757600080fd5b9084019060408287031215612ceb57600080fd5b612cf36129f8565b8235612cfe81612b61565b8152602083013582811115612d1257600080fd5b612d1e88828601612abc565b6020830152508093505050509250929050565b6001600160a01b038116811461026457600080fd5b600060208284031215612d5857600080fd5b8135611d7081612d31565b62ffffff8116811461026457600080fd5b600060208284031215612d8657600080fd5b8135611d7081612d63565b64ffffffffff8116811461026457600080fd5b60008060408385031215612db757600080fd5b8235612dc281612b61565b91506020830135612dd281612d91565b809150509250929050565b60008060408385031215612df057600080fd5b50508035926020909101359150565b801515811461026457600080fd5b600080600060608486031215612e2257600080fd5b8335612e2d81612b61565b92506020840135612e3d81612dff565b91506040840135612e4d81612d91565b809150509250925092565b60ff8116811461026457600080fd5b60008060408385031215612e7a57600080fd5b8235612e85816129cc565b91506020830135612dd281612e58565b60008060008060008060c08789031215612eae57600080fd5b8635612eb9816129cc565b9550602087013594506040870135935060608701356001600160401b03811115612ee257600080fd5b612eee89828a01612abc565b9350506080870135612eff81612b61565b915060a0870135612f0f816129cc565b809150509295509295509295565b600080600060608486031215612f3257600080fd5b8335612f3d81612d31565b92506020840135612f4d81612d31565b915060408401356001600160401b03811115612f6857600080fd5b612f7486828701612abc565b9150509250925092565b600060408284031215612f9057600080fd5b612f986129f8565b9050813581526020820135602082015292915050565b60008060808385031215612fc157600080fd5b612fcb8484612f7e565b9150612fda8460408501612f7e565b90509250929050565b600060208284031215612ff557600080fd5b5035919050565b600080600080600080600060e0888a03121561301757600080fd5b873561302281612d31565b96506020880135613032816129cc565b9550604088013594506060880135935060808801356001600160401b0381111561305b57600080fd5b6130678a828b01612abc565b93505060a088013561307881612b61565b915060c0880135613088816129cc565b8091505092959891949750929550565b6000602082840312156130aa57600080fd5b8151611d7081612d63565b600181811c908216806130c957607f821691505b6020821081036130e957634e487b7160e01b600052602260045260246000fd5b50919050565b80516130fa81612dff565b919050565b60006020828403121561311157600080fd5b8151611d7081612dff565b80516130fa81612b61565b60006020828403121561313957600080fd5b8151611d7081612b61565b60006020828403121561315657600080fd5b8151611d7081612d31565b80516130fa81612e58565b80516130fa81612d31565b600082601f83011261318857600080fd5b8151613196612adb82612a95565b8181528460208386010111156131ab57600080fd5b612c54826020830160208701612b93565b600060e082840312156131ce57600080fd5b6131d6612a20565b90506131e18261311c565b81526131ef6020830161311c565b602082015261320060408301613161565b6040820152613211606083016130ef565b60608201526132226080830161316c565b608082015261323360a0830161316c565b60a082015260c08201516001600160401b0381111561325157600080fd5b61325d84828501613177565b60c08301525092915050565b6000806040838503121561327c57600080fd5b82516001600160401b038082111561329357600080fd5b61329f868387016131bc565b935060208501519150808211156132b557600080fd5b50612b5785828601613177565b6000602082840312156132d457600080fd5b5051919050565b8481526001600160401b0360c01b8416602082015282604082015260806060820152600061330c6080830184612bb7565b9695505050505050565b80820180821115610f8757634e487b7160e01b600052601160045260246000fd5b6001600160401b038116811461026457600080fd5b60006020828403121561335e57600080fd5b8151611d7081613337565b60006040828403121561337b57600080fd5b6133836129f8565b9050815181526020820151602082015292915050565b600061020082840312156133ac57600080fd5b6133b4612a42565b6133bd8361316c565b81526133cb6020840161316c565b60208201526133dc6040840161311c565b60408201526133ed6060840161311c565b60608201526133ff8460808501613369565b60808201526134118460c08501613369565b60a082015261010061342585828601613369565b60c0830152613438856101408601613369565b60e083015261344b856101808601613369565b9082015261345d846101c08501613369565b6101208201529392505050565b80516001600160a01b03168252602081015161349160208401826001600160a01b03169052565b5060408101516134ac60408401826001600160601b03169052565b5060608101516134c760608401826001600160601b03169052565b5060808101516134e4608084018280518252602090810151910152565b5060a0810151805160c0840152602081015160e08401525060c081015161010061351a8185018380518252602090810151910152565b60e0830151805161014086015260208101516101608601529150820151805161018085015260208101516101a0850152905050610120015180516101c0830152602001516101e090910152565b505050565b6001600160601b0384168152610240810161358a602083018561346a565b60ff8316610220830152949350505050565b634e487b7160e01b600052603260045260246000fd5b602081526000611d706020830184612be3565b6000602082840312156135d757600080fd5b8151611d7081612e58565b6000602082840312156135f457600080fd5b81516001600160401b0381111561360a57600080fd5b612c54848285016131bc565b6001600160601b03831681526102208101611d70602083018461346a565b60006020828403121561364657600080fd5b8151611d7081612d91565b6000806040838503121561366457600080fd5b825161366f81612d31565b6020840151909250612dd281612d31565b634e487b7160e01b600052601260045260246000fd5b6040815260006136a96040830185612bb7565b905060ff831660208301529392505050565b601f82111561356757600081815260208120601f850160051c810160208610156136e25750805b601f850160051c820191505b81811015611533578281556001016136ee565b81516001600160401b0381111561371a5761371a6129e2565b61372e8161372884546130b5565b846136bb565b602080601f831160018114613763576000841561374b5750858301515b600019600386901b1c1916600185901b178555611533565b600085815260208120601f198616915b8281101561379257888601518255948401946001909101908401613773565b50858210156137b05787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212208c5ffdb87267022e8b5aa7d78ddc86fa404f7ce1dc77a73cf3b9bb6f842a6b2e64736f6c63430008140033",
         
     | 
| 
      
 893 
     | 
    
         
            +
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063630361f61161011a578063b3c65015116100ad578063c2c749871161007c578063c2c7498714610608578063caf4e3d41461061b578063cc9fc59a14610623578063cde749f41461062b578063cf7a1d771461064557600080fd5b8063b3c65015146105af578063b6b412ba146105cf578063b88da759146105e2578063bbfbbfba146105f557600080fd5b8063946dfcfe116100e9578063946dfcfe1461050d5780639cdaa7f914610534578063a3f4df7e1461056f578063a745e3df1461059c57600080fd5b8063630361f6146104cc578063644c45e0146104df5780637cef4842146104f7578063893d20e81461050557600080fd5b8063423eb9fa116101925780634f421333116101615780634f4213331461046e5780635ab1bd53146104815780635fd1a5f5146104a6578063603ccaad146104b957600080fd5b8063423eb9fa146103095780634420e486146103175780634d459c90146103425780634d5e16a91461045b57600080fd5b80630fec111c116101ce5780630fec111c14610283578063138461e01461029957806317d7de7c146102a15780631eff4b22146102d457600080fd5b806301ffc9a714610200578063095e2b72146102425780630aaba8e8146102565780630d8e6e2c14610267575b600080fd5b61022d61020e3660046129a2565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610254610250366004612b12565b5050565b005b610254610264366004612b76565b50565b61026f610658565b60405162ffffff9091168152602001610239565b61028b6106e2565b604051610239929190612c5c565b610254610835565b60408051808201909152600e81526d50726f647563745365727669636560901b60208201525b6040516102399190612c8a565b6102fb7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610239565b610254610250366004612c9d565b61032a610325366004612d46565b610a57565b6040516001600160601b039091168152602001610239565b6103fe610350366004612d74565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526000805160206137e183398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610239565b610254610469366004612da4565b610dbe565b61022d61047c366004612d74565b610dd1565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610239565b6102fb6104b4366004612ddd565b610e84565b6102546104c7366004612b76565b610f8d565b6102546104da366004612e0d565b610fdf565b600154600160a01b90046001600160601b031661032a565b610254610250366004612e67565b61048e610ff5565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546102fb565b610547610542366004612e95565b61110f565b604080519586526020860194909452928401919091526060830152608082015260a001610239565b6102c76040518060400160405280600e81526020016d50726f647563745365727669636560901b81525081565b6102546105aa366004612f1d565b6111ed565b6105b7611347565b6040516001600160401b039091168152602001610239565b6102546105dd366004612fae565b611368565b61026f6105f0366004612fe3565b6114d5565b610254610603366004612da4565b611526565b61032a610616366004612ffc565b61153b565b61048e611658565b61048e61170d565b610633611785565b60405160ff9091168152602001610239565b610254610653366004612f1d565b611808565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156106b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190613098565b905090565b6106ea612964565b606060007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806107366001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161077e610ff5565b6001600160a01b0316815260200182600101805461079b906130b5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c7906130b5565b80156108145780601f106107e957610100808354040283529160200191610814565b820191906000526020600020905b8154815290600101906020018083116107f757829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb91906130ff565b15610902576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b031661092b5760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610974573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099891906130ff565b6109c0576040516372657a5160e01b81526001600160a01b03821660048201526024016108f9565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e9190613127565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b6000818082610a6582611911565b60ff8116600090815260036020908152604080832054815163379ed74560e21b815291519495506001600160401b0316933393926001600160a01b0388169263de7b5d1492600480830193928290030181865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190613144565b9050610af861170d565b6001600160a01b0316639c12c9c78385846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190613127565b6040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526001600160401b0390911660248301526001600160601b03166044820152606401602060405180830381865afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf091906130ff565b610c27576040516351302f8160e01b81526001600160401b03841660048201526001600160a01b03831660248201526044016108f9565b33886000610c3482611911565b90506000610c40611658565b9050610c4a612964565b6060610c5e8460785b60ff90811691161490565b15610ce657604051638fbc2d8160e01b81526001600160a01b0386811660048301528781166024830152841690638fbc2d81906044015b6000604051808303816000875af1158015610cb4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cdc9190810190613269565b9092509050610d90565b610cf184606e610c53565b15610d2c57604051635d96628960e01b81526001600160a01b0386811660048301528781166024830152841690635d96628990604401610c95565b610d3784608c610c53565b15610d7257604051637286e5e560e01b81526001600160a01b0386811660048301528781166024830152841690637286e5e590604401610c95565b60405163062839b560e01b815260ff851660048201526024016108f9565b81519c506000610d9f83611986565b9050610dac8e8383611a28565b50505050505050505050505050919050565b6000610dca606e611a9d565b5050505050565b6000806000805160206137e183398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af4158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d91906132c2565b1192915050565b6040516322f5db0f60e11b815260048101829052600090819073__$5ac3274b8cf1e01ea223bf093142af05b0$__906345ebb61e90602401602060405180830381865af4158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd91906132c2565b90506000610f0b8583611d5b565b604051632255341b60e11b81526004810182905290915073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af4158015610f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8291906132c2565b925050505b92915050565b60405162461bcd60e51b815260206004820152602160248201527f4552524f523a5052532d3233343a4e4f545f5945545f494d504c454d454e54456044820152601160fa1b60648201526084016108f9565b600080610fec606e611a9d565b50505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561105a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107e91906130ff565b156110ff57600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a906024015b602060405180830381865afa1580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd9190613144565b506002546001600160a01b031690565b600080600080600080611120611d77565b90506000816001600160a01b0316635e78426b8d8f8e8e6040518563ffffffff1660e01b815260040161115694939291906132db565b602060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119791906132c2565b90506111a581838b8b611d96565b929850909650945092506111b98682613316565b96506111c58486613316565b6111cf9088613316565b96506111db8388613316565b96505050965096509650965096915050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c61120f610658565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af415801561124f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611273919061334c565b6000805160206137c18339815191528054600160401b900460ff16806112a6575080546001600160401b03808416911610155b156112c45760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b1781556112ef8585611e0e565b6112f8836120ad565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006106dd6000805160206137c1833981519152546001600160401b031690565b600080611375606e611a9d565b915091506000816001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113dd9190613144565b835160405163242bdc1960e21b81526001600160601b0382166004820152919250906000906001600160a01b038416906390af70649060240161020060405180830381865afa158015611434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114589190613399565b60a0810188905260c08101879052604051631931576760e21b81529091506001600160a01b038516906364c55d9c9061149a908590859060ff9060040161356c565b600060405180830381600087803b1580156114b457600080fd5b505af11580156114c8573d6000803e3d6000fd5b5050505050505050505050565b60006000805160206137e183398151915260010182815481106114fa576114fa61359c565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600080611533606e611a9d565b505050505050565b60008080611549606e611a9d565b91509150611555611658565b6001600160a01b0316635c992fed6040518060e00160405280611576600090565b6001600160601b039081168252865116602082015260400160d260ff16815260200160001515815260200160006001600160a01b031681526020018d6001600160a01b03168152602001604051806020016040528060008152508152506040518263ffffffff1660e01b81526004016115ef91906135b2565b6020604051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190613127565b925060006116448a8a8a8a8a8a61110f565b505050509050505050979650505050505050565b60008061166d6001546001600160a01b031690565b6001600160a01b031663a3bcd81d611683611785565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e52656769737472795365727669636560881b606482015260ff9091166024820152608401602060405180830381865afa1580156116e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190613144565b60006117216001546001600160a01b031690565b6001600160a01b031663a3bcd81d611737611785565b604080516001600160e01b031960e085901b1681526004810191909152600f60448201526e496e7374616e63655365727669636560881b606482015260ff90911660248201526084016110be565b600061178f610658565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd91906135c5565b6000805160206137c18339815191528054600160401b810460ff1615906001600160401b031660008115801561183b5750825b90506000826001600160401b031660011480156118575750303b155b905081158015611865575080155b156118835760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156118ad57845460ff60401b1916600160401b1785555b6118b78888611e0e565b6118c187876120b5565b831561190757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b600080826001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611952573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261197a9190810190613269565b50604001519392505050565b60008061199b6001546001600160a01b031690565b60208401516040516305247a1760e51b81526001600160601b0390911660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156119f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a1c91908101906135e2565b60800151949350505050565b600082806020019051810190611a3e9190613399565b604051637353912760e01b81529091506001600160a01b03831690637353912790611a6f9087908590600401613616565b600060405180830381600087803b158015611a8957600080fd5b505af1158015611907573d6000803e3d6000fd5b611aa5612964565b600154604051636939560f60e11b815233600482015260009182916001600160a01b039091169063d272ac1e90602401602060405180830381865afa158015611af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b169190613127565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9591906130ff565b611be15760405162461bcd60e51b815260206004820152601760248201527f4552524f525f434f4d504f4e454e545f554e4b4e4f574e00000000000000000060448201526064016108f9565b6001546001600160a01b03166040516305247a1760e51b81526001600160601b03831660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611c3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c6491908101906135e2565b9250611c7a83604001518560ff90811691161490565b611cbc5760405162461bcd60e51b815260206004820152601360248201527213d0929150d517d516541157d2539590531251606a1b60448201526064016108f9565b6000611cd06001546001600160a01b031690565b60208501516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa158015611d25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d4d91908101906135e2565b608001519395939450505050565b6000611d708383670de0b6b3a764000061220a565b9392505050565b6000611d81612964565b611d8b606e611a9d565b506080015192915050565b6000806000806000876001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e009190613144565b905050945094509450949050565b611e166122f3565b6000805160206137e18339815191526000611e466000805160206137c1833981519152546001600160401b031690565b90506000611e52610658565b9050816001600160401b0316600103611e7f5760028301805462ffffff191662ffffff8316179055611ecd565b600283015462ffffff90811690821611611ecd5760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016108f9565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015611f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa59190613634565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf68906113389083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101fb6122f3565b6000805160206137c18339815191528054600160401b810460ff1615906001600160401b03166000811580156120e85750825b90506000826001600160401b031660011480156121045750303b155b905081158015612112575080155b156121305760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561215a57845460ff60401b1916600160401b1785555b6000868060200190518101906121709190613651565b600480546001600160a01b039093166001600160a01b031990931683179055915061219b908961232c565b6121ab631b4612f160e31b612482565b6121bb637fc6295b60e01b612482565b508315610fec57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a150505050505050565b60008080600019858709858702925082811083820303915050806000036122445783828161223a5761223a613680565b0492505050611d70565b80841161228b5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016108f9565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000805160206137c183398151915254600160401b900460ff1661232a57604051631afcd79f60e31b815260040160405180910390fd5b565b61233682826124a7565b61233e61252c565b606e60005260036020527f0de2b21138735878e0660eef23d1131fad23d66157bfa1c473a82b60c5169926805467ffffffffffffffff19166001600160401b03929092169190911790556123906125a5565b608c60005260036020527f83339eadc78535e76a031a9a544cf6fa252296becf88992d49fad5f832544a38805467ffffffffffffffff19166001600160401b03929092169190911790556123e26125e1565b607860005260036020527fe372c44748f4c2908ae7c0a1dc553464478b0394f70953faecd55173b039317c805467ffffffffffffffff19166001600160401b039290921691909117905561243461261c565b608260005260036020527fc3d073881ce0daff4d900012573fe3b8d5b283519b2f509e59d1b978e7cf0fc5805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b60006124d460408051808201909152600e81526d50726f647563745365727669636560901b602082015290565b6124dc611785565b6040516020016124ed929190613696565b6040516020818303038152906040529050600061250984612657565b9050600061251c8583603c8488886126c2565b610dca631b4612f160e31b612482565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af4158015612581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106dd919061334c565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b6040516368aebf7b60e01b815260c8600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401612564565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa15801561269e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190613127565b6127036301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61270d828761278e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b8615150217815590506001810161277d8382613701565b50610fec6303fb044760e21b612482565b6001600160a01b0382166127e45760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064016108f9565b600280546001600160a01b0319166001600160a01b038416179055610250816001546001600160a01b03161561283c5760015460405163fcdbf2d960e01b81526001600160a01b0390911660048201526024016108f9565b6001600160a01b0381166128635760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036128995760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108f9565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526376ceea7360e01b60048201526301ffc9a790602401602060405180830381865afa925050508015612913575060408051601f3d908101601f19168201909252612910918101906130ff565b60015b61293b5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016108f9565b806102505760405163fdeac91f60e01b81526001600160a01b03831660048201526024016108f9565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6000602082840312156129b457600080fd5b81356001600160e01b031981168114611d7057600080fd5b6001600160c01b03198116811461026457600080fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a1a57612a1a6129e2565b60405290565b60405160e081016001600160401b0381118282101715612a1a57612a1a6129e2565b60405161014081016001600160401b0381118282101715612a1a57612a1a6129e2565b604051601f8201601f191681016001600160401b0381118282101715612a8d57612a8d6129e2565b604052919050565b60006001600160401b03821115612aae57612aae6129e2565b50601f01601f191660200190565b600082601f830112612acd57600080fd5b8135612ae0612adb82612a95565b612a65565b818152846020838601011115612af557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612b2557600080fd5b8235612b30816129cc565b915060208301356001600160401b03811115612b4b57600080fd5b612b5785828601612abc565b9150509250929050565b6001600160601b038116811461026457600080fd5b600060208284031215612b8857600080fd5b8135611d7081612b61565b60005b83811015612bae578181015183820152602001612b96565b50506000910152565b60008151808452612bcf816020860160208601612b93565b601f01601f19169290920160200192915050565b60006001600160601b038083511684528060208401511660208501525060ff6040830151166040840152606082015115156060840152608082015160018060a01b0380821660808601528060a08501511660a0860152505060c082015160e060c0850152612c5460e0850182612bb7565b949350505050565b604081526000612c6f6040830185612be3565b8281036020840152612c818185612bb7565b95945050505050565b602081526000611d706020830184612bb7565b60008060408385031215612cb057600080fd5b8235612cbb816129cc565b915060208301356001600160401b0380821115612cd757600080fd5b9084019060408287031215612ceb57600080fd5b612cf36129f8565b8235612cfe81612b61565b8152602083013582811115612d1257600080fd5b612d1e88828601612abc565b6020830152508093505050509250929050565b6001600160a01b038116811461026457600080fd5b600060208284031215612d5857600080fd5b8135611d7081612d31565b62ffffff8116811461026457600080fd5b600060208284031215612d8657600080fd5b8135611d7081612d63565b64ffffffffff8116811461026457600080fd5b60008060408385031215612db757600080fd5b8235612dc281612b61565b91506020830135612dd281612d91565b809150509250929050565b60008060408385031215612df057600080fd5b50508035926020909101359150565b801515811461026457600080fd5b600080600060608486031215612e2257600080fd5b8335612e2d81612b61565b92506020840135612e3d81612dff565b91506040840135612e4d81612d91565b809150509250925092565b60ff8116811461026457600080fd5b60008060408385031215612e7a57600080fd5b8235612e85816129cc565b91506020830135612dd281612e58565b60008060008060008060c08789031215612eae57600080fd5b8635612eb9816129cc565b9550602087013594506040870135935060608701356001600160401b03811115612ee257600080fd5b612eee89828a01612abc565b9350506080870135612eff81612b61565b915060a0870135612f0f816129cc565b809150509295509295509295565b600080600060608486031215612f3257600080fd5b8335612f3d81612d31565b92506020840135612f4d81612d31565b915060408401356001600160401b03811115612f6857600080fd5b612f7486828701612abc565b9150509250925092565b600060408284031215612f9057600080fd5b612f986129f8565b9050813581526020820135602082015292915050565b60008060808385031215612fc157600080fd5b612fcb8484612f7e565b9150612fda8460408501612f7e565b90509250929050565b600060208284031215612ff557600080fd5b5035919050565b600080600080600080600060e0888a03121561301757600080fd5b873561302281612d31565b96506020880135613032816129cc565b9550604088013594506060880135935060808801356001600160401b0381111561305b57600080fd5b6130678a828b01612abc565b93505060a088013561307881612b61565b915060c0880135613088816129cc565b8091505092959891949750929550565b6000602082840312156130aa57600080fd5b8151611d7081612d63565b600181811c908216806130c957607f821691505b6020821081036130e957634e487b7160e01b600052602260045260246000fd5b50919050565b80516130fa81612dff565b919050565b60006020828403121561311157600080fd5b8151611d7081612dff565b80516130fa81612b61565b60006020828403121561313957600080fd5b8151611d7081612b61565b60006020828403121561315657600080fd5b8151611d7081612d31565b80516130fa81612e58565b80516130fa81612d31565b600082601f83011261318857600080fd5b8151613196612adb82612a95565b8181528460208386010111156131ab57600080fd5b612c54826020830160208701612b93565b600060e082840312156131ce57600080fd5b6131d6612a20565b90506131e18261311c565b81526131ef6020830161311c565b602082015261320060408301613161565b6040820152613211606083016130ef565b60608201526132226080830161316c565b608082015261323360a0830161316c565b60a082015260c08201516001600160401b0381111561325157600080fd5b61325d84828501613177565b60c08301525092915050565b6000806040838503121561327c57600080fd5b82516001600160401b038082111561329357600080fd5b61329f868387016131bc565b935060208501519150808211156132b557600080fd5b50612b5785828601613177565b6000602082840312156132d457600080fd5b5051919050565b8481526001600160401b0360c01b8416602082015282604082015260806060820152600061330c6080830184612bb7565b9695505050505050565b80820180821115610f8757634e487b7160e01b600052601160045260246000fd5b6001600160401b038116811461026457600080fd5b60006020828403121561335e57600080fd5b8151611d7081613337565b60006040828403121561337b57600080fd5b6133836129f8565b9050815181526020820151602082015292915050565b600061020082840312156133ac57600080fd5b6133b4612a42565b6133bd8361316c565b81526133cb6020840161316c565b60208201526133dc6040840161311c565b60408201526133ed6060840161311c565b60608201526133ff8460808501613369565b60808201526134118460c08501613369565b60a082015261010061342585828601613369565b60c0830152613438856101408601613369565b60e083015261344b856101808601613369565b9082015261345d846101c08501613369565b6101208201529392505050565b80516001600160a01b03168252602081015161349160208401826001600160a01b03169052565b5060408101516134ac60408401826001600160601b03169052565b5060608101516134c760608401826001600160601b03169052565b5060808101516134e4608084018280518252602090810151910152565b5060a0810151805160c0840152602081015160e08401525060c081015161010061351a8185018380518252602090810151910152565b60e0830151805161014086015260208101516101608601529150820151805161018085015260208101516101a0850152905050610120015180516101c0830152602001516101e090910152565b505050565b6001600160601b0384168152610240810161358a602083018561346a565b60ff8316610220830152949350505050565b634e487b7160e01b600052603260045260246000fd5b602081526000611d706020830184612be3565b6000602082840312156135d757600080fd5b8151611d7081612e58565b6000602082840312156135f457600080fd5b81516001600160401b0381111561360a57600080fd5b612c54848285016131bc565b6001600160601b03831681526102208101611d70602083018461346a565b60006020828403121561364657600080fd5b8151611d7081612d91565b6000806040838503121561366457600080fd5b825161366f81612d31565b6020840151909250612dd281612d31565b634e487b7160e01b600052601260045260246000fd5b6040815260006136a96040830185612bb7565b905060ff831660208301529392505050565b601f82111561356757600081815260208120601f850160051c810160208610156136e25750805b601f850160051c820191505b81811015611533578281556001016136ee565b81516001600160401b0381111561371a5761371a6129e2565b61372e8161372884546130b5565b846136bb565b602080601f831160018114613763576000841561374b5750858301515b600019600386901b1c1916600185901b178555611533565b600085815260208120601f198616915b8281101561379257888601518255948401946001909101908401613773565b50858210156137b05787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212208c5ffdb87267022e8b5aa7d78ddc86fa404f7ce1dc77a73cf3b9bb6f842a6b2e64736f6c63430008140033",
         
     | 
| 
      
 894 
     | 
    
         
            +
              "linkReferences": {
         
     | 
| 
      
 895 
     | 
    
         
            +
                "contracts/types/Blocknumber.sol": {
         
     | 
| 
      
 896 
     | 
    
         
            +
                  "BlocknumberLib": [
         
     | 
| 
       532 
897 
     | 
    
         
             
                    {
         
     | 
| 
       533 
898 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       534 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 899 
     | 
    
         
            +
                      "start": 3929
         
     | 
| 
       535 
900 
     | 
    
         
             
                    }
         
     | 
| 
       536 
901 
     | 
    
         
             
                  ]
         
     | 
| 
       537 
902 
     | 
    
         
             
                },
         
     | 
| 
         @@ -539,43 +904,55 @@ 
     | 
|
| 
       539 
904 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       540 
905 
     | 
    
         
             
                    {
         
     | 
| 
       541 
906 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       542 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 907 
     | 
    
         
            +
                      "start": 2455
         
     | 
| 
      
 908 
     | 
    
         
            +
                    },
         
     | 
| 
      
 909 
     | 
    
         
            +
                    {
         
     | 
| 
      
 910 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 911 
     | 
    
         
            +
                      "start": 4442
         
     | 
| 
      
 912 
     | 
    
         
            +
                    },
         
     | 
| 
      
 913 
     | 
    
         
            +
                    {
         
     | 
| 
      
 914 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 915 
     | 
    
         
            +
                      "start": 7281
         
     | 
| 
       543 
916 
     | 
    
         
             
                    }
         
     | 
| 
       544 
917 
     | 
    
         
             
                  ]
         
     | 
| 
       545 
918 
     | 
    
         
             
                },
         
     | 
| 
       546 
     | 
    
         
            -
                "contracts/types/ 
     | 
| 
       547 
     | 
    
         
            -
                  " 
     | 
| 
      
 919 
     | 
    
         
            +
                "contracts/types/RoleId.sol": {
         
     | 
| 
      
 920 
     | 
    
         
            +
                  "RoleIdLib": [
         
     | 
| 
       548 
921 
     | 
    
         
             
                    {
         
     | 
| 
       549 
922 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       550 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 923 
     | 
    
         
            +
                      "start": 9856
         
     | 
| 
       551 
924 
     | 
    
         
             
                    },
         
     | 
| 
       552 
925 
     | 
    
         
             
                    {
         
     | 
| 
       553 
926 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       554 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 927 
     | 
    
         
            +
                      "start": 9977
         
     | 
| 
       555 
928 
     | 
    
         
             
                    },
         
     | 
| 
       556 
929 
     | 
    
         
             
                    {
         
     | 
| 
       557 
930 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       558 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 931 
     | 
    
         
            +
                      "start": 10036
         
     | 
| 
       559 
932 
     | 
    
         
             
                    },
         
     | 
| 
       560 
933 
     | 
    
         
             
                    {
         
     | 
| 
       561 
934 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       562 
     | 
    
         
            -
                      "start":  
     | 
| 
       563 
     | 
    
         
            -
                    } 
     | 
| 
      
 935 
     | 
    
         
            +
                      "start": 10095
         
     | 
| 
      
 936 
     | 
    
         
            +
                    }
         
     | 
| 
      
 937 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 938 
     | 
    
         
            +
                },
         
     | 
| 
      
 939 
     | 
    
         
            +
                "contracts/types/Timestamp.sol": {
         
     | 
| 
      
 940 
     | 
    
         
            +
                  "TimestampLib": [
         
     | 
| 
       564 
941 
     | 
    
         
             
                    {
         
     | 
| 
       565 
942 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       566 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 943 
     | 
    
         
            +
                      "start": 8321
         
     | 
| 
       567 
944 
     | 
    
         
             
                    }
         
     | 
| 
       568 
945 
     | 
    
         
             
                  ]
         
     | 
| 
       569 
946 
     | 
    
         
             
                },
         
     | 
| 
       570 
947 
     | 
    
         
             
                "contracts/types/UFixed.sol": {
         
     | 
| 
       571 
     | 
    
         
            -
                  " 
     | 
| 
      
 948 
     | 
    
         
            +
                  "UFixedLib": [
         
     | 
| 
       572 
949 
     | 
    
         
             
                    {
         
     | 
| 
       573 
950 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       574 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 951 
     | 
    
         
            +
                      "start": 4057
         
     | 
| 
       575 
952 
     | 
    
         
             
                    },
         
     | 
| 
       576 
953 
     | 
    
         
             
                    {
         
     | 
| 
       577 
954 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       578 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 955 
     | 
    
         
            +
                      "start": 4190
         
     | 
| 
       579 
956 
     | 
    
         
             
                    }
         
     | 
| 
       580 
957 
     | 
    
         
             
                  ]
         
     | 
| 
       581 
958 
     | 
    
         
             
                },
         
     | 
| 
         @@ -583,15 +960,15 @@ 
     | 
|
| 
       583 
960 
     | 
    
         
             
                  "VersionLib": [
         
     | 
| 
       584 
961 
     | 
    
         
             
                    {
         
     | 
| 
       585 
962 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       586 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 963 
     | 
    
         
            +
                      "start": 1977
         
     | 
| 
       587 
964 
     | 
    
         
             
                    },
         
     | 
| 
       588 
965 
     | 
    
         
             
                    {
         
     | 
| 
       589 
966 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       590 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 967 
     | 
    
         
            +
                      "start": 4905
         
     | 
| 
       591 
968 
     | 
    
         
             
                    },
         
     | 
| 
       592 
969 
     | 
    
         
             
                    {
         
     | 
| 
       593 
970 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       594 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 971 
     | 
    
         
            +
                      "start": 6372
         
     | 
| 
       595 
972 
     | 
    
         
             
                    }
         
     | 
| 
       596 
973 
     | 
    
         
             
                  ]
         
     | 
| 
       597 
974 
     | 
    
         
             
                }
         
     | 
| 
         @@ -601,15 +978,7 @@ 
     | 
|
| 
       601 
978 
     | 
    
         
             
                  "BlocknumberLib": [
         
     | 
| 
       602 
979 
     | 
    
         
             
                    {
         
     | 
| 
       603 
980 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       604 
     | 
    
         
            -
                      "start":  
     | 
| 
       605 
     | 
    
         
            -
                    }
         
     | 
| 
       606 
     | 
    
         
            -
                  ]
         
     | 
| 
       607 
     | 
    
         
            -
                },
         
     | 
| 
       608 
     | 
    
         
            -
                "contracts/types/Fee.sol": {
         
     | 
| 
       609 
     | 
    
         
            -
                  "FeeLib": [
         
     | 
| 
       610 
     | 
    
         
            -
                    {
         
     | 
| 
       611 
     | 
    
         
            -
                      "length": 20,
         
     | 
| 
       612 
     | 
    
         
            -
                      "start": 8373
         
     | 
| 
      
 981 
     | 
    
         
            +
                      "start": 3615
         
     | 
| 
       613 
982 
     | 
    
         
             
                    }
         
     | 
| 
       614 
983 
     | 
    
         
             
                  ]
         
     | 
| 
       615 
984 
     | 
    
         
             
                },
         
     | 
| 
         @@ -617,43 +986,55 @@ 
     | 
|
| 
       617 
986 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       618 
987 
     | 
    
         
             
                    {
         
     | 
| 
       619 
988 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       620 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 989 
     | 
    
         
            +
                      "start": 2141
         
     | 
| 
      
 990 
     | 
    
         
            +
                    },
         
     | 
| 
      
 991 
     | 
    
         
            +
                    {
         
     | 
| 
      
 992 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 993 
     | 
    
         
            +
                      "start": 4128
         
     | 
| 
      
 994 
     | 
    
         
            +
                    },
         
     | 
| 
      
 995 
     | 
    
         
            +
                    {
         
     | 
| 
      
 996 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 997 
     | 
    
         
            +
                      "start": 6967
         
     | 
| 
       621 
998 
     | 
    
         
             
                    }
         
     | 
| 
       622 
999 
     | 
    
         
             
                  ]
         
     | 
| 
       623 
1000 
     | 
    
         
             
                },
         
     | 
| 
       624 
     | 
    
         
            -
                "contracts/types/ 
     | 
| 
       625 
     | 
    
         
            -
                  " 
     | 
| 
      
 1001 
     | 
    
         
            +
                "contracts/types/RoleId.sol": {
         
     | 
| 
      
 1002 
     | 
    
         
            +
                  "RoleIdLib": [
         
     | 
| 
       626 
1003 
     | 
    
         
             
                    {
         
     | 
| 
       627 
1004 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       628 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1005 
     | 
    
         
            +
                      "start": 9542
         
     | 
| 
       629 
1006 
     | 
    
         
             
                    },
         
     | 
| 
       630 
1007 
     | 
    
         
             
                    {
         
     | 
| 
       631 
1008 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       632 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1009 
     | 
    
         
            +
                      "start": 9663
         
     | 
| 
       633 
1010 
     | 
    
         
             
                    },
         
     | 
| 
       634 
1011 
     | 
    
         
             
                    {
         
     | 
| 
       635 
1012 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       636 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1013 
     | 
    
         
            +
                      "start": 9722
         
     | 
| 
       637 
1014 
     | 
    
         
             
                    },
         
     | 
| 
       638 
1015 
     | 
    
         
             
                    {
         
     | 
| 
       639 
1016 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       640 
     | 
    
         
            -
                      "start":  
     | 
| 
       641 
     | 
    
         
            -
                    } 
     | 
| 
      
 1017 
     | 
    
         
            +
                      "start": 9781
         
     | 
| 
      
 1018 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1019 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 1020 
     | 
    
         
            +
                },
         
     | 
| 
      
 1021 
     | 
    
         
            +
                "contracts/types/Timestamp.sol": {
         
     | 
| 
      
 1022 
     | 
    
         
            +
                  "TimestampLib": [
         
     | 
| 
       642 
1023 
     | 
    
         
             
                    {
         
     | 
| 
       643 
1024 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       644 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1025 
     | 
    
         
            +
                      "start": 8007
         
     | 
| 
       645 
1026 
     | 
    
         
             
                    }
         
     | 
| 
       646 
1027 
     | 
    
         
             
                  ]
         
     | 
| 
       647 
1028 
     | 
    
         
             
                },
         
     | 
| 
       648 
1029 
     | 
    
         
             
                "contracts/types/UFixed.sol": {
         
     | 
| 
       649 
     | 
    
         
            -
                  " 
     | 
| 
      
 1030 
     | 
    
         
            +
                  "UFixedLib": [
         
     | 
| 
       650 
1031 
     | 
    
         
             
                    {
         
     | 
| 
       651 
1032 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       652 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1033 
     | 
    
         
            +
                      "start": 3743
         
     | 
| 
       653 
1034 
     | 
    
         
             
                    },
         
     | 
| 
       654 
1035 
     | 
    
         
             
                    {
         
     | 
| 
       655 
1036 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       656 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1037 
     | 
    
         
            +
                      "start": 3876
         
     | 
| 
       657 
1038 
     | 
    
         
             
                    }
         
     | 
| 
       658 
1039 
     | 
    
         
             
                  ]
         
     | 
| 
       659 
1040 
     | 
    
         
             
                },
         
     | 
| 
         @@ -661,11 +1042,15 @@ 
     | 
|
| 
       661 
1042 
     | 
    
         
             
                  "VersionLib": [
         
     | 
| 
       662 
1043 
     | 
    
         
             
                    {
         
     | 
| 
       663 
1044 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       664 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1045 
     | 
    
         
            +
                      "start": 1663
         
     | 
| 
      
 1046 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1047 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1048 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1049 
     | 
    
         
            +
                      "start": 4591
         
     | 
| 
       665 
1050 
     | 
    
         
             
                    },
         
     | 
| 
       666 
1051 
     | 
    
         
             
                    {
         
     | 
| 
       667 
1052 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       668 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1053 
     | 
    
         
            +
                      "start": 6058
         
     | 
| 
       669 
1054 
     | 
    
         
             
                    }
         
     | 
| 
       670 
1055 
     | 
    
         
             
                  ]
         
     | 
| 
       671 
1056 
     | 
    
         
             
                }
         
     |