@etherisc/gif-next 0.0.2-e964d24-516 → 0.0.2-e987ccf-894
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 +51 -5
 - package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
 - package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
 - package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
 - package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
 - package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
 - package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
 - package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
 - package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
 - package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
 - package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
 - package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
 - package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
 - package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
 - package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
 - package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
 - package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1500 -0
 - package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
 - package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
 - package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +179 -385
 - package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
 - package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +280 -324
 - package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +130 -72
 - package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
 - package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +171 -254
 - package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
 - package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +186 -94
 - package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
 - package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
 - package/artifacts/contracts/instance/IInstance.sol/IInstance.json +77 -78
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
 - package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +193 -52
 - package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
 - package/artifacts/contracts/instance/Instance.sol/Instance.json +93 -126
 - package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
 - package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
 - package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
 - package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +590 -328
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
 - package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +282 -101
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +120 -42
 - package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
 - package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1294 -370
 - package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
 - package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
 - package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
 - package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
 - package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
 - package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
 - package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
 - package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
 - package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
 - package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
 - package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
 - package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
 - package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
 - package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
 - package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
 - package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
 - package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
 - package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
 - package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
 - package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1137 -0
 - package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
 - package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
 - package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
 - package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
 - package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
 - package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
 - package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
 - package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
 - package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1029 -0
 - package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
 - package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
 - package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
 - package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
 - package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1406 -0
 - package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
 - package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
 - package/artifacts/contracts/pool/BundleService.sol/BundleService.json +399 -213
 - package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -50
 - package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
 - package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +204 -32
 - package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
 - package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +181 -356
 - package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
 - package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +342 -211
 - package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
 - package/artifacts/contracts/pool/Pool.sol/Pool.json +227 -442
 - package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
 - package/artifacts/contracts/pool/PoolService.sol/PoolService.json +401 -432
 - package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +106 -68
 - package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
 - package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +92 -158
 - package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +111 -37
 - package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
 - package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1254 -0
 - package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
 - package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
 - package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
 - package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -187
 - package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +130 -56
 - package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
 - package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
 - package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
 - package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +46 -1
 - package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
 - package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +217 -73
 - package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
 - package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +83 -44
 - package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
 - package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +271 -173
 - package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
 - package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -55
 - package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
 - package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +244 -286
 - package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +117 -91
 - package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
 - package/artifacts/contracts/product/PricingService.sol/PricingService.json +188 -220
 - package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +135 -57
 - package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
 - package/artifacts/contracts/product/Product.sol/Product.json +345 -331
 - package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
 - package/artifacts/contracts/product/ProductService.sol/ProductService.json +47 -203
 - package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +94 -32
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
 - package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
 - package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +183 -29
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
 - package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +206 -124
 - package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
 - package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
 - package/artifacts/contracts/registry/Registry.sol/Registry.json +440 -40
 - package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
 - package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
 - package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +370 -68
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
 - package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +99 -35
 - package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
 - package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
 - package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
 - package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
 - package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
 - package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
 - package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -138
 - package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
 - package/artifacts/contracts/shared/Component.sol/Component.json +104 -145
 - package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
 - package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1252 -203
 - package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +804 -0
 - package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
 - package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
 - package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
 - package/artifacts/contracts/shared/IComponent.sol/IComponent.json +76 -107
 - package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
 - package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
 - package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
 - package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
 - package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
 - package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
 - package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
 - package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
 - package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
 - package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +21 -3
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
 - package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
 - package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
 - package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
 - package/artifacts/contracts/shared/IService.sol/IService.json +20 -1
 - package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
 - package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
 - package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
 - package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
 - package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
 - package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +951 -0
 - package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
 - package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
 - package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
 - package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
 - package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
 - package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
 - package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
 - package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
 - package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +31 -13
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
 - package/artifacts/contracts/shared/Registerable.sol/Registerable.json +21 -7
 - package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
 - package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
 - package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
 - package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
 - package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +362 -7
 - package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
 - package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
 - package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
 - package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1412 -0
 - package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
 - package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +566 -54
 - package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +387 -0
 - package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
 - package/artifacts/contracts/staking/Staking.sol/Staking.json +1941 -0
 - package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
 - package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
 - package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
 - package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
 - package/artifacts/contracts/staking/StakingService.sol/StakingService.json +661 -85
 - package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
 - package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
 - package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
 - package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
 - package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
 - package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
 - package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
 - package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Amount.sol/AmountLib.json +97 -4
 - package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
 - package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
 - package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
 - package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
 - package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
 - package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
 - package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
 - package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
 - package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
 - package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
 - package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
 - package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
 - package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
 - package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
 - package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
 - package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
 - package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
 - package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
 - package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +100 -2
 - package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
 - package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
 - package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
 - package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
 - package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
 - package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
 - package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
 - package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
 - package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
 - package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
 - package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
 - package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
 - package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +58 -2
 - package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
 - package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
 - package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
 - package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
 - package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
 - package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
 - package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
 - package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
 - package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
 - package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
 - package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
 - package/contracts/authorization/AccessAdmin.sol +591 -0
 - package/contracts/authorization/AccessManagerCloneable.sol +16 -0
 - package/contracts/authorization/Authorization.sol +217 -0
 - package/contracts/authorization/IAccess.sol +48 -0
 - package/contracts/authorization/IAccessAdmin.sol +136 -0
 - package/contracts/authorization/IAuthorization.sol +54 -0
 - package/contracts/authorization/IModuleAuthorization.sol +21 -0
 - package/contracts/authorization/IServiceAuthorization.sol +38 -0
 - package/contracts/authorization/ModuleAuthorization.sol +78 -0
 - package/contracts/authorization/ServiceAuthorization.sol +90 -0
 - package/contracts/distribution/BasicDistribution.sol +138 -0
 - package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
 - package/contracts/distribution/Distribution.sol +162 -152
 - package/contracts/distribution/DistributionService.sol +124 -136
 - package/contracts/distribution/DistributionServiceManager.sol +11 -23
 - package/contracts/distribution/IDistributionComponent.sol +28 -47
 - package/contracts/distribution/IDistributionService.sol +24 -10
 - package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
 - package/contracts/instance/IInstance.sol +26 -17
 - package/contracts/instance/IInstanceService.sol +46 -27
 - package/contracts/instance/Instance.sol +114 -89
 - package/contracts/instance/InstanceAdmin.sol +285 -0
 - package/contracts/instance/InstanceAuthorizationV3.sol +203 -0
 - package/contracts/instance/InstanceReader.sol +106 -52
 - package/contracts/instance/InstanceService.sol +291 -132
 - package/contracts/instance/InstanceServiceManager.sol +12 -26
 - package/contracts/instance/InstanceStore.sol +146 -66
 - package/contracts/instance/base/BalanceStore.sol +123 -0
 - package/contracts/instance/base/Cloneable.sol +28 -0
 - package/contracts/instance/base/ObjectCounter.sol +21 -0
 - package/contracts/instance/base/ObjectLifecycle.sol +110 -0
 - package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +18 -21
 - package/contracts/instance/module/IAccess.sol +2 -10
 - package/contracts/instance/module/IBundle.sol +1 -4
 - package/contracts/instance/module/IComponents.sol +15 -10
 - package/contracts/instance/module/IDistribution.sol +0 -1
 - package/contracts/instance/module/IPolicy.sol +29 -22
 - package/contracts/mock/Dip.sol +26 -0
 - package/contracts/oracle/BasicOracle.sol +48 -0
 - package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
 - package/contracts/oracle/IOracle.sol +36 -0
 - package/contracts/oracle/IOracleComponent.sol +33 -0
 - package/contracts/oracle/IOracleService.sol +65 -0
 - package/contracts/oracle/Oracle.sol +166 -0
 - package/contracts/oracle/OracleService.sol +278 -0
 - package/contracts/oracle/OracleServiceManager.sol +39 -0
 - package/contracts/pool/BasicPool.sol +166 -0
 - package/contracts/pool/BasicPoolAuthorization.sol +58 -0
 - package/contracts/pool/BundleService.sol +252 -196
 - package/contracts/pool/BundleServiceManager.sol +11 -23
 - package/contracts/pool/IBundleService.sol +35 -19
 - package/contracts/pool/IPoolComponent.sol +10 -66
 - package/contracts/pool/IPoolService.sol +79 -33
 - package/contracts/pool/Pool.sol +168 -144
 - package/contracts/pool/PoolService.sol +322 -216
 - package/contracts/pool/PoolServiceManager.sol +11 -23
 - package/contracts/product/ApplicationService.sol +144 -81
 - package/contracts/product/ApplicationServiceManager.sol +11 -8
 - package/contracts/product/BasicProduct.sol +52 -0
 - package/contracts/product/BasicProductAuthorization.sol +43 -0
 - package/contracts/product/ClaimService.sol +45 -66
 - package/contracts/product/ClaimServiceManager.sol +11 -8
 - package/contracts/product/IApplicationService.sol +2 -1
 - package/contracts/product/IClaimService.sol +13 -3
 - package/contracts/product/IPolicyService.sol +29 -36
 - package/contracts/product/IPricingService.sol +10 -8
 - package/contracts/product/IProductComponent.sol +10 -12
 - package/contracts/product/IProductService.sol +2 -8
 - package/contracts/product/PolicyService.sol +390 -190
 - package/contracts/product/PolicyServiceManager.sol +11 -26
 - package/contracts/product/PricingService.sol +103 -77
 - package/contracts/product/PricingServiceManager.sol +11 -23
 - package/contracts/product/Product.sol +154 -123
 - package/contracts/product/ProductService.sol +36 -147
 - package/contracts/product/ProductServiceManager.sol +11 -26
 - package/contracts/registry/ChainNft.sol +8 -1
 - package/contracts/registry/IRegistry.sol +55 -22
 - package/contracts/registry/IRegistryService.sol +38 -35
 - package/contracts/registry/Registry.sol +234 -125
 - package/contracts/registry/RegistryAdmin.sol +374 -0
 - package/contracts/registry/RegistryService.sol +67 -100
 - package/contracts/registry/RegistryServiceManager.sol +23 -30
 - package/contracts/registry/ReleaseLifecycle.sol +27 -0
 - package/contracts/registry/ReleaseRegistry.sol +485 -0
 - package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
 - package/contracts/registry/TokenRegistry.sol +261 -62
 - package/contracts/shared/Component.sol +141 -144
 - package/contracts/shared/ComponentService.sol +587 -96
 - package/contracts/shared/ComponentServiceManager.sol +35 -0
 - package/contracts/shared/ComponentVerifyingService.sol +117 -0
 - package/contracts/shared/IComponent.sol +21 -41
 - package/contracts/shared/IComponentService.sol +108 -0
 - package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
 - package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
 - package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
 - package/contracts/shared/INftOwnable.sol +1 -1
 - package/contracts/shared/IPolicyHolder.sol +6 -1
 - package/contracts/shared/IService.sol +9 -2
 - package/contracts/shared/InitializableCustom.sol +177 -0
 - package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +2 -2
 - package/contracts/shared/InstanceLinkedComponent.sol +172 -0
 - package/contracts/shared/KeyValueStore.sol +131 -0
 - package/contracts/shared/Lifecycle.sol +77 -0
 - package/contracts/shared/NftIdSet.sol +65 -0
 - package/contracts/shared/NftOwnable.sol +5 -16
 - package/contracts/shared/PolicyHolder.sol +22 -17
 - package/contracts/shared/Registerable.sol +2 -2
 - package/contracts/shared/Service.sol +32 -22
 - package/contracts/shared/TokenHandler.sol +112 -8
 - package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
 - package/contracts/staking/IStaking.sol +167 -0
 - package/contracts/staking/IStakingService.sol +105 -47
 - package/contracts/staking/StakeManagerLib.sol +206 -0
 - package/contracts/staking/Staking.sol +497 -0
 - package/contracts/staking/StakingLifecycle.sol +23 -0
 - package/contracts/staking/StakingManager.sol +50 -0
 - package/contracts/staking/StakingReader.sol +183 -0
 - package/contracts/staking/StakingService.sol +288 -47
 - package/contracts/staking/{StakeingServiceManager.sol → StakingServiceManager.sol} +13 -6
 - package/contracts/staking/StakingStore.sol +605 -0
 - package/contracts/staking/TargetManagerLib.sol +207 -0
 - package/contracts/type/AddressSet.sol +1 -1
 - package/contracts/type/Amount.sol +29 -3
 - package/contracts/type/Blocknumber.sol +26 -3
 - package/contracts/type/Fee.sol +17 -16
 - package/contracts/type/NftId.sol +14 -16
 - package/contracts/type/NftIdSet.sol +1 -1
 - package/contracts/type/ObjectType.sol +176 -62
 - package/contracts/type/Referral.sol +2 -1
 - package/contracts/type/RequestId.sol +75 -0
 - package/contracts/type/RiskId.sol +1 -1
 - package/contracts/type/RoleId.sol +117 -40
 - package/contracts/type/Seconds.sol +40 -1
 - package/contracts/type/Selector.sol +102 -0
 - package/contracts/type/StateId.sol +27 -2
 - package/contracts/type/String.sol +53 -0
 - package/contracts/type/Timestamp.sol +17 -3
 - package/contracts/type/UFixed.sol +34 -9
 - package/contracts/type/Version.sol +4 -2
 - package/contracts/{shared → upgradeability}/ProxyManager.sol +33 -4
 - package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
 - package/package.json +8 -5
 - package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
 - package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
 - package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
 - package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
 - package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
 - package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
 - package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
 - package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
 - package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
 - package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
 - package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
 - package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
 - package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
 - package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
 - package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
 - package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -559
 - package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
 - package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
 - package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
 - package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
 - package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
 - package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
 - package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
 - package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +0 -4
 - package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +0 -628
 - package/contracts/instance/Cloneable.sol +0 -51
 - package/contracts/instance/InstanceAccessManager.sol +0 -541
 - package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
 - package/contracts/instance/base/KeyValueStore.sol +0 -149
 - package/contracts/instance/base/Lifecycle.sol +0 -120
 - package/contracts/instance/module/ISetup.sol +0 -33
 - package/contracts/instance/module/ITreasury.sol +0 -23
 - package/contracts/registry/RegistryAccessManager.sol +0 -216
 - package/contracts/registry/ReleaseManager.sol +0 -324
 - package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
 - /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
 - /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
 
| 
         @@ -95,6 +95,123 @@ 
     | 
|
| 
       95 
95 
     | 
    
         
             
                  "name": "ErrorServiceNotImplemented",
         
     | 
| 
       96 
96 
     | 
    
         
             
                  "type": "error"
         
     | 
| 
       97 
97 
     | 
    
         
             
                },
         
     | 
| 
      
 98 
     | 
    
         
            +
                {
         
     | 
| 
      
 99 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 100 
     | 
    
         
            +
                    {
         
     | 
| 
      
 101 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 102 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 103 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 104 
     | 
    
         
            +
                    },
         
     | 
| 
      
 105 
     | 
    
         
            +
                    {
         
     | 
| 
      
 106 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 107 
     | 
    
         
            +
                      "name": "tokenHandler",
         
     | 
| 
      
 108 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 109 
     | 
    
         
            +
                    },
         
     | 
| 
      
 110 
     | 
    
         
            +
                    {
         
     | 
| 
      
 111 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 112 
     | 
    
         
            +
                      "name": "amount",
         
     | 
| 
      
 113 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 114 
     | 
    
         
            +
                    },
         
     | 
| 
      
 115 
     | 
    
         
            +
                    {
         
     | 
| 
      
 116 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 117 
     | 
    
         
            +
                      "name": "allowance",
         
     | 
| 
      
 118 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 119 
     | 
    
         
            +
                    }
         
     | 
| 
      
 120 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 121 
     | 
    
         
            +
                  "name": "ErrorStakingServiceDipAllowanceInsufficient",
         
     | 
| 
      
 122 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 123 
     | 
    
         
            +
                },
         
     | 
| 
      
 124 
     | 
    
         
            +
                {
         
     | 
| 
      
 125 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 126 
     | 
    
         
            +
                    {
         
     | 
| 
      
 127 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 128 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 129 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 130 
     | 
    
         
            +
                    },
         
     | 
| 
      
 131 
     | 
    
         
            +
                    {
         
     | 
| 
      
 132 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 133 
     | 
    
         
            +
                      "name": "amount",
         
     | 
| 
      
 134 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 135 
     | 
    
         
            +
                    },
         
     | 
| 
      
 136 
     | 
    
         
            +
                    {
         
     | 
| 
      
 137 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 138 
     | 
    
         
            +
                      "name": "balance",
         
     | 
| 
      
 139 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 140 
     | 
    
         
            +
                    }
         
     | 
| 
      
 141 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 142 
     | 
    
         
            +
                  "name": "ErrorStakingServiceDipBalanceInsufficient",
         
     | 
| 
      
 143 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 144 
     | 
    
         
            +
                },
         
     | 
| 
      
 145 
     | 
    
         
            +
                {
         
     | 
| 
      
 146 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 147 
     | 
    
         
            +
                    {
         
     | 
| 
      
 148 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 149 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 150 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 151 
     | 
    
         
            +
                    }
         
     | 
| 
      
 152 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 153 
     | 
    
         
            +
                  "name": "ErrorStakingServiceNotActiveTargetNftId",
         
     | 
| 
      
 154 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 155 
     | 
    
         
            +
                },
         
     | 
| 
      
 156 
     | 
    
         
            +
                {
         
     | 
| 
      
 157 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 158 
     | 
    
         
            +
                    {
         
     | 
| 
      
 159 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 160 
     | 
    
         
            +
                      "name": "nftId",
         
     | 
| 
      
 161 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 162 
     | 
    
         
            +
                    },
         
     | 
| 
      
 163 
     | 
    
         
            +
                    {
         
     | 
| 
      
 164 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 165 
     | 
    
         
            +
                      "name": "expectedOwner",
         
     | 
| 
      
 166 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 167 
     | 
    
         
            +
                    },
         
     | 
| 
      
 168 
     | 
    
         
            +
                    {
         
     | 
| 
      
 169 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 170 
     | 
    
         
            +
                      "name": "owner",
         
     | 
| 
      
 171 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 172 
     | 
    
         
            +
                    }
         
     | 
| 
      
 173 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 174 
     | 
    
         
            +
                  "name": "ErrorStakingServiceNotNftOwner",
         
     | 
| 
      
 175 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 176 
     | 
    
         
            +
                },
         
     | 
| 
      
 177 
     | 
    
         
            +
                {
         
     | 
| 
      
 178 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 179 
     | 
    
         
            +
                    {
         
     | 
| 
      
 180 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 181 
     | 
    
         
            +
                      "name": "stakingAddress",
         
     | 
| 
      
 182 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 183 
     | 
    
         
            +
                    }
         
     | 
| 
      
 184 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 185 
     | 
    
         
            +
                  "name": "ErrorStakingServiceNotStaking",
         
     | 
| 
      
 186 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 187 
     | 
    
         
            +
                },
         
     | 
| 
      
 188 
     | 
    
         
            +
                {
         
     | 
| 
      
 189 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 190 
     | 
    
         
            +
                    {
         
     | 
| 
      
 191 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 192 
     | 
    
         
            +
                      "name": "stakingAddress",
         
     | 
| 
      
 193 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 194 
     | 
    
         
            +
                    }
         
     | 
| 
      
 195 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 196 
     | 
    
         
            +
                  "name": "ErrorStakingServiceNotSupportingIStaking",
         
     | 
| 
      
 197 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 198 
     | 
    
         
            +
                },
         
     | 
| 
      
 199 
     | 
    
         
            +
                {
         
     | 
| 
      
 200 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 201 
     | 
    
         
            +
                    {
         
     | 
| 
      
 202 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 203 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 204 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 205 
     | 
    
         
            +
                    }
         
     | 
| 
      
 206 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 207 
     | 
    
         
            +
                  "name": "ErrorStakingServiceNotTargetNftId",
         
     | 
| 
      
 208 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 209 
     | 
    
         
            +
                },
         
     | 
| 
      
 210 
     | 
    
         
            +
                {
         
     | 
| 
      
 211 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 212 
     | 
    
         
            +
                  "name": "ErrorStakingServiceZeroTargetNftId",
         
     | 
| 
      
 213 
     | 
    
         
            +
                  "type": "error"
         
     | 
| 
      
 214 
     | 
    
         
            +
                },
         
     | 
| 
       98 
215 
     | 
    
         
             
                {
         
     | 
| 
       99 
216 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       100 
217 
     | 
    
         
             
                  "name": "InvalidInitialization",
         
     | 
| 
         @@ -123,12 +240,281 @@ 
     | 
|
| 
       123 
240 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       124 
241 
     | 
    
         
             
                    {
         
     | 
| 
       125 
242 
     | 
    
         
             
                      "indexed": false,
         
     | 
| 
       126 
     | 
    
         
            -
                      "internalType": "uint64",
         
     | 
| 
       127 
     | 
    
         
            -
                      "name": "version",
         
     | 
| 
       128 
     | 
    
         
            -
                      "type": "uint64"
         
     | 
| 
      
 243 
     | 
    
         
            +
                      "internalType": "uint64",
         
     | 
| 
      
 244 
     | 
    
         
            +
                      "name": "version",
         
     | 
| 
      
 245 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
      
 246 
     | 
    
         
            +
                    }
         
     | 
| 
      
 247 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 248 
     | 
    
         
            +
                  "name": "Initialized",
         
     | 
| 
      
 249 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 250 
     | 
    
         
            +
                },
         
     | 
| 
      
 251 
     | 
    
         
            +
                {
         
     | 
| 
      
 252 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 253 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 254 
     | 
    
         
            +
                    {
         
     | 
| 
      
 255 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 256 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 257 
     | 
    
         
            +
                      "name": "instanceNftId",
         
     | 
| 
      
 258 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 259 
     | 
    
         
            +
                    },
         
     | 
| 
      
 260 
     | 
    
         
            +
                    {
         
     | 
| 
      
 261 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 262 
     | 
    
         
            +
                      "internalType": "uint256",
         
     | 
| 
      
 263 
     | 
    
         
            +
                      "name": "chainId",
         
     | 
| 
      
 264 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 265 
     | 
    
         
            +
                    }
         
     | 
| 
      
 266 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 267 
     | 
    
         
            +
                  "name": "LogStakingServiceInstanceTargetRegistered",
         
     | 
| 
      
 268 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 269 
     | 
    
         
            +
                },
         
     | 
| 
      
 270 
     | 
    
         
            +
                {
         
     | 
| 
      
 271 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 272 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 273 
     | 
    
         
            +
                    {
         
     | 
| 
      
 274 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 275 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 276 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 277 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 278 
     | 
    
         
            +
                    },
         
     | 
| 
      
 279 
     | 
    
         
            +
                    {
         
     | 
| 
      
 280 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 281 
     | 
    
         
            +
                      "internalType": "Seconds",
         
     | 
| 
      
 282 
     | 
    
         
            +
                      "name": "oldLockingDuration",
         
     | 
| 
      
 283 
     | 
    
         
            +
                      "type": "uint40"
         
     | 
| 
      
 284 
     | 
    
         
            +
                    },
         
     | 
| 
      
 285 
     | 
    
         
            +
                    {
         
     | 
| 
      
 286 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 287 
     | 
    
         
            +
                      "internalType": "Seconds",
         
     | 
| 
      
 288 
     | 
    
         
            +
                      "name": "lockingDuration",
         
     | 
| 
      
 289 
     | 
    
         
            +
                      "type": "uint40"
         
     | 
| 
      
 290 
     | 
    
         
            +
                    }
         
     | 
| 
      
 291 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 292 
     | 
    
         
            +
                  "name": "LogStakingServiceLockingPeriodSet",
         
     | 
| 
      
 293 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 294 
     | 
    
         
            +
                },
         
     | 
| 
      
 295 
     | 
    
         
            +
                {
         
     | 
| 
      
 296 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 297 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 298 
     | 
    
         
            +
                    {
         
     | 
| 
      
 299 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 300 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 301 
     | 
    
         
            +
                      "name": "protocolNftId",
         
     | 
| 
      
 302 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 303 
     | 
    
         
            +
                    }
         
     | 
| 
      
 304 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 305 
     | 
    
         
            +
                  "name": "LogStakingServiceProtocolTargetRegistered",
         
     | 
| 
      
 306 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 307 
     | 
    
         
            +
                },
         
     | 
| 
      
 308 
     | 
    
         
            +
                {
         
     | 
| 
      
 309 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 310 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 311 
     | 
    
         
            +
                    {
         
     | 
| 
      
 312 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 313 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 314 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 315 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 316 
     | 
    
         
            +
                    },
         
     | 
| 
      
 317 
     | 
    
         
            +
                    {
         
     | 
| 
      
 318 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 319 
     | 
    
         
            +
                      "internalType": "UFixed",
         
     | 
| 
      
 320 
     | 
    
         
            +
                      "name": "oldRewardRate",
         
     | 
| 
      
 321 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 322 
     | 
    
         
            +
                    },
         
     | 
| 
      
 323 
     | 
    
         
            +
                    {
         
     | 
| 
      
 324 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 325 
     | 
    
         
            +
                      "internalType": "UFixed",
         
     | 
| 
      
 326 
     | 
    
         
            +
                      "name": "rewardRate",
         
     | 
| 
      
 327 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 328 
     | 
    
         
            +
                    }
         
     | 
| 
      
 329 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 330 
     | 
    
         
            +
                  "name": "LogStakingServiceRewardRateSet",
         
     | 
| 
      
 331 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 332 
     | 
    
         
            +
                },
         
     | 
| 
      
 333 
     | 
    
         
            +
                {
         
     | 
| 
      
 334 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 335 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 336 
     | 
    
         
            +
                    {
         
     | 
| 
      
 337 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 338 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 339 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 340 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 341 
     | 
    
         
            +
                    },
         
     | 
| 
      
 342 
     | 
    
         
            +
                    {
         
     | 
| 
      
 343 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 344 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 345 
     | 
    
         
            +
                      "name": "targetOwner",
         
     | 
| 
      
 346 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 347 
     | 
    
         
            +
                    },
         
     | 
| 
      
 348 
     | 
    
         
            +
                    {
         
     | 
| 
      
 349 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 350 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 351 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
      
 352 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 353 
     | 
    
         
            +
                    },
         
     | 
| 
      
 354 
     | 
    
         
            +
                    {
         
     | 
| 
      
 355 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 356 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 357 
     | 
    
         
            +
                      "name": "newBalance",
         
     | 
| 
      
 358 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 359 
     | 
    
         
            +
                    }
         
     | 
| 
      
 360 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 361 
     | 
    
         
            +
                  "name": "LogStakingServiceRewardReservesDecreased",
         
     | 
| 
      
 362 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 363 
     | 
    
         
            +
                },
         
     | 
| 
      
 364 
     | 
    
         
            +
                {
         
     | 
| 
      
 365 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 366 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 367 
     | 
    
         
            +
                    {
         
     | 
| 
      
 368 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 369 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 370 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 371 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 372 
     | 
    
         
            +
                    },
         
     | 
| 
      
 373 
     | 
    
         
            +
                    {
         
     | 
| 
      
 374 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 375 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 376 
     | 
    
         
            +
                      "name": "rewardProvider",
         
     | 
| 
      
 377 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 378 
     | 
    
         
            +
                    },
         
     | 
| 
      
 379 
     | 
    
         
            +
                    {
         
     | 
| 
      
 380 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 381 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 382 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
      
 383 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 384 
     | 
    
         
            +
                    },
         
     | 
| 
      
 385 
     | 
    
         
            +
                    {
         
     | 
| 
      
 386 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 387 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 388 
     | 
    
         
            +
                      "name": "newBalance",
         
     | 
| 
      
 389 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 390 
     | 
    
         
            +
                    }
         
     | 
| 
      
 391 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 392 
     | 
    
         
            +
                  "name": "LogStakingServiceRewardReservesIncreased",
         
     | 
| 
      
 393 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 394 
     | 
    
         
            +
                },
         
     | 
| 
      
 395 
     | 
    
         
            +
                {
         
     | 
| 
      
 396 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 397 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 398 
     | 
    
         
            +
                    {
         
     | 
| 
      
 399 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 400 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 401 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
      
 402 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 403 
     | 
    
         
            +
                    },
         
     | 
| 
      
 404 
     | 
    
         
            +
                    {
         
     | 
| 
      
 405 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 406 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 407 
     | 
    
         
            +
                      "name": "stakeOwner",
         
     | 
| 
      
 408 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 409 
     | 
    
         
            +
                    },
         
     | 
| 
      
 410 
     | 
    
         
            +
                    {
         
     | 
| 
      
 411 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 412 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 413 
     | 
    
         
            +
                      "name": "rewardsClaimedAmount",
         
     | 
| 
      
 414 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 415 
     | 
    
         
            +
                    }
         
     | 
| 
      
 416 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 417 
     | 
    
         
            +
                  "name": "LogStakingServiceRewardsClaimed",
         
     | 
| 
      
 418 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 419 
     | 
    
         
            +
                },
         
     | 
| 
      
 420 
     | 
    
         
            +
                {
         
     | 
| 
      
 421 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 422 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 423 
     | 
    
         
            +
                    {
         
     | 
| 
      
 424 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 425 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 426 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
      
 427 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 428 
     | 
    
         
            +
                    }
         
     | 
| 
      
 429 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 430 
     | 
    
         
            +
                  "name": "LogStakingServiceRewardsUpdated",
         
     | 
| 
      
 431 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 432 
     | 
    
         
            +
                },
         
     | 
| 
      
 433 
     | 
    
         
            +
                {
         
     | 
| 
      
 434 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 435 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 436 
     | 
    
         
            +
                    {
         
     | 
| 
      
 437 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 438 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 439 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
      
 440 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 441 
     | 
    
         
            +
                    },
         
     | 
| 
      
 442 
     | 
    
         
            +
                    {
         
     | 
| 
      
 443 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 444 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 445 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 446 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 447 
     | 
    
         
            +
                    },
         
     | 
| 
      
 448 
     | 
    
         
            +
                    {
         
     | 
| 
      
 449 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 450 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 451 
     | 
    
         
            +
                      "name": "owner",
         
     | 
| 
      
 452 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 453 
     | 
    
         
            +
                    },
         
     | 
| 
      
 454 
     | 
    
         
            +
                    {
         
     | 
| 
      
 455 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 456 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 457 
     | 
    
         
            +
                      "name": "stakedAmount",
         
     | 
| 
      
 458 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 459 
     | 
    
         
            +
                    }
         
     | 
| 
      
 460 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 461 
     | 
    
         
            +
                  "name": "LogStakingServiceStakeCreated",
         
     | 
| 
      
 462 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 463 
     | 
    
         
            +
                },
         
     | 
| 
      
 464 
     | 
    
         
            +
                {
         
     | 
| 
      
 465 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 466 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 467 
     | 
    
         
            +
                    {
         
     | 
| 
      
 468 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 469 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 470 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
      
 471 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 472 
     | 
    
         
            +
                    },
         
     | 
| 
      
 473 
     | 
    
         
            +
                    {
         
     | 
| 
      
 474 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 475 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 476 
     | 
    
         
            +
                      "name": "owner",
         
     | 
| 
      
 477 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 478 
     | 
    
         
            +
                    },
         
     | 
| 
      
 479 
     | 
    
         
            +
                    {
         
     | 
| 
      
 480 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 481 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 482 
     | 
    
         
            +
                      "name": "stakedAmount",
         
     | 
| 
      
 483 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 484 
     | 
    
         
            +
                    },
         
     | 
| 
      
 485 
     | 
    
         
            +
                    {
         
     | 
| 
      
 486 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 487 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 488 
     | 
    
         
            +
                      "name": "stakeBalance",
         
     | 
| 
      
 489 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 490 
     | 
    
         
            +
                    }
         
     | 
| 
      
 491 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 492 
     | 
    
         
            +
                  "name": "LogStakingServiceStakeIncreased",
         
     | 
| 
      
 493 
     | 
    
         
            +
                  "type": "event"
         
     | 
| 
      
 494 
     | 
    
         
            +
                },
         
     | 
| 
      
 495 
     | 
    
         
            +
                {
         
     | 
| 
      
 496 
     | 
    
         
            +
                  "anonymous": false,
         
     | 
| 
      
 497 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 498 
     | 
    
         
            +
                    {
         
     | 
| 
      
 499 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 500 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 501 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
      
 502 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 503 
     | 
    
         
            +
                    },
         
     | 
| 
      
 504 
     | 
    
         
            +
                    {
         
     | 
| 
      
 505 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 506 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 507 
     | 
    
         
            +
                      "name": "stakeOwner",
         
     | 
| 
      
 508 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 509 
     | 
    
         
            +
                    },
         
     | 
| 
      
 510 
     | 
    
         
            +
                    {
         
     | 
| 
      
 511 
     | 
    
         
            +
                      "indexed": false,
         
     | 
| 
      
 512 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 513 
     | 
    
         
            +
                      "name": "totalAmount",
         
     | 
| 
      
 514 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
       129 
515 
     | 
    
         
             
                    }
         
     | 
| 
       130 
516 
     | 
    
         
             
                  ],
         
     | 
| 
       131 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 517 
     | 
    
         
            +
                  "name": "LogStakingServiceUnstaked",
         
     | 
| 
       132 
518 
     | 
    
         
             
                  "type": "event"
         
     | 
| 
       133 
519 
     | 
    
         
             
                },
         
     | 
| 
       134 
520 
     | 
    
         
             
                {
         
     | 
| 
         @@ -191,7 +577,7 @@ 
     | 
|
| 
       191 
577 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       192 
578 
     | 
    
         
             
                    }
         
     | 
| 
       193 
579 
     | 
    
         
             
                  ],
         
     | 
| 
       194 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 580 
     | 
    
         
            +
                  "name": "claimRewards",
         
     | 
| 
       195 
581 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       196 
582 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       197 
583 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
         @@ -205,7 +591,7 @@ 
     | 
|
| 
       205 
591 
     | 
    
         
             
                    },
         
     | 
| 
       206 
592 
     | 
    
         
             
                    {
         
     | 
| 
       207 
593 
     | 
    
         
             
                      "internalType": "Amount",
         
     | 
| 
       208 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 594 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
       209 
595 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       210 
596 
     | 
    
         
             
                    }
         
     | 
| 
       211 
597 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -228,22 +614,29 @@ 
     | 
|
| 
       228 
614 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       229 
615 
     | 
    
         
             
                    },
         
     | 
| 
       230 
616 
     | 
    
         
             
                    {
         
     | 
| 
       231 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       232 
     | 
    
         
            -
                      "name": " 
     | 
| 
       233 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 617 
     | 
    
         
            +
                      "internalType": "Seconds",
         
     | 
| 
      
 618 
     | 
    
         
            +
                      "name": "initialLockingPeriod",
         
     | 
| 
      
 619 
     | 
    
         
            +
                      "type": "uint40"
         
     | 
| 
       234 
620 
     | 
    
         
             
                    },
         
     | 
| 
       235 
621 
     | 
    
         
             
                    {
         
     | 
| 
       236 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       237 
     | 
    
         
            -
                      "name": " 
     | 
| 
       238 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 622 
     | 
    
         
            +
                      "internalType": "UFixed",
         
     | 
| 
      
 623 
     | 
    
         
            +
                      "name": "initialRewardRate",
         
     | 
| 
      
 624 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
       239 
625 
     | 
    
         
             
                    }
         
     | 
| 
       240 
626 
     | 
    
         
             
                  ],
         
     | 
| 
       241 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 627 
     | 
    
         
            +
                  "name": "createInstanceTarget",
         
     | 
| 
      
 628 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 629 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 630 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 631 
     | 
    
         
            +
                },
         
     | 
| 
      
 632 
     | 
    
         
            +
                {
         
     | 
| 
      
 633 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 634 
     | 
    
         
            +
                  "name": "getDipToken",
         
     | 
| 
       242 
635 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       243 
636 
     | 
    
         
             
                    {
         
     | 
| 
       244 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       245 
     | 
    
         
            -
                      "name": " 
     | 
| 
       246 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 637 
     | 
    
         
            +
                      "internalType": "contract IERC20Metadata",
         
     | 
| 
      
 638 
     | 
    
         
            +
                      "name": "dip",
         
     | 
| 
      
 639 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
       247 
640 
     | 
    
         
             
                    }
         
     | 
| 
       248 
641 
     | 
    
         
             
                  ],
         
     | 
| 
       249 
642 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
         @@ -255,7 +648,7 @@ 
     | 
|
| 
       255 
648 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       256 
649 
     | 
    
         
             
                    {
         
     | 
| 
       257 
650 
     | 
    
         
             
                      "internalType": "ObjectType",
         
     | 
| 
       258 
     | 
    
         
            -
                      "name": "",
         
     | 
| 
      
 651 
     | 
    
         
            +
                      "name": "serviceDomain",
         
     | 
| 
       259 
652 
     | 
    
         
             
                      "type": "uint8"
         
     | 
| 
       260 
653 
     | 
    
         
             
                    }
         
     | 
| 
       261 
654 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -353,46 +746,56 @@ 
     | 
|
| 
       353 
746 
     | 
    
         
             
                },
         
     | 
| 
       354 
747 
     | 
    
         
             
                {
         
     | 
| 
       355 
748 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       356 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 749 
     | 
    
         
            +
                  "name": "getRoleId",
         
     | 
| 
       357 
750 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       358 
751 
     | 
    
         
             
                    {
         
     | 
| 
       359 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       360 
     | 
    
         
            -
                      "name": "",
         
     | 
| 
       361 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 752 
     | 
    
         
            +
                      "internalType": "RoleId",
         
     | 
| 
      
 753 
     | 
    
         
            +
                      "name": "serviceRoleId",
         
     | 
| 
      
 754 
     | 
    
         
            +
                      "type": "uint64"
         
     | 
| 
       362 
755 
     | 
    
         
             
                    }
         
     | 
| 
       363 
756 
     | 
    
         
             
                  ],
         
     | 
| 
       364 
757 
     | 
    
         
             
                  "stateMutability": "pure",
         
     | 
| 
       365 
758 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       366 
759 
     | 
    
         
             
                },
         
     | 
| 
       367 
760 
     | 
    
         
             
                {
         
     | 
| 
       368 
     | 
    
         
            -
                  "inputs": [
         
     | 
| 
       369 
     | 
    
         
            -
             
     | 
| 
       370 
     | 
    
         
            -
             
     | 
| 
       371 
     | 
    
         
            -
                      "name": "targetNftId",
         
     | 
| 
       372 
     | 
    
         
            -
                      "type": "uint96"
         
     | 
| 
       373 
     | 
    
         
            -
                    },
         
     | 
| 
      
 761 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 762 
     | 
    
         
            +
                  "name": "getStaking",
         
     | 
| 
      
 763 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
       374 
764 
     | 
    
         
             
                    {
         
     | 
| 
       375 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       376 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 765 
     | 
    
         
            +
                      "internalType": "contract IStaking",
         
     | 
| 
      
 766 
     | 
    
         
            +
                      "name": "staking",
         
     | 
| 
       377 
767 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       378 
     | 
    
         
            -
                    },
         
     | 
| 
       379 
     | 
    
         
            -
                    {
         
     | 
| 
       380 
     | 
    
         
            -
                      "internalType": "Amount",
         
     | 
| 
       381 
     | 
    
         
            -
                      "name": "amount",
         
     | 
| 
       382 
     | 
    
         
            -
                      "type": "uint96"
         
     | 
| 
       383 
768 
     | 
    
         
             
                    }
         
     | 
| 
       384 
769 
     | 
    
         
             
                  ],
         
     | 
| 
       385 
     | 
    
         
            -
                  " 
     | 
| 
      
 770 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 771 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 772 
     | 
    
         
            +
                },
         
     | 
| 
      
 773 
     | 
    
         
            +
                {
         
     | 
| 
      
 774 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 775 
     | 
    
         
            +
                  "name": "getTokenHandler",
         
     | 
| 
       386 
776 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       387 
777 
     | 
    
         
             
                    {
         
     | 
| 
       388 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       389 
     | 
    
         
            -
                      "name": " 
     | 
| 
       390 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 778 
     | 
    
         
            +
                      "internalType": "contract TokenHandler",
         
     | 
| 
      
 779 
     | 
    
         
            +
                      "name": "tokenHandler",
         
     | 
| 
      
 780 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
       391 
781 
     | 
    
         
             
                    }
         
     | 
| 
       392 
782 
     | 
    
         
             
                  ],
         
     | 
| 
       393 
783 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       394 
784 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       395 
785 
     | 
    
         
             
                },
         
     | 
| 
      
 786 
     | 
    
         
            +
                {
         
     | 
| 
      
 787 
     | 
    
         
            +
                  "inputs": [],
         
     | 
| 
      
 788 
     | 
    
         
            +
                  "name": "getVersion",
         
     | 
| 
      
 789 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 790 
     | 
    
         
            +
                    {
         
     | 
| 
      
 791 
     | 
    
         
            +
                      "internalType": "Version",
         
     | 
| 
      
 792 
     | 
    
         
            +
                      "name": "",
         
     | 
| 
      
 793 
     | 
    
         
            +
                      "type": "uint24"
         
     | 
| 
      
 794 
     | 
    
         
            +
                    }
         
     | 
| 
      
 795 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 796 
     | 
    
         
            +
                  "stateMutability": "pure",
         
     | 
| 
      
 797 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 798 
     | 
    
         
            +
                },
         
     | 
| 
       396 
799 
     | 
    
         
             
                {
         
     | 
| 
       397 
800 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       398 
801 
     | 
    
         
             
                  "name": "initializeERC165",
         
     | 
| 
         @@ -526,7 +929,13 @@ 
     | 
|
| 
       526 
929 
     | 
    
         
             
                {
         
     | 
| 
       527 
930 
     | 
    
         
             
                  "inputs": [],
         
     | 
| 
       528 
931 
     | 
    
         
             
                  "name": "linkToRegisteredNftId",
         
     | 
| 
       529 
     | 
    
         
            -
                  "outputs": [ 
     | 
| 
      
 932 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 933 
     | 
    
         
            +
                    {
         
     | 
| 
      
 934 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 935 
     | 
    
         
            +
                      "name": "nftId",
         
     | 
| 
      
 936 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 937 
     | 
    
         
            +
                    }
         
     | 
| 
      
 938 
     | 
    
         
            +
                  ],
         
     | 
| 
       530 
939 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       531 
940 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       532 
941 
     | 
    
         
             
                },
         
     | 
| 
         @@ -534,26 +943,26 @@ 
     | 
|
| 
       534 
943 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       535 
944 
     | 
    
         
             
                    {
         
     | 
| 
       536 
945 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       537 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 946 
     | 
    
         
            +
                      "name": "instanceNftId",
         
     | 
| 
       538 
947 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       539 
948 
     | 
    
         
             
                    },
         
     | 
| 
       540 
949 
     | 
    
         
             
                    {
         
     | 
| 
       541 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       542 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 950 
     | 
    
         
            +
                      "internalType": "address",
         
     | 
| 
      
 951 
     | 
    
         
            +
                      "name": "rewardProvider",
         
     | 
| 
      
 952 
     | 
    
         
            +
                      "type": "address"
         
     | 
| 
      
 953 
     | 
    
         
            +
                    },
         
     | 
| 
      
 954 
     | 
    
         
            +
                    {
         
     | 
| 
      
 955 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 956 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
       543 
957 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       544 
958 
     | 
    
         
             
                    }
         
     | 
| 
       545 
959 
     | 
    
         
             
                  ],
         
     | 
| 
       546 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 960 
     | 
    
         
            +
                  "name": "refillInstanceRewardReserves",
         
     | 
| 
       547 
961 
     | 
    
         
             
                  "outputs": [
         
     | 
| 
       548 
962 
     | 
    
         
             
                    {
         
     | 
| 
       549 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       550 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 963 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 964 
     | 
    
         
            +
                      "name": "newBalance",
         
     | 
| 
       551 
965 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       552 
     | 
    
         
            -
                    },
         
     | 
| 
       553 
     | 
    
         
            -
                    {
         
     | 
| 
       554 
     | 
    
         
            -
                      "internalType": "Timestamp",
         
     | 
| 
       555 
     | 
    
         
            -
                      "name": "unlockedAt",
         
     | 
| 
       556 
     | 
    
         
            -
                      "type": "uint40"
         
     | 
| 
       557 
966 
     | 
    
         
             
                    }
         
     | 
| 
       558 
967 
     | 
    
         
             
                  ],
         
     | 
| 
       559 
968 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
         @@ -567,13 +976,19 @@ 
     | 
|
| 
       567 
976 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       568 
977 
     | 
    
         
             
                    },
         
     | 
| 
       569 
978 
     | 
    
         
             
                    {
         
     | 
| 
       570 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       571 
     | 
    
         
            -
                      "name": " 
     | 
| 
       572 
     | 
    
         
            -
                      "type": " 
     | 
| 
      
 979 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 980 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
      
 981 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 982 
     | 
    
         
            +
                    }
         
     | 
| 
      
 983 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 984 
     | 
    
         
            +
                  "name": "refillRewardReservesBySender",
         
     | 
| 
      
 985 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 986 
     | 
    
         
            +
                    {
         
     | 
| 
      
 987 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 988 
     | 
    
         
            +
                      "name": "newBalance",
         
     | 
| 
      
 989 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
       573 
990 
     | 
    
         
             
                    }
         
     | 
| 
       574 
991 
     | 
    
         
             
                  ],
         
     | 
| 
       575 
     | 
    
         
            -
                  "name": "receiveTotalValueLockedData",
         
     | 
| 
       576 
     | 
    
         
            -
                  "outputs": [],
         
     | 
| 
       577 
992 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       578 
993 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       579 
994 
     | 
    
         
             
                },
         
     | 
| 
         @@ -594,29 +1009,94 @@ 
     | 
|
| 
       594 
1009 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
       595 
1010 
     | 
    
         
             
                    {
         
     | 
| 
       596 
1011 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       597 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 1012 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
       598 
1013 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       599 
1014 
     | 
    
         
             
                    },
         
     | 
| 
      
 1015 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1016 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1017 
     | 
    
         
            +
                      "name": "newTargetNftId",
         
     | 
| 
      
 1018 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1019 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1020 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1021 
     | 
    
         
            +
                  "name": "restakeToNewTarget",
         
     | 
| 
      
 1022 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 1023 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1024 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1025 
     | 
    
         
            +
                      "name": "newStakeNftId",
         
     | 
| 
      
 1026 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1027 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1028 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1029 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 1030 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 1031 
     | 
    
         
            +
                },
         
     | 
| 
      
 1032 
     | 
    
         
            +
                {
         
     | 
| 
      
 1033 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
       600 
1034 
     | 
    
         
             
                    {
         
     | 
| 
       601 
1035 
     | 
    
         
             
                      "internalType": "address",
         
     | 
| 
       602 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 1036 
     | 
    
         
            +
                      "name": "newAuthority",
         
     | 
| 
       603 
1037 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
       604 
1038 
     | 
    
         
             
                    }
         
     | 
| 
       605 
1039 
     | 
    
         
             
                  ],
         
     | 
| 
       606 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 1040 
     | 
    
         
            +
                  "name": "setAuthority",
         
     | 
| 
      
 1041 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 1042 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 1043 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 1044 
     | 
    
         
            +
                },
         
     | 
| 
      
 1045 
     | 
    
         
            +
                {
         
     | 
| 
      
 1046 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 1047 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1048 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1049 
     | 
    
         
            +
                      "name": "instanceNftId",
         
     | 
| 
      
 1050 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1051 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1052 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1053 
     | 
    
         
            +
                      "internalType": "Seconds",
         
     | 
| 
      
 1054 
     | 
    
         
            +
                      "name": "lockingPeriod",
         
     | 
| 
      
 1055 
     | 
    
         
            +
                      "type": "uint40"
         
     | 
| 
      
 1056 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1057 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1058 
     | 
    
         
            +
                  "name": "setInstanceLockingPeriod",
         
     | 
| 
      
 1059 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 1060 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 1061 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 1062 
     | 
    
         
            +
                },
         
     | 
| 
      
 1063 
     | 
    
         
            +
                {
         
     | 
| 
      
 1064 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 1065 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1066 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1067 
     | 
    
         
            +
                      "name": "instanceNftId",
         
     | 
| 
      
 1068 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1069 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1070 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1071 
     | 
    
         
            +
                      "internalType": "UFixed",
         
     | 
| 
      
 1072 
     | 
    
         
            +
                      "name": "rewardRate",
         
     | 
| 
      
 1073 
     | 
    
         
            +
                      "type": "uint256"
         
     | 
| 
      
 1074 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1075 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1076 
     | 
    
         
            +
                  "name": "setInstanceRewardRate",
         
     | 
| 
       607 
1077 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       608 
1078 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       609 
1079 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
       610 
1080 
     | 
    
         
             
                },
         
     | 
| 
       611 
1081 
     | 
    
         
             
                {
         
     | 
| 
       612 
1082 
     | 
    
         
             
                  "inputs": [
         
     | 
| 
      
 1083 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1084 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1085 
     | 
    
         
            +
                      "name": "targetNftId",
         
     | 
| 
      
 1086 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1087 
     | 
    
         
            +
                    },
         
     | 
| 
       613 
1088 
     | 
    
         
             
                    {
         
     | 
| 
       614 
1089 
     | 
    
         
             
                      "internalType": "address",
         
     | 
| 
       615 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 1090 
     | 
    
         
            +
                      "name": "token",
         
     | 
| 
       616 
1091 
     | 
    
         
             
                      "type": "address"
         
     | 
| 
      
 1092 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1093 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1094 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 1095 
     | 
    
         
            +
                      "name": "amount",
         
     | 
| 
      
 1096 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
       617 
1097 
     | 
    
         
             
                    }
         
     | 
| 
       618 
1098 
     | 
    
         
             
                  ],
         
     | 
| 
       619 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 1099 
     | 
    
         
            +
                  "name": "setTotalValueLocked",
         
     | 
| 
       620 
1100 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       621 
1101 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       622 
1102 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
         @@ -630,7 +1110,7 @@ 
     | 
|
| 
       630 
1110 
     | 
    
         
             
                    },
         
     | 
| 
       631 
1111 
     | 
    
         
             
                    {
         
     | 
| 
       632 
1112 
     | 
    
         
             
                      "internalType": "Amount",
         
     | 
| 
       633 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 1113 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
       634 
1114 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       635 
1115 
     | 
    
         
             
                    }
         
     | 
| 
       636 
1116 
     | 
    
         
             
                  ],
         
     | 
| 
         @@ -664,14 +1144,22 @@ 
     | 
|
| 
       664 
1144 
     | 
    
         
             
                      "internalType": "NftId",
         
     | 
| 
       665 
1145 
     | 
    
         
             
                      "name": "stakeNftId",
         
     | 
| 
       666 
1146 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       667 
     | 
    
         
            -
                    } 
     | 
| 
      
 1147 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1148 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1149 
     | 
    
         
            +
                  "name": "unstake",
         
     | 
| 
      
 1150 
     | 
    
         
            +
                  "outputs": [],
         
     | 
| 
      
 1151 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 1152 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
      
 1153 
     | 
    
         
            +
                },
         
     | 
| 
      
 1154 
     | 
    
         
            +
                {
         
     | 
| 
      
 1155 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
       668 
1156 
     | 
    
         
             
                    {
         
     | 
| 
       669 
     | 
    
         
            -
                      "internalType": " 
     | 
| 
       670 
     | 
    
         
            -
                      "name": " 
     | 
| 
      
 1157 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1158 
     | 
    
         
            +
                      "name": "stakeNftId",
         
     | 
| 
       671 
1159 
     | 
    
         
             
                      "type": "uint96"
         
     | 
| 
       672 
1160 
     | 
    
         
             
                    }
         
     | 
| 
       673 
1161 
     | 
    
         
             
                  ],
         
     | 
| 
       674 
     | 
    
         
            -
                  "name": " 
     | 
| 
      
 1162 
     | 
    
         
            +
                  "name": "updateRewards",
         
     | 
| 
       675 
1163 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       676 
1164 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       677 
1165 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
         @@ -688,78 +1176,166 @@ 
     | 
|
| 
       688 
1176 
     | 
    
         
             
                  "outputs": [],
         
     | 
| 
       689 
1177 
     | 
    
         
             
                  "stateMutability": "nonpayable",
         
     | 
| 
       690 
1178 
     | 
    
         
             
                  "type": "function"
         
     | 
| 
      
 1179 
     | 
    
         
            +
                },
         
     | 
| 
      
 1180 
     | 
    
         
            +
                {
         
     | 
| 
      
 1181 
     | 
    
         
            +
                  "inputs": [
         
     | 
| 
      
 1182 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1183 
     | 
    
         
            +
                      "internalType": "NftId",
         
     | 
| 
      
 1184 
     | 
    
         
            +
                      "name": "instanceNftId",
         
     | 
| 
      
 1185 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1186 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1187 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1188 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 1189 
     | 
    
         
            +
                      "name": "dipAmount",
         
     | 
| 
      
 1190 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1191 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1192 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1193 
     | 
    
         
            +
                  "name": "withdrawInstanceRewardReserves",
         
     | 
| 
      
 1194 
     | 
    
         
            +
                  "outputs": [
         
     | 
| 
      
 1195 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1196 
     | 
    
         
            +
                      "internalType": "Amount",
         
     | 
| 
      
 1197 
     | 
    
         
            +
                      "name": "newBalance",
         
     | 
| 
      
 1198 
     | 
    
         
            +
                      "type": "uint96"
         
     | 
| 
      
 1199 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1200 
     | 
    
         
            +
                  ],
         
     | 
| 
      
 1201 
     | 
    
         
            +
                  "stateMutability": "nonpayable",
         
     | 
| 
      
 1202 
     | 
    
         
            +
                  "type": "function"
         
     | 
| 
       691 
1203 
     | 
    
         
             
                }
         
     | 
| 
       692 
1204 
     | 
    
         
             
              ],
         
     | 
| 
       693 
     | 
    
         
            -
              "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b611c22806100df6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063675393bf1161010f578063ada9652e116100a2578063d44f8a4b11610071578063d44f8a4b14610495578063e61f8820146102e5578063ea48ce9b14610495578063f7c34ee0146104ac57600080fd5b8063ada9652e14610417578063b68d18091461042c578063bf7e214f1461043b578063d1c0d10d1461045957600080fd5b8063893d20e8116100de578063893d20e8146103b45780638cf81e46146103bc5780638e32e979146103e35780638fb36037146103f657600080fd5b8063675393bf146103785780636c1e9dff146102c0578063756b30de1461038b5780637a9e5e4b146103a157600080fd5b806326889b091161018757806336fc697e1161015657806336fc697e1461030657806349bb9e4b1461030e5780635ab1bd5314610321578063644c45e01461034657600080fd5b806326889b09146102c057806327bb7a33146102d25780632b911ead146102e5578063329d6e74146102f357600080fd5b80630fec111c116101c35780630fec111c1461025b578063138461e0146102705780631eff4b2214610278578063214cdb80146102ad57600080fd5b806301ffc9a7146101ea5780630aaba8e81461022c5780630d8e6e2c1461023f575b600080fd5b6102176101f8366004611504565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61023d61023a36600461154a565b50565b005b6102476104bf565b60405162ffffff9091168152602001610223565b610263610549565b60405161022391906115ad565b61023d61069c565b61029f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610223565b61023d6102bb366004611504565b6108a3565b61023d6102ce366004611638565b5050565b61023d6102e0366004611745565b6108d0565b61023d6102ce3660046117dd565b61023d61030136600461180b565b610975565b61023d610ac2565b61023d61031c36600461183f565b610b08565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610223565b600080516020611b8d833981519152546001600160601b03165b6040516001600160601b039091168152602001610223565b61023d61038636600461188e565b610c07565b610360610399366004611638565b600092915050565b61023d6103af36600461188e565b610d10565b61032e610daa565b61029f7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30081565b61023d6103f13660046118ab565b610ee1565b6103fe61111a565b6040516001600160e01b03199091168152602001610223565b61029f600080516020611b8d83398151915281565b60405160508152602001610223565b600080516020611bad833981519152546001600160a01b031661032e565b610470610467366004611638565b50600091829150565b604080516001600160601b03909316835264ffffffffff909116602083015201610223565b6103606104a33660046118f6565b60009392505050565b61023d6104ba366004611936565b611152565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190611954565b905090565b6040805160e0808201835260008083526020830181905282840181905260608084018290526080840182905260a0840182905260c0840152835191820190935290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300919081906001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016105f8610daa565b6001600160a01b0316815260200182600101805461061590611979565b80601f016020809104026020016040519081016040528092919081815260200182805461064190611979565b801561068e5780601f106106635761010080835404028352916020019161068e565b820191906000526020600020905b81548152906001019060200180831161067157829003601f168201915b505050505081525091505090565b6000600080516020611b8d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561070b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072f91906119b3565b156107605780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306107736001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df91906119b3565b6108075760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610757565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f91906119d0565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6108ab6111c9565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6108d86111c9565b6108e28287611152565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30161096b8382611a3b565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6109976104bf565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb9190611afa565b600080516020611bcd8339815191528054600160401b900460ff1680610a2e575080546001600160401b03808416911610155b15610a4c5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610a7683611202565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610aca6111c9565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020611bcd8339815191528054600160401b810460ff1615906001600160401b0316600081158015610b3b5750825b90506000826001600160401b03166001148015610b575750303b155b905081158015610b65575080155b15610b835760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bad57845460ff60401b1916600160401b1785555b610bb7878761120a565b8315610bfe57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610c0f6111c9565b806001600160a01b03163b600003610c455760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610757565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610cbf575060408051601f3d908101601f19168201909252610cbc918101906119b3565b60015b610ce75760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610757565b806102ce5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610757565b33610d30600080516020611bad833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610d6b5760405162d1953b60e31b81526001600160a01b0382166004820152602401610757565b816001600160a01b03163b600003610da1576040516361798f2f60e11b81526001600160a01b0383166004820152602401610757565b6102ce8261136e565b600080600080516020611b8d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e91906119b3565b15610ecb576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec59190611b23565b91505090565b54600160601b90046001600160a01b0316919050565b610ee96111c9565b610f6983846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f91906119d0565b603c600085604051806020016040528060008152506108d0565b6001600160a01b03821615610f8657610f81826113cf565b6110f5565b6000610f9a6001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101e9190611b40565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190611b23565b90506110f3816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee9190611b23565b6113cf565b505b611105634a531f3360e01b6108a3565b61111563b68d180960e01b6108a3565b505050565b600080516020611bad833981519152805460009190600160a01b900460ff16611144576000610ec5565b638fb3603760e01b91505090565b61115a6111c9565b61116381610c07565b61116b610ac2565b6001600160a01b0382166111925760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020611b8d83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080516020611bcd83398151915254600160401b900460ff1661120057604051631afcd79f60e31b815260040160405180910390fd5b565b6101e56111c9565b600080516020611bcd8339815191528054600160401b810460ff1615906001600160401b031660008115801561123d5750825b90506000826001600160401b031660011480156112595750303b155b905081158015611267575080155b156112855760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156112af57845460ff60401b1916600160401b1785555b6000868060200190518101906112c59190611b5d565b5090507f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa3006112f3608c6113e0565b81546001600160a01b0319166001600160a01b039190911617815561131a8260008b610ee1565b61132a630171f9d960e41b6108a3565b50508315610bfe57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610bf5565b600080516020611bad83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6113d76111c9565b61023a816114f3565b60006113f46001546001600160a01b031690565b6001600160a01b031663d39e60438361140b6104bf565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114849190611b40565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190611b23565b92915050565b6114fb6111c9565b61023a8161136e565b60006020828403121561151657600080fd5b81356001600160e01b03198116811461152e57600080fd5b9392505050565b6001600160601b038116811461023a57600080fd5b60006020828403121561155c57600080fd5b813561152e81611535565b6000815180845260005b8181101561158d57602081850181015186830182015201611571565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161161660c08401826001600160a01b03169052565b5060c083015160e080840152611630610100840182611567565b949350505050565b6000806040838503121561164b57600080fd5b823561165681611535565b9150602083013561166681611535565b809150509250929050565b6001600160a01b038116811461023a57600080fd5b60ff8116811461023a57600080fd5b801515811461023a57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116ca57600080fd5b81356001600160401b03808211156116e4576116e46116a3565b604051601f8301601f19908116603f0116810190828211818310171561170c5761170c6116a3565b8160405283815286602085880101111561172557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561175e57600080fd5b863561176981611671565b9550602087013561177981611535565b9450604087013561178981611686565b9350606087013561179981611695565b925060808701356117a981611671565b915060a08701356001600160401b038111156117c457600080fd5b6117d089828a016116b9565b9150509295509295509295565b600080604083850312156117f057600080fd5b82356117fb81611535565b9150602083013561166681611671565b60006020828403121561181d57600080fd5b81356001600160401b0381111561183357600080fd5b611630848285016116b9565b6000806040838503121561185257600080fd5b823561185d81611671565b915060208301356001600160401b0381111561187857600080fd5b611884858286016116b9565b9150509250929050565b6000602082840312156118a057600080fd5b813561152e81611671565b6000806000606084860312156118c057600080fd5b83356118cb81611671565b925060208401356118db81611671565b915060408401356118eb81611671565b809150509250925092565b60008060006060848603121561190b57600080fd5b833561191681611535565b9250602084013561192681611671565b915060408401356118eb81611535565b6000806040838503121561194957600080fd5b82356117fb81611671565b60006020828403121561196657600080fd5b815162ffffff8116811461152e57600080fd5b600181811c9082168061198d57607f821691505b6020821081036119ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119c557600080fd5b815161152e81611695565b6000602082840312156119e257600080fd5b815161152e81611535565b601f82111561111557600081815260208120601f850160051c81016020861015611a145750805b601f850160051c820191505b81811015611a3357828155600101611a20565b505050505050565b81516001600160401b03811115611a5457611a546116a3565b611a6881611a628454611979565b846119ed565b602080601f831160018114611a9d5760008415611a855750858301515b600019600386901b1c1916600185901b178555611a33565b600085815260208120601f198616915b82811015611acc57888601518255948401946001909101908401611aad565b5085821015611aea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611b0c57600080fd5b81516001600160401b038116811461152e57600080fd5b600060208284031215611b3557600080fd5b815161152e81611671565b600060208284031215611b5257600080fd5b815161152e81611686565b60008060408385031215611b7057600080fd5b8251611b7b81611671565b60208401519092506116668161167156fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d018dd586f6684bc6e36c0fab18e641878479ae886fc1fc0756d5e832217dc7e64736f6c63430008140033",
         
     | 
| 
       694 
     | 
    
         
            -
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063675393bf1161010f578063ada9652e116100a2578063d44f8a4b11610071578063d44f8a4b14610495578063e61f8820146102e5578063ea48ce9b14610495578063f7c34ee0146104ac57600080fd5b8063ada9652e14610417578063b68d18091461042c578063bf7e214f1461043b578063d1c0d10d1461045957600080fd5b8063893d20e8116100de578063893d20e8146103b45780638cf81e46146103bc5780638e32e979146103e35780638fb36037146103f657600080fd5b8063675393bf146103785780636c1e9dff146102c0578063756b30de1461038b5780637a9e5e4b146103a157600080fd5b806326889b091161018757806336fc697e1161015657806336fc697e1461030657806349bb9e4b1461030e5780635ab1bd5314610321578063644c45e01461034657600080fd5b806326889b09146102c057806327bb7a33146102d25780632b911ead146102e5578063329d6e74146102f357600080fd5b80630fec111c116101c35780630fec111c1461025b578063138461e0146102705780631eff4b2214610278578063214cdb80146102ad57600080fd5b806301ffc9a7146101ea5780630aaba8e81461022c5780630d8e6e2c1461023f575b600080fd5b6102176101f8366004611504565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61023d61023a36600461154a565b50565b005b6102476104bf565b60405162ffffff9091168152602001610223565b610263610549565b60405161022391906115ad565b61023d61069c565b61029f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610223565b61023d6102bb366004611504565b6108a3565b61023d6102ce366004611638565b5050565b61023d6102e0366004611745565b6108d0565b61023d6102ce3660046117dd565b61023d61030136600461180b565b610975565b61023d610ac2565b61023d61031c36600461183f565b610b08565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610223565b600080516020611b8d833981519152546001600160601b03165b6040516001600160601b039091168152602001610223565b61023d61038636600461188e565b610c07565b610360610399366004611638565b600092915050565b61023d6103af36600461188e565b610d10565b61032e610daa565b61029f7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30081565b61023d6103f13660046118ab565b610ee1565b6103fe61111a565b6040516001600160e01b03199091168152602001610223565b61029f600080516020611b8d83398151915281565b60405160508152602001610223565b600080516020611bad833981519152546001600160a01b031661032e565b610470610467366004611638565b50600091829150565b604080516001600160601b03909316835264ffffffffff909116602083015201610223565b6103606104a33660046118f6565b60009392505050565b61023d6104ba366004611936565b611152565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105449190611954565b905090565b6040805160e0808201835260008083526020830181905282840181905260608084018290526080840182905260a0840182905260c0840152835191820190935290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300919081906001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016105f8610daa565b6001600160a01b0316815260200182600101805461061590611979565b80601f016020809104026020016040519081016040528092919081815260200182805461064190611979565b801561068e5780601f106106635761010080835404028352916020019161068e565b820191906000526020600020905b81548152906001019060200180831161067157829003601f168201915b505050505081525091505090565b6000600080516020611b8d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561070b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072f91906119b3565b156107605780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b306107736001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df91906119b3565b6108075760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610757565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f91906119d0565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b6108ab6111c9565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6108d86111c9565b6108e28287611152565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30161096b8382611a3b565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c6109976104bf565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb9190611afa565b600080516020611bcd8339815191528054600160401b900460ff1680610a2e575080546001600160401b03808416911610155b15610a4c5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610a7683611202565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610aca6111c9565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020611bcd8339815191528054600160401b810460ff1615906001600160401b0316600081158015610b3b5750825b90506000826001600160401b03166001148015610b575750303b155b905081158015610b65575080155b15610b835760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bad57845460ff60401b1916600160401b1785555b610bb7878761120a565b8315610bfe57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610c0f6111c9565b806001600160a01b03163b600003610c455760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610757565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152630a3888e560e31b60048201526301ffc9a790602401602060405180830381865afa925050508015610cbf575060408051601f3d908101601f19168201909252610cbc918101906119b3565b60015b610ce75760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610757565b806102ce5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610757565b33610d30600080516020611bad833981519152546001600160a01b031690565b6001600160a01b0316816001600160a01b031614610d6b5760405162d1953b60e31b81526001600160a01b0382166004820152602401610757565b816001600160a01b03163b600003610da1576040516361798f2f60e11b81526001600160a01b0383166004820152602401610757565b6102ce8261136e565b600080600080516020611b8d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610e1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3e91906119b3565b15610ecb576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec59190611b23565b91505090565b54600160601b90046001600160a01b0316919050565b610ee96111c9565b610f6983846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f91906119d0565b603c600085604051806020016040528060008152506108d0565b6001600160a01b03821615610f8657610f81826113cf565b6110f5565b6000610f9a6001546001600160a01b031690565b6001600160a01b031663d39e60436028604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015610ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101e9190611b40565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190611b23565b90506110f3816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ee9190611b23565b6113cf565b505b611105634a531f3360e01b6108a3565b61111563b68d180960e01b6108a3565b505050565b600080516020611bad833981519152805460009190600160a01b900460ff16611144576000610ec5565b638fb3603760e01b91505090565b61115a6111c9565b61116381610c07565b61116b610ac2565b6001600160a01b0382166111925760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020611b8d83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080516020611bcd83398151915254600160401b900460ff1661120057604051631afcd79f60e31b815260040160405180910390fd5b565b6101e56111c9565b600080516020611bcd8339815191528054600160401b810460ff1615906001600160401b031660008115801561123d5750825b90506000826001600160401b031660011480156112595750303b155b905081158015611267575080155b156112855760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156112af57845460ff60401b1916600160401b1785555b6000868060200190518101906112c59190611b5d565b5090507f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa3006112f3608c6113e0565b81546001600160a01b0319166001600160a01b039190911617815561131a8260008b610ee1565b61132a630171f9d960e41b6108a3565b50508315610bfe57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610bf5565b600080516020611bad83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6113d76111c9565b61023a816114f3565b60006113f46001546001600160a01b031690565b6001600160a01b031663d39e60438361140b6104bf565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114849190611b40565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190611b23565b92915050565b6114fb6111c9565b61023a8161136e565b60006020828403121561151657600080fd5b81356001600160e01b03198116811461152e57600080fd5b9392505050565b6001600160601b038116811461023a57600080fd5b60006020828403121561155c57600080fd5b813561152e81611535565b6000815180845260005b8181101561158d57602081850181015186830182015201611571565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161161660c08401826001600160a01b03169052565b5060c083015160e080840152611630610100840182611567565b949350505050565b6000806040838503121561164b57600080fd5b823561165681611535565b9150602083013561166681611535565b809150509250929050565b6001600160a01b038116811461023a57600080fd5b60ff8116811461023a57600080fd5b801515811461023a57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126116ca57600080fd5b81356001600160401b03808211156116e4576116e46116a3565b604051601f8301601f19908116603f0116810190828211818310171561170c5761170c6116a3565b8160405283815286602085880101111561172557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561175e57600080fd5b863561176981611671565b9550602087013561177981611535565b9450604087013561178981611686565b9350606087013561179981611695565b925060808701356117a981611671565b915060a08701356001600160401b038111156117c457600080fd5b6117d089828a016116b9565b9150509295509295509295565b600080604083850312156117f057600080fd5b82356117fb81611535565b9150602083013561166681611671565b60006020828403121561181d57600080fd5b81356001600160401b0381111561183357600080fd5b611630848285016116b9565b6000806040838503121561185257600080fd5b823561185d81611671565b915060208301356001600160401b0381111561187857600080fd5b611884858286016116b9565b9150509250929050565b6000602082840312156118a057600080fd5b813561152e81611671565b6000806000606084860312156118c057600080fd5b83356118cb81611671565b925060208401356118db81611671565b915060408401356118eb81611671565b809150509250925092565b60008060006060848603121561190b57600080fd5b833561191681611535565b9250602084013561192681611671565b915060408401356118eb81611535565b6000806040838503121561194957600080fd5b82356117fb81611671565b60006020828403121561196657600080fd5b815162ffffff8116811461152e57600080fd5b600181811c9082168061198d57607f821691505b6020821081036119ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119c557600080fd5b815161152e81611695565b6000602082840312156119e257600080fd5b815161152e81611535565b601f82111561111557600081815260208120601f850160051c81016020861015611a145750805b601f850160051c820191505b81811015611a3357828155600101611a20565b505050505050565b81516001600160401b03811115611a5457611a546116a3565b611a6881611a628454611979565b846119ed565b602080601f831160018114611a9d5760008415611a855750858301515b600019600386901b1c1916600185901b178555611a33565b600085815260208120601f198616915b82811015611acc57888601518255948401946001909101908401611aad565b5085821015611aea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611b0c57600080fd5b81516001600160401b038116811461152e57600080fd5b600060208284031215611b3557600080fd5b815161152e81611671565b600060208284031215611b5257600080fd5b815161152e81611686565b60008060408385031215611b7057600080fd5b8251611b7b81611671565b60208401519092506116668161167156fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d018dd586f6684bc6e36c0fab18e641878479ae886fc1fc0756d5e832217dc7e64736f6c63430008140033",
         
     | 
| 
      
 1205 
     | 
    
         
            +
              "bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b613757806100d65f395ff3fe608060405234801561000f575f80fd5b5060043610610234575f3560e01c8063756b30de11610135578063a8b9328a116100b4578063dea4ccf211610079578063dea4ccf214610576578063dec3bdde14610589578063f11bcbe71461059c578063f67fef6d146105cc578063f7c34ee0146105df575f80fd5b8063a8b9328a14610525578063ada9652e14610538578063b68d18091461054c578063bf7e214f1461055b578063db1e36e714610563575f80fd5b8063893d20e8116100fa578063893d20e8146104c25780638cf81e46146104ca5780638e32e979146104de5780638fb36037146104f1578063943bd19714610512575f80fd5b8063756b30de146104465780637a9e5e4b146104595780637b1391a61461046c57806381d9b45f1461049c57806386b0e019146104af575f80fd5b8063329d6e74116101c1578063644c45e011610186578063644c45e0146103d0578063675393bf146103ed5780636c1e9dff146104005780636c741e7814610413578063719f761a14610433575f80fd5b8063329d6e741461034d57806336fc697e1461036057806343d752d31461036857806349bb9e4b146103ac5780635ab1bd53146103bf575f80fd5b8063138461e011610207578063138461e0146102bf5780631eff4b22146102df578063214cdb801461031457806321ece6571461032757806327bb7a331461033a575f80fd5b806301ffc9a7146102385780630d8e6e2c146102795780630fec111c1461029557806310a0638a146102aa575b5f80fd5b610264610246366004612ccd565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102816105f2565b60405162ffffff9091168152602001610270565b61029d610679565b6040516102709190612d22565b6102bd6102b8366004612dc2565b610837565b005b6102c76108f8565b6040516001600160601b039091168152602001610270565b6103067f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610270565b6102bd610322366004612ccd565b610902565b6102c7610335366004612ddd565b61092e565b6102bd610348366004612f27565b610af4565b6102bd61035b366004612fba565b610b99565b6102bd610ce3565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa303546001600160a01b03165b6040516001600160a01b039091168152602001610270565b6102bd6103ba366004612feb565b610d28565b6001546001600160a01b0316610394565b5f805160206136a2833981519152546001600160601b03166102c7565b6102bd6103fb366004613037565b610e24565b6102bd61040e366004612ddd565b610f36565b61041b611252565b6040516001600160401b039091168152602001610270565b6102bd610441366004612dc2565b611348565b6102c7610454366004612ddd565b611548565b6102bd610467366004613037565b6117b1565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa301546001600160a01b0316610394565b6102bd6104aa36600461306b565b611833565b6102c76104bd366004612ddd565b611920565b61039461193e565b6103065f805160206136e283398151915281565b6102bd6104ec3660046130a7565b611a6f565b6104f9611bac565b6040516001600160e01b03199091168152602001610270565b6102bd6105203660046130ef565b611be1565b6102bd61053336600461312c565b611bea565b6103065f805160206136a283398151915281565b60405160038152602001610270565b610394611c77565b6102bd610571366004613156565b611c92565b6102bd610584366004612dc2565b611d00565b6102c76105973660046130ef565b611f14565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa302546001600160a01b0316610394565b6102c76105da366004612ddd565b611f29565b6102bd6105ed366004613189565b611fe9565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906131b5565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074d91906131e2565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161079561193e565b6001600160a01b031681526020018260010180546107b2906131fd565b80601f01602080910402602001604051908101604052809291908181526020018280546107de906131fd565b80156108295780601f1061080057610100808354040283529160200191610829565b820191905f5260205f20905b81548152906001019060200180831161080c57829003601f168201915b505050505081525091505090565b610843335b5f3661205f565b5f5f805160206136e2833981519152600181015460405163085031c560e11b81526001600160601b03851660048201529192506001600160a01b0316906310a0638a906024015f604051808303815f87803b1580156108a0575f80fd5b505af11580156108b2573d5f803e3d5ffd5b50506040516001600160601b03851681527ff154111adc6084a644ef1d75dc89b5549b77bd22f0ceb8607501175f6cf3da35925060200190505b60405180910390a15050565b5f61067430612155565b61090a61234e565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b5f6109383361083c565b5f5f805160206136e2833981519152600181015460405163e8ce883d60e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063e8ce883d906044016020604051808303815f875af11580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906131e2565b91505f6109db6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03871660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610a28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4c9190613240565b90507f1cbf8b37af4df8c27db081983bda17400796238db4d1edf44edacf559b3a25d785828686604051610a83949392919061325b565b60405180910390a160018201546040516331449be960e11b81526001600160a01b039091169063628937d290610abf908490889060040161328f565b5f604051808303815f87803b158015610ad6575f80fd5b505af1158015610ae8573d5f803e3d5ffd5b50505050505092915050565b610afc61234e565b610b068287611fe9565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa301610b8f83826132fc565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610bbb6105f2565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610bf9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1d91906133ca565b5f805160206137028339815191528054600160401b900460ff1680610c4f575080546001600160401b03808416911610155b15610c6d5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610c9783612386565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610ceb61234e565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b5f805160206137028339815191528054600160401b810460ff1615906001600160401b03165f81158015610d595750825b90505f826001600160401b03166001148015610d745750303b155b905081158015610d82575080155b15610da05760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610dca57845460ff60401b1916600160401b1785555b610dd4878761238e565b8315610e1b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610e2c61234e565b806001600160a01b03163b5f03610e665760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152635e6bef4360e11b60048201526301ffc9a790602401602060405180830381865afa925050508015610ee0575060408051601f3d908101601f19168201909252610edd918101906133f0565b60015b610f085760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e5d565b80610f315760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610e5d565b505b50565b610f3f3361083c565b81610f526001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc39190613240565b6001600160a01b0316336001600160a01b0316146110975780610fee6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03841660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190613240565b604051620d652560ea1b81526001600160601b0390921660048301526001600160a01b03166024820152336044820152606401610e5d565b5f5f805160206136e28339815191526001810154604051636c1e9dff60e01b81526001600160601b0380881660048301528616602482015291925033915f916001600160a01b031690636c1e9dff906044016020604051808303815f875af1158015611105573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112991906131e2565b6040516330b8415f60e01b81526001600160601b038716600482015290915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015611182573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a691906133f0565b1561124a577f51bb449f96e2d4d2c1cbcba003bf8c0e4859c17581ce0bc7542fd6d6279e9b9d868387846040516111e0949392919061325b565b60405180910390a1600183015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd9061121c908590899060040161328f565b5f604051808303815f87803b158015611233575f80fd5b505af1158015611245573d5f803e3d5ffd5b505050505b505050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d36003604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156112bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e19190613416565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611324573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906133ca565b6113513361083c565b806113646001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d59190613240565b6001600160a01b0316336001600160a01b0316146114005780610fee6001546001600160a01b031690565b5f5f805160206136e283398151915260018101546040516338cfbb0d60e11b81526001600160601b038616600482015291925033915f916001600160a01b03169063719f761a906024016020604051808303815f875af1158015611466573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148a91906131e2565b604080516001600160601b0388811682526001600160a01b038616602083015283168183015290519192507f560ee8c0a69c814defd43602fe8eb63663bc8df678239a581d560f7ed67afda8919081900360600190a160018301546040516331449be960e11b81526001600160a01b039091169063628937d290611514908590859060040161328f565b5f604051808303815f87803b15801561152b575f80fd5b505af115801561153d573d5f803e3d5ffd5b505050505050505050565b5f6115523361083c565b5f805160206136e283398151915280546040805160e0810180835263bc1b392d60e01b9052905133926001600160a01b031691638105cc7f91819073__$94a2c899be079b00d952d0d84fffaa5c34$__9063bc1b392d9060e4808501916020918187030181865af41580156115c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ed91906131e2565b6001600160601b03168152602001886001600160601b03168152602001611612602190565b60ff1681526020015f151581526020015f6001600160a01b03168152602001846001600160a01b0316815260200160405180602001604052805f8152508152506040518263ffffffff1660e01b815260040161166e9190612d22565b6020604051808303815f875af115801561168a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ae91906131e2565b6001830154604051630c7b317360e21b81526001600160601b0380841660048301528089166024830152871660448201529194506001600160a01b0316906331ecc5cc906064015f604051808303815f87803b15801561170c575f80fd5b505af115801561171e573d5f803e3d5ffd5b5050604080516001600160601b03878116825289811660208301526001600160a01b038616828401528816606082015290517fbba1f5229b1626c1685c27c3604dd3296a6a69391e1ed009f8c176aa63b8e1d79350908190036080019150a1600182015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd90610abf908490889060040161328f565b336117ba611c77565b6001600160a01b0316816001600160a01b0316146117f55760405162d1953b60e31b81526001600160a01b0382166004820152602401610e5d565b816001600160a01b03163b5f0361182a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610e5d565b610f318261260e565b61183c3361083c565b465f805160206136e2833981519152600101546001600160a01b031663562119ee85600a6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044810184905264ffffffffff861660648201526084810185905260a4015f604051808303815f87803b1580156118c1575f80fd5b505af11580156118d3573d5f803e3d5ffd5b5050604080516001600160601b0388168152602081018590527f471a2845289928aa76c379fe01dc0310ebf5000e7a977935811e173bdda224bd935001905060405180910390a150505050565b5f61192a3361083c565b33611936848285612667565b949350505050565b5f805f805160206136a283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156119aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ce91906133f0565b15611a59576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a539190613240565b91505090565b54600160601b90046001600160a01b0316919050565b611a7761234e565b611af383846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ab7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611adb91906131e2565b60085f8560405180602001604052805f815250610af4565b6001600160a01b03821615611b1057611b0b8261279e565b611b87565b5f611b1b60026127af565b9050611b85816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b809190613240565b61279e565b505b611b97634a531f3360e01b610902565b611ba763daf9067160e01b610902565b505050565b5f805160206136c283398151915280545f9190600160a01b900460ff16611bd3575f611a53565b638fb3603760e01b91505090565b611ba73361083c565b611bf33361083c565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30154604051632a80f67360e01b81526001600160601b0384166004820152602481018390526001600160a01b0390911690632a80f673906044015b5f604051808303815f87803b158015611c65575f80fd5b505af115801561124a573d5f803e3d5ffd5b5f805160206136c2833981519152546001600160a01b031690565b611c9b3361083c565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30154604051635ecf260f60e01b81526001600160601b038416600482015264ffffffffff831660248201526001600160a01b0390911690635ecf260f90604401611c4e565b611d093361083c565b80611d1c6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611d69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8d9190613240565b6001600160a01b0316336001600160a01b031614611db85780610fee6001546001600160a01b031690565b5f5f805160206136e28339815191526001810154604051636f52667960e11b81526001600160601b038616600482015291925033915f9182916001600160a01b039091169063dea4ccf29060240160408051808303815f875af1158015611e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e459190613431565b915091505f611e5483836128b6565b604080516001600160601b038a811682526001600160a01b038816602083015283168183015290519192507fce678d95d8c12c4b7d7089c8f7db920fe5cc49352696a601b9e41f65ea3fd239919081900360600190a160018501546040516331449be960e11b81526001600160a01b039091169063628937d290611ede908790859060040161328f565b5f604051808303815f87803b158015611ef5575f80fd5b505af1158015611f07573d5f803e3d5ffd5b5050505050505050505050565b5f611f1e3361083c565b611936848484612667565b5f611f333361083c565b82611f466001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb79190613240565b6001600160a01b0316336001600160a01b031614611fe25780610fee6001546001600160a01b031690565b5092915050565b611ff161234e565b611ffa81610e24565b612002610ce3565b6001600160a01b0382166120295760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206136a283398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805160206136c28339815191525f8061209761207a611c77565b873061208960045f8a8c61345e565b61209291613485565b612941565b915091508161124a5763ffffffff81161561213257825460ff60a01b1916600160a01b1783556120c5611c77565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016120f4939291906134bb565b5f604051808303815f87803b15801561210b575f80fd5b505af115801561211d573d5f803e3d5ffd5b5050845460ff60a01b191685555061124a9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610e5d565b5f805f805160206136a283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156121c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e591906133f0565b156122115780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610e5d565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015612263573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061228791906133f0565b6122af5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610e5d565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015612301573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061232591906131e2565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f8051602061370283398151915254600160401b900460ff1661238457604051631afcd79f60e31b815260040160405180910390fd5b565b61023461234e565b5f805160206137028339815191528054600160401b810460ff1615906001600160401b03165f811580156123bf5750825b90505f826001600160401b031660011480156123da5750303b155b9050811580156123e8575080155b156124065760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561243057845460ff60401b1916600160401b1785555b5f805f8880602001905181019061244791906134fa565b92509250925061245882848c611a6f565b5f805160206136e283398151915261247060026127af565b81546001600160a01b0319166001600160a01b039190911617815561249482612a49565b6001820180546001600160a01b0319166001600160a01b03929092169182179055604080516321df0da760e01b815290516321df0da7916004808201926020929091908290030181865afa1580156124ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125129190613240565b6002820180546001600160a01b0319166001600160a01b039283161790556001820154604080516343d752d360e01b8152905191909216916343d752d39160048083019260209291908290030181865afa158015612572573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125969190613240565b6003820180546001600160a01b0319166001600160a01b03929092169190911790556125c8638694498960e01b610902565b505050508315610e1b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610e12565b5f805160206136c283398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016108ec565b5f805f805160206136e2833981519152600181015460405163de0eb85f60e01b81526001600160601b038089166004830152861660248201529192506001600160a01b03169063de0eb85f906044016020604051808303815f875af11580156126d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126f691906131e2565b91507fcf86366087b008a90b57f4e7b955b94599f589d7267649942abfd34305fe5b2f8585858560405161272d949392919061325b565b60405180910390a1600181015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd90612769908790879060040161328f565b5f604051808303815f87803b158015612780575f80fd5b505af1158015612792573d5f803e3d5ffd5b50505050509392505050565b6127a661234e565b610f3381612cbc565b5f6127c26001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015612825573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128499190613416565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561288c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b09190613240565b92915050565b60405163274acb3560e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af4158015612916573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061293a91906131e2565b9392505050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129af9190613539565b5f60405180830381855afa9150503d805f81146129e7576040519150601f19603f3d011682016040523d82523d5f602084013e6129ec565b606091505b50915091508115612a3e576040815110612a1e5780806020019051810190612a14919061354f565b9094509250612a3e565b6020815110612a3e5780806020019051810190612a3b91906133f0565b93505b505094509492505050565b5f80612a5d6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0385811660048301529190911690638b09a5f0906024015f60405180830381865afa158015612aa2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ac991908101906135d1565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612b25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b4991906133f0565b15612b9a57612b6a8160400151612b5e600390565b60ff9081169116141590565b15612b9357604051637dbf3cff60e11b81526001600160a01b0384166004820152602401610e5d565b5090919050565b6040516301ffc9a760e01b815263fef8804160e01b60048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa158015612be3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0791906133f0565b612c2f57604051632bf4d8e560e21b81526001600160a01b0384166004820152602401610e5d565b335f805160206136e28339815191525460405163c4c79d8b60e01b81526001600160a01b03868116600483015283811660248301529091169063c4c79d8b906044015f604051808303815f875af1158015612c8c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cb391908101906135d1565b50929392505050565b612cc461234e565b610f338161260e565b5f60208284031215612cdd575f80fd5b81356001600160e01b03198116811461293a575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612d6a608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152611936610100840182612cf4565b6001600160601b0381168114610f33575f80fd5b5f60208284031215612dd2575f80fd5b813561293a81612dae565b5f8060408385031215612dee575f80fd5b8235612df981612dae565b91506020830135612e0981612dae565b809150509250929050565b6001600160a01b0381168114610f33575f80fd5b60ff81168114610f33575f80fd5b8015158114610f33575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715612e7957612e79612e43565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612ea757612ea7612e43565b604052919050565b5f6001600160401b03821115612ec757612ec7612e43565b50601f01601f191660200190565b5f82601f830112612ee4575f80fd5b8135612ef7612ef282612eaf565b612e7f565b818152846020838601011115612f0b575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f8060c08789031215612f3c575f80fd5b8635612f4781612e14565b95506020870135612f5781612dae565b94506040870135612f6781612e28565b93506060870135612f7781612e36565b92506080870135612f8781612e14565b915060a08701356001600160401b03811115612fa1575f80fd5b612fad89828a01612ed5565b9150509295509295509295565b5f60208284031215612fca575f80fd5b81356001600160401b03811115612fdf575f80fd5b61193684828501612ed5565b5f8060408385031215612ffc575f80fd5b823561300781612e14565b915060208301356001600160401b03811115613021575f80fd5b61302d85828601612ed5565b9150509250929050565b5f60208284031215613047575f80fd5b813561293a81612e14565b803564ffffffffff81168114613066575f80fd5b919050565b5f805f6060848603121561307d575f80fd5b833561308881612dae565b925061309660208501613052565b929592945050506040919091013590565b5f805f606084860312156130b9575f80fd5b83356130c481612e14565b925060208401356130d481612e14565b915060408401356130e481612e14565b809150509250925092565b5f805f60608486031215613101575f80fd5b833561310c81612dae565b9250602084013561311c81612e14565b915060408401356130e481612dae565b5f806040838503121561313d575f80fd5b823561314881612dae565b946020939093013593505050565b5f8060408385031215613167575f80fd5b823561317281612dae565b915061318060208401613052565b90509250929050565b5f806040838503121561319a575f80fd5b82356131a581612e14565b91506020830135612e0981612e14565b5f602082840312156131c5575f80fd5b815162ffffff8116811461293a575f80fd5b805161306681612dae565b5f602082840312156131f2575f80fd5b815161293a81612dae565b600181811c9082168061321157607f821691505b60208210810361322f57634e487b7160e01b5f52602260045260245ffd5b50919050565b805161306681612e14565b5f60208284031215613250575f80fd5b815161293a81612e14565b6001600160601b0394851681526001600160a01b039390931660208401529083166040830152909116606082015260800190565b6001600160a01b039290921682526001600160601b0316602082015260400190565b601f821115611ba757805f5260205f20601f840160051c810160208510156132d65750805b601f840160051c820191505b818110156132f5575f81556001016132e2565b5050505050565b81516001600160401b0381111561331557613315612e43565b6133298161332384546131fd565b846132b1565b6020601f82116001811461335b575f83156133445750848201515b5f19600385901b1c1916600184901b1784556132f5565b5f84815260208120601f198516915b8281101561338a578785015182556020948501946001909201910161336a565b50848210156133a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160401b0381168114610f33575f80fd5b5f602082840312156133da575f80fd5b815161293a816133b6565b805161306681612e36565b5f60208284031215613400575f80fd5b815161293a81612e36565b805161306681612e28565b5f60208284031215613426575f80fd5b815161293a81612e28565b5f8060408385031215613442575f80fd5b825161344d81612dae565b6020840151909250612e0981612dae565b5f808585111561346c575f80fd5b83861115613478575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611fe2576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561350c575f80fd5b835161351781612e14565b602085015190935061352881612e14565b60408501519092506130e481612e14565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613560575f80fd5b825161356b81612e36565b602084015190925063ffffffff81168114612e09575f80fd5b5f82601f830112613593575f80fd5b81516135a1612ef282612eaf565b8181528460208386010111156135b5575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156135e1575f80fd5b81516001600160401b038111156135f6575f80fd5b820160e08185031215613607575f80fd5b61360f612e57565b613618826131d7565b8152613626602083016131d7565b60208201526136376040830161340b565b6040820152613648606083016133e5565b606082015261365960808301613235565b608082015261366a60a08301613235565b60a082015260c08201516001600160401b03811115613687575f80fd5b61369386828501613584565b60c08301525094935050505056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a006548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220bf16dd2284dbc6d08cf9215cdfea7bc39a39eba3c798af6434f491b400ce1e4d64736f6c634300081a0033",
         
     | 
| 
      
 1206 
     | 
    
         
            +
              "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610234575f3560e01c8063756b30de11610135578063a8b9328a116100b4578063dea4ccf211610079578063dea4ccf214610576578063dec3bdde14610589578063f11bcbe71461059c578063f67fef6d146105cc578063f7c34ee0146105df575f80fd5b8063a8b9328a14610525578063ada9652e14610538578063b68d18091461054c578063bf7e214f1461055b578063db1e36e714610563575f80fd5b8063893d20e8116100fa578063893d20e8146104c25780638cf81e46146104ca5780638e32e979146104de5780638fb36037146104f1578063943bd19714610512575f80fd5b8063756b30de146104465780637a9e5e4b146104595780637b1391a61461046c57806381d9b45f1461049c57806386b0e019146104af575f80fd5b8063329d6e74116101c1578063644c45e011610186578063644c45e0146103d0578063675393bf146103ed5780636c1e9dff146104005780636c741e7814610413578063719f761a14610433575f80fd5b8063329d6e741461034d57806336fc697e1461036057806343d752d31461036857806349bb9e4b146103ac5780635ab1bd53146103bf575f80fd5b8063138461e011610207578063138461e0146102bf5780631eff4b22146102df578063214cdb801461031457806321ece6571461032757806327bb7a331461033a575f80fd5b806301ffc9a7146102385780630d8e6e2c146102795780630fec111c1461029557806310a0638a146102aa575b5f80fd5b610264610246366004612ccd565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6102816105f2565b60405162ffffff9091168152602001610270565b61029d610679565b6040516102709190612d22565b6102bd6102b8366004612dc2565b610837565b005b6102c76108f8565b6040516001600160601b039091168152602001610270565b6103067f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610270565b6102bd610322366004612ccd565b610902565b6102c7610335366004612ddd565b61092e565b6102bd610348366004612f27565b610af4565b6102bd61035b366004612fba565b610b99565b6102bd610ce3565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa303546001600160a01b03165b6040516001600160a01b039091168152602001610270565b6102bd6103ba366004612feb565b610d28565b6001546001600160a01b0316610394565b5f805160206136a2833981519152546001600160601b03166102c7565b6102bd6103fb366004613037565b610e24565b6102bd61040e366004612ddd565b610f36565b61041b611252565b6040516001600160401b039091168152602001610270565b6102bd610441366004612dc2565b611348565b6102c7610454366004612ddd565b611548565b6102bd610467366004613037565b6117b1565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa301546001600160a01b0316610394565b6102bd6104aa36600461306b565b611833565b6102c76104bd366004612ddd565b611920565b61039461193e565b6103065f805160206136e283398151915281565b6102bd6104ec3660046130a7565b611a6f565b6104f9611bac565b6040516001600160e01b03199091168152602001610270565b6102bd6105203660046130ef565b611be1565b6102bd61053336600461312c565b611bea565b6103065f805160206136a283398151915281565b60405160038152602001610270565b610394611c77565b6102bd610571366004613156565b611c92565b6102bd610584366004612dc2565b611d00565b6102c76105973660046130ef565b611f14565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa302546001600160a01b0316610394565b6102c76105da366004612ddd565b611f29565b6102bd6105ed366004613189565b611fe9565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906131b5565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074d91906131e2565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161079561193e565b6001600160a01b031681526020018260010180546107b2906131fd565b80601f01602080910402602001604051908101604052809291908181526020018280546107de906131fd565b80156108295780601f1061080057610100808354040283529160200191610829565b820191905f5260205f20905b81548152906001019060200180831161080c57829003601f168201915b505050505081525091505090565b610843335b5f3661205f565b5f5f805160206136e2833981519152600181015460405163085031c560e11b81526001600160601b03851660048201529192506001600160a01b0316906310a0638a906024015f604051808303815f87803b1580156108a0575f80fd5b505af11580156108b2573d5f803e3d5ffd5b50506040516001600160601b03851681527ff154111adc6084a644ef1d75dc89b5549b77bd22f0ceb8607501175f6cf3da35925060200190505b60405180910390a15050565b5f61067430612155565b61090a61234e565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b5f6109383361083c565b5f5f805160206136e2833981519152600181015460405163e8ce883d60e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063e8ce883d906044016020604051808303815f875af11580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906131e2565b91505f6109db6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03871660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610a28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4c9190613240565b90507f1cbf8b37af4df8c27db081983bda17400796238db4d1edf44edacf559b3a25d785828686604051610a83949392919061325b565b60405180910390a160018201546040516331449be960e11b81526001600160a01b039091169063628937d290610abf908490889060040161328f565b5f604051808303815f87803b158015610ad6575f80fd5b505af1158015610ae8573d5f803e3d5ffd5b50505050505092915050565b610afc61234e565b610b068287611fe9565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa301610b8f83826132fc565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610bbb6105f2565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610bf9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1d91906133ca565b5f805160206137028339815191528054600160401b900460ff1680610c4f575080546001600160401b03808416911610155b15610c6d5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610c9783612386565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610ceb61234e565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b5f805160206137028339815191528054600160401b810460ff1615906001600160401b03165f81158015610d595750825b90505f826001600160401b03166001148015610d745750303b155b905081158015610d82575080155b15610da05760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610dca57845460ff60401b1916600160401b1785555b610dd4878761238e565b8315610e1b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b610e2c61234e565b806001600160a01b03163b5f03610e665760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152635e6bef4360e11b60048201526301ffc9a790602401602060405180830381865afa925050508015610ee0575060408051601f3d908101601f19168201909252610edd918101906133f0565b60015b610f085760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e5d565b80610f315760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610e5d565b505b50565b610f3f3361083c565b81610f526001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc39190613240565b6001600160a01b0316336001600160a01b0316146110975780610fee6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03841660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190613240565b604051620d652560ea1b81526001600160601b0390921660048301526001600160a01b03166024820152336044820152606401610e5d565b5f5f805160206136e28339815191526001810154604051636c1e9dff60e01b81526001600160601b0380881660048301528616602482015291925033915f916001600160a01b031690636c1e9dff906044016020604051808303815f875af1158015611105573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112991906131e2565b6040516330b8415f60e01b81526001600160601b038716600482015290915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015611182573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a691906133f0565b1561124a577f51bb449f96e2d4d2c1cbcba003bf8c0e4859c17581ce0bc7542fd6d6279e9b9d868387846040516111e0949392919061325b565b60405180910390a1600183015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd9061121c908590899060040161328f565b5f604051808303815f87803b158015611233575f80fd5b505af1158015611245573d5f803e3d5ffd5b505050505b505050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d36003604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156112bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e19190613416565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611324573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906133ca565b6113513361083c565b806113646001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156113b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d59190613240565b6001600160a01b0316336001600160a01b0316146114005780610fee6001546001600160a01b031690565b5f5f805160206136e283398151915260018101546040516338cfbb0d60e11b81526001600160601b038616600482015291925033915f916001600160a01b03169063719f761a906024016020604051808303815f875af1158015611466573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148a91906131e2565b604080516001600160601b0388811682526001600160a01b038616602083015283168183015290519192507f560ee8c0a69c814defd43602fe8eb63663bc8df678239a581d560f7ed67afda8919081900360600190a160018301546040516331449be960e11b81526001600160a01b039091169063628937d290611514908590859060040161328f565b5f604051808303815f87803b15801561152b575f80fd5b505af115801561153d573d5f803e3d5ffd5b505050505050505050565b5f6115523361083c565b5f805160206136e283398151915280546040805160e0810180835263bc1b392d60e01b9052905133926001600160a01b031691638105cc7f91819073__$94a2c899be079b00d952d0d84fffaa5c34$__9063bc1b392d9060e4808501916020918187030181865af41580156115c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ed91906131e2565b6001600160601b03168152602001886001600160601b03168152602001611612602190565b60ff1681526020015f151581526020015f6001600160a01b03168152602001846001600160a01b0316815260200160405180602001604052805f8152508152506040518263ffffffff1660e01b815260040161166e9190612d22565b6020604051808303815f875af115801561168a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ae91906131e2565b6001830154604051630c7b317360e21b81526001600160601b0380841660048301528089166024830152871660448201529194506001600160a01b0316906331ecc5cc906064015f604051808303815f87803b15801561170c575f80fd5b505af115801561171e573d5f803e3d5ffd5b5050604080516001600160601b03878116825289811660208301526001600160a01b038616828401528816606082015290517fbba1f5229b1626c1685c27c3604dd3296a6a69391e1ed009f8c176aa63b8e1d79350908190036080019150a1600182015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd90610abf908490889060040161328f565b336117ba611c77565b6001600160a01b0316816001600160a01b0316146117f55760405162d1953b60e31b81526001600160a01b0382166004820152602401610e5d565b816001600160a01b03163b5f0361182a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610e5d565b610f318261260e565b61183c3361083c565b465f805160206136e2833981519152600101546001600160a01b031663562119ee85600a6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff1660248201526044810184905264ffffffffff861660648201526084810185905260a4015f604051808303815f87803b1580156118c1575f80fd5b505af11580156118d3573d5f803e3d5ffd5b5050604080516001600160601b0388168152602081018590527f471a2845289928aa76c379fe01dc0310ebf5000e7a977935811e173bdda224bd935001905060405180910390a150505050565b5f61192a3361083c565b33611936848285612667565b949350505050565b5f805f805160206136a283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156119aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ce91906133f0565b15611a59576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a539190613240565b91505090565b54600160601b90046001600160a01b0316919050565b611a7761234e565b611af383846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ab7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611adb91906131e2565b60085f8560405180602001604052805f815250610af4565b6001600160a01b03821615611b1057611b0b8261279e565b611b87565b5f611b1b60026127af565b9050611b85816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b809190613240565b61279e565b505b611b97634a531f3360e01b610902565b611ba763daf9067160e01b610902565b505050565b5f805160206136c283398151915280545f9190600160a01b900460ff16611bd3575f611a53565b638fb3603760e01b91505090565b611ba73361083c565b611bf33361083c565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30154604051632a80f67360e01b81526001600160601b0384166004820152602481018390526001600160a01b0390911690632a80f673906044015b5f604051808303815f87803b158015611c65575f80fd5b505af115801561124a573d5f803e3d5ffd5b5f805160206136c2833981519152546001600160a01b031690565b611c9b3361083c565b7f6548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa30154604051635ecf260f60e01b81526001600160601b038416600482015264ffffffffff831660248201526001600160a01b0390911690635ecf260f90604401611c4e565b611d093361083c565b80611d1c6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611d69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8d9190613240565b6001600160a01b0316336001600160a01b031614611db85780610fee6001546001600160a01b031690565b5f5f805160206136e28339815191526001810154604051636f52667960e11b81526001600160601b038616600482015291925033915f9182916001600160a01b039091169063dea4ccf29060240160408051808303815f875af1158015611e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e459190613431565b915091505f611e5483836128b6565b604080516001600160601b038a811682526001600160a01b038816602083015283168183015290519192507fce678d95d8c12c4b7d7089c8f7db920fe5cc49352696a601b9e41f65ea3fd239919081900360600190a160018501546040516331449be960e11b81526001600160a01b039091169063628937d290611ede908790859060040161328f565b5f604051808303815f87803b158015611ef5575f80fd5b505af1158015611f07573d5f803e3d5ffd5b5050505050505050505050565b5f611f1e3361083c565b611936848484612667565b5f611f333361083c565b82611f466001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611f93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb79190613240565b6001600160a01b0316336001600160a01b031614611fe25780610fee6001546001600160a01b031690565b5092915050565b611ff161234e565b611ffa81610e24565b612002610ce3565b6001600160a01b0382166120295760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206136a283398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805160206136c28339815191525f8061209761207a611c77565b873061208960045f8a8c61345e565b61209291613485565b612941565b915091508161124a5763ffffffff81161561213257825460ff60a01b1916600160a01b1783556120c5611c77565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016120f4939291906134bb565b5f604051808303815f87803b15801561210b575f80fd5b505af115801561211d573d5f803e3d5ffd5b5050845460ff60a01b191685555061124a9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610e5d565b5f805f805160206136a283398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156121c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121e591906133f0565b156122115780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610e5d565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015612263573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061228791906133f0565b6122af5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610e5d565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015612301573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061232591906131e2565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f8051602061370283398151915254600160401b900460ff1661238457604051631afcd79f60e31b815260040160405180910390fd5b565b61023461234e565b5f805160206137028339815191528054600160401b810460ff1615906001600160401b03165f811580156123bf5750825b90505f826001600160401b031660011480156123da5750303b155b9050811580156123e8575080155b156124065760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561243057845460ff60401b1916600160401b1785555b5f805f8880602001905181019061244791906134fa565b92509250925061245882848c611a6f565b5f805160206136e283398151915261247060026127af565b81546001600160a01b0319166001600160a01b039190911617815561249482612a49565b6001820180546001600160a01b0319166001600160a01b03929092169182179055604080516321df0da760e01b815290516321df0da7916004808201926020929091908290030181865afa1580156124ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125129190613240565b6002820180546001600160a01b0319166001600160a01b039283161790556001820154604080516343d752d360e01b8152905191909216916343d752d39160048083019260209291908290030181865afa158015612572573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125969190613240565b6003820180546001600160a01b0319166001600160a01b03929092169190911790556125c8638694498960e01b610902565b505050508315610e1b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610e12565b5f805160206136c283398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016108ec565b5f805f805160206136e2833981519152600181015460405163de0eb85f60e01b81526001600160601b038089166004830152861660248201529192506001600160a01b03169063de0eb85f906044016020604051808303815f875af11580156126d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126f691906131e2565b91507fcf86366087b008a90b57f4e7b955b94599f589d7267649942abfd34305fe5b2f8585858560405161272d949392919061325b565b60405180910390a1600181015460405163e3a817cd60e01b81526001600160a01b039091169063e3a817cd90612769908790879060040161328f565b5f604051808303815f87803b158015612780575f80fd5b505af1158015612792573d5f803e3d5ffd5b50505050509392505050565b6127a661234e565b610f3381612cbc565b5f6127c26001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015612825573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128499190613416565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561288c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b09190613240565b92915050565b60405163274acb3560e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af4158015612916573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061293a91906131e2565b9392505050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516129af9190613539565b5f60405180830381855afa9150503d805f81146129e7576040519150601f19603f3d011682016040523d82523d5f602084013e6129ec565b606091505b50915091508115612a3e576040815110612a1e5780806020019051810190612a14919061354f565b9094509250612a3e565b6020815110612a3e5780806020019051810190612a3b91906133f0565b93505b505094509492505050565b5f80612a5d6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0385811660048301529190911690638b09a5f0906024015f60405180830381865afa158015612aa2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ac991908101906135d1565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015612b25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b4991906133f0565b15612b9a57612b6a8160400151612b5e600390565b60ff9081169116141590565b15612b9357604051637dbf3cff60e11b81526001600160a01b0384166004820152602401610e5d565b5090919050565b6040516301ffc9a760e01b815263fef8804160e01b60048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa158015612be3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0791906133f0565b612c2f57604051632bf4d8e560e21b81526001600160a01b0384166004820152602401610e5d565b335f805160206136e28339815191525460405163c4c79d8b60e01b81526001600160a01b03868116600483015283811660248301529091169063c4c79d8b906044015f604051808303815f875af1158015612c8c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cb391908101906135d1565b50929392505050565b612cc461234e565b610f338161260e565b5f60208284031215612cdd575f80fd5b81356001600160e01b03198116811461293a575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151612d6a608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152611936610100840182612cf4565b6001600160601b0381168114610f33575f80fd5b5f60208284031215612dd2575f80fd5b813561293a81612dae565b5f8060408385031215612dee575f80fd5b8235612df981612dae565b91506020830135612e0981612dae565b809150509250929050565b6001600160a01b0381168114610f33575f80fd5b60ff81168114610f33575f80fd5b8015158114610f33575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715612e7957612e79612e43565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612ea757612ea7612e43565b604052919050565b5f6001600160401b03821115612ec757612ec7612e43565b50601f01601f191660200190565b5f82601f830112612ee4575f80fd5b8135612ef7612ef282612eaf565b612e7f565b818152846020838601011115612f0b575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f8060c08789031215612f3c575f80fd5b8635612f4781612e14565b95506020870135612f5781612dae565b94506040870135612f6781612e28565b93506060870135612f7781612e36565b92506080870135612f8781612e14565b915060a08701356001600160401b03811115612fa1575f80fd5b612fad89828a01612ed5565b9150509295509295509295565b5f60208284031215612fca575f80fd5b81356001600160401b03811115612fdf575f80fd5b61193684828501612ed5565b5f8060408385031215612ffc575f80fd5b823561300781612e14565b915060208301356001600160401b03811115613021575f80fd5b61302d85828601612ed5565b9150509250929050565b5f60208284031215613047575f80fd5b813561293a81612e14565b803564ffffffffff81168114613066575f80fd5b919050565b5f805f6060848603121561307d575f80fd5b833561308881612dae565b925061309660208501613052565b929592945050506040919091013590565b5f805f606084860312156130b9575f80fd5b83356130c481612e14565b925060208401356130d481612e14565b915060408401356130e481612e14565b809150509250925092565b5f805f60608486031215613101575f80fd5b833561310c81612dae565b9250602084013561311c81612e14565b915060408401356130e481612dae565b5f806040838503121561313d575f80fd5b823561314881612dae565b946020939093013593505050565b5f8060408385031215613167575f80fd5b823561317281612dae565b915061318060208401613052565b90509250929050565b5f806040838503121561319a575f80fd5b82356131a581612e14565b91506020830135612e0981612e14565b5f602082840312156131c5575f80fd5b815162ffffff8116811461293a575f80fd5b805161306681612dae565b5f602082840312156131f2575f80fd5b815161293a81612dae565b600181811c9082168061321157607f821691505b60208210810361322f57634e487b7160e01b5f52602260045260245ffd5b50919050565b805161306681612e14565b5f60208284031215613250575f80fd5b815161293a81612e14565b6001600160601b0394851681526001600160a01b039390931660208401529083166040830152909116606082015260800190565b6001600160a01b039290921682526001600160601b0316602082015260400190565b601f821115611ba757805f5260205f20601f840160051c810160208510156132d65750805b601f840160051c820191505b818110156132f5575f81556001016132e2565b5050505050565b81516001600160401b0381111561331557613315612e43565b6133298161332384546131fd565b846132b1565b6020601f82116001811461335b575f83156133445750848201515b5f19600385901b1c1916600184901b1784556132f5565b5f84815260208120601f198516915b8281101561338a578785015182556020948501946001909201910161336a565b50848210156133a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160401b0381168114610f33575f80fd5b5f602082840312156133da575f80fd5b815161293a816133b6565b805161306681612e36565b5f60208284031215613400575f80fd5b815161293a81612e36565b805161306681612e28565b5f60208284031215613426575f80fd5b815161293a81612e28565b5f8060408385031215613442575f80fd5b825161344d81612dae565b6020840151909250612e0981612dae565b5f808585111561346c575f80fd5b83861115613478575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611fe2576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561350c575f80fd5b835161351781612e14565b602085015190935061352881612e14565b60408501519092506130e481612e14565b5f82518060208501845e5f920191825250919050565b5f8060408385031215613560575f80fd5b825161356b81612e36565b602084015190925063ffffffff81168114612e09575f80fd5b5f82601f830112613593575f80fd5b81516135a1612ef282612eaf565b8181528460208386010111156135b5575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156135e1575f80fd5b81516001600160401b038111156135f6575f80fd5b820160e08185031215613607575f80fd5b61360f612e57565b613618826131d7565b8152613626602083016131d7565b60208201526136376040830161340b565b6040820152613648606083016133e5565b606082015261365960808301613235565b608082015261366a60a08301613235565b60a082015260c08201516001600160401b03811115613687575f80fd5b61369386828501613584565b60c08301525094935050505056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a006548005c3f4340f82f348c576c0ff69f7f529cadd5ad41f96aae61abceeaa300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220bf16dd2284dbc6d08cf9215cdfea7bc39a39eba3c798af6434f491b400ce1e4d64736f6c634300081a0033",
         
     | 
| 
       695 
1207 
     | 
    
         
             
              "linkReferences": {
         
     | 
| 
      
 1208 
     | 
    
         
            +
                "contracts/type/Amount.sol": {
         
     | 
| 
      
 1209 
     | 
    
         
            +
                  "AmountLib": [
         
     | 
| 
      
 1210 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1211 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1212 
     | 
    
         
            +
                      "start": 4640
         
     | 
| 
      
 1213 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1214 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1215 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1216 
     | 
    
         
            +
                      "start": 10676
         
     | 
| 
      
 1217 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1218 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 1219 
     | 
    
         
            +
                },
         
     | 
| 
       696 
1220 
     | 
    
         
             
                "contracts/type/NftId.sol": {
         
     | 
| 
       697 
1221 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       698 
1222 
     | 
    
         
             
                    {
         
     | 
| 
       699 
1223 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       700 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1224 
     | 
    
         
            +
                      "start": 1978
         
     | 
| 
       701 
1225 
     | 
    
         
             
                    },
         
     | 
| 
       702 
1226 
     | 
    
         
             
                    {
         
     | 
| 
       703 
1227 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       704 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1228 
     | 
    
         
            +
                      "start": 5733
         
     | 
| 
      
 1229 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1230 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1231 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1232 
     | 
    
         
            +
                      "start": 6728
         
     | 
| 
      
 1233 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1234 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1235 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1236 
     | 
    
         
            +
                      "start": 8799
         
     | 
| 
      
 1237 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1238 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1239 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1240 
     | 
    
         
            +
                      "start": 11203
         
     | 
| 
       705 
1241 
     | 
    
         
             
                    }
         
     | 
| 
       706 
1242 
     | 
    
         
             
                  ]
         
     | 
| 
       707 
1243 
     | 
    
         
             
                },
         
     | 
| 
       708 
     | 
    
         
            -
                "contracts/type/ 
     | 
| 
       709 
     | 
    
         
            -
                  " 
     | 
| 
      
 1244 
     | 
    
         
            +
                "contracts/type/RoleId.sol": {
         
     | 
| 
      
 1245 
     | 
    
         
            +
                  "RoleIdLib": [
         
     | 
| 
       710 
1246 
     | 
    
         
             
                    {
         
     | 
| 
       711 
1247 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       712 
     | 
    
         
            -
                      "start":  
     | 
| 
       713 
     | 
    
         
            -
                    } 
     | 
| 
      
 1248 
     | 
    
         
            +
                      "start": 4907
         
     | 
| 
      
 1249 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1250 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 1251 
     | 
    
         
            +
                },
         
     | 
| 
      
 1252 
     | 
    
         
            +
                "contracts/type/Version.sol": {
         
     | 
| 
      
 1253 
     | 
    
         
            +
                  "VersionLib": [
         
     | 
| 
       714 
1254 
     | 
    
         
             
                    {
         
     | 
| 
       715 
1255 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       716 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1256 
     | 
    
         
            +
                      "start": 1774
         
     | 
| 
       717 
1257 
     | 
    
         
             
                    },
         
     | 
| 
       718 
1258 
     | 
    
         
             
                    {
         
     | 
| 
       719 
1259 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       720 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1260 
     | 
    
         
            +
                      "start": 3185
         
     | 
| 
       721 
1261 
     | 
    
         
             
                    }
         
     | 
| 
       722 
1262 
     | 
    
         
             
                  ],
         
     | 
| 
       723 
1263 
     | 
    
         
             
                  "VersionPartLib": [
         
     | 
| 
       724 
1264 
     | 
    
         
             
                    {
         
     | 
| 
       725 
1265 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       726 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1266 
     | 
    
         
            +
                      "start": 4955
         
     | 
| 
      
 1267 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1268 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1269 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1270 
     | 
    
         
            +
                      "start": 10435
         
     | 
| 
       727 
1271 
     | 
    
         
             
                    }
         
     | 
| 
       728 
1272 
     | 
    
         
             
                  ]
         
     | 
| 
       729 
1273 
     | 
    
         
             
                }
         
     | 
| 
       730 
1274 
     | 
    
         
             
              },
         
     | 
| 
       731 
1275 
     | 
    
         
             
              "deployedLinkReferences": {
         
     | 
| 
      
 1276 
     | 
    
         
            +
                "contracts/type/Amount.sol": {
         
     | 
| 
      
 1277 
     | 
    
         
            +
                  "AmountLib": [
         
     | 
| 
      
 1278 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1279 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1280 
     | 
    
         
            +
                      "start": 4426
         
     | 
| 
      
 1281 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1282 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1283 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1284 
     | 
    
         
            +
                      "start": 10462
         
     | 
| 
      
 1285 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1286 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 1287 
     | 
    
         
            +
                },
         
     | 
| 
       732 
1288 
     | 
    
         
             
                "contracts/type/NftId.sol": {
         
     | 
| 
       733 
1289 
     | 
    
         
             
                  "NftIdLib": [
         
     | 
| 
       734 
1290 
     | 
    
         
             
                    {
         
     | 
| 
       735 
1291 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       736 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1292 
     | 
    
         
            +
                      "start": 1764
         
     | 
| 
      
 1293 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1294 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1295 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1296 
     | 
    
         
            +
                      "start": 5519
         
     | 
| 
      
 1297 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1298 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1299 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1300 
     | 
    
         
            +
                      "start": 6514
         
     | 
| 
      
 1301 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1302 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1303 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1304 
     | 
    
         
            +
                      "start": 8585
         
     | 
| 
       737 
1305 
     | 
    
         
             
                    },
         
     | 
| 
       738 
1306 
     | 
    
         
             
                    {
         
     | 
| 
       739 
1307 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       740 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1308 
     | 
    
         
            +
                      "start": 10989
         
     | 
| 
       741 
1309 
     | 
    
         
             
                    }
         
     | 
| 
       742 
1310 
     | 
    
         
             
                  ]
         
     | 
| 
       743 
1311 
     | 
    
         
             
                },
         
     | 
| 
       744 
     | 
    
         
            -
                "contracts/type/ 
     | 
| 
       745 
     | 
    
         
            -
                  " 
     | 
| 
      
 1312 
     | 
    
         
            +
                "contracts/type/RoleId.sol": {
         
     | 
| 
      
 1313 
     | 
    
         
            +
                  "RoleIdLib": [
         
     | 
| 
       746 
1314 
     | 
    
         
             
                    {
         
     | 
| 
       747 
1315 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       748 
     | 
    
         
            -
                      "start":  
     | 
| 
       749 
     | 
    
         
            -
                    } 
     | 
| 
      
 1316 
     | 
    
         
            +
                      "start": 4693
         
     | 
| 
      
 1317 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1318 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 1319 
     | 
    
         
            +
                },
         
     | 
| 
      
 1320 
     | 
    
         
            +
                "contracts/type/Version.sol": {
         
     | 
| 
      
 1321 
     | 
    
         
            +
                  "VersionLib": [
         
     | 
| 
       750 
1322 
     | 
    
         
             
                    {
         
     | 
| 
       751 
1323 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       752 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1324 
     | 
    
         
            +
                      "start": 1560
         
     | 
| 
       753 
1325 
     | 
    
         
             
                    },
         
     | 
| 
       754 
1326 
     | 
    
         
             
                    {
         
     | 
| 
       755 
1327 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       756 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1328 
     | 
    
         
            +
                      "start": 2971
         
     | 
| 
       757 
1329 
     | 
    
         
             
                    }
         
     | 
| 
       758 
1330 
     | 
    
         
             
                  ],
         
     | 
| 
       759 
1331 
     | 
    
         
             
                  "VersionPartLib": [
         
     | 
| 
       760 
1332 
     | 
    
         
             
                    {
         
     | 
| 
       761 
1333 
     | 
    
         
             
                      "length": 20,
         
     | 
| 
       762 
     | 
    
         
            -
                      "start":  
     | 
| 
      
 1334 
     | 
    
         
            +
                      "start": 4741
         
     | 
| 
      
 1335 
     | 
    
         
            +
                    },
         
     | 
| 
      
 1336 
     | 
    
         
            +
                    {
         
     | 
| 
      
 1337 
     | 
    
         
            +
                      "length": 20,
         
     | 
| 
      
 1338 
     | 
    
         
            +
                      "start": 10221
         
     | 
| 
       763 
1339 
     | 
    
         
             
                    }
         
     | 
| 
       764 
1340 
     | 
    
         
             
                  ]
         
     | 
| 
       765 
1341 
     | 
    
         
             
                }
         
     |