@etherisc/gif-next 0.0.2-f831797-539 → 0.0.2-f8e07c7-917
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +38 -86
- 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 +1524 -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 +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +231 -322
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +280 -212
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +147 -317
- 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 +278 -1906
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +318 -70
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +402 -2689
- 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 +784 -333
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +379 -265
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +115 -74
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
- 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 -49
- 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 +25 -150
- 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 +1185 -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 +802 -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/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +251 -297
- 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/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +291 -133
- 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 +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +218 -145
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +292 -250
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1288 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -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 +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +174 -202
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +146 -153
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +80 -64
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1276 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +191 -18
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +199 -149
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +453 -34
- 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 +372 -97
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
- 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 +316 -153
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +160 -78
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1640 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +100 -113
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +196 -52
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +977 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +223 -198
- 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 +3 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +96 -19
- 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/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -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 +15 -22
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +103 -21
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -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 +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- 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 +2237 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- 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 +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
- 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 +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- 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 +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +33 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +10 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
- 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 +218 -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 +149 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +46 -0
- package/contracts/{components → distribution}/Distribution.sol +163 -159
- package/contracts/distribution/DistributionService.sol +288 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +47 -0
- package/contracts/{instance/service → distribution}/IDistributionService.sol +25 -38
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +30 -31
- package/contracts/instance/IInstance.sol +60 -67
- package/contracts/instance/IInstanceService.sol +56 -24
- package/contracts/instance/Instance.sol +175 -216
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +172 -61
- package/contracts/instance/InstanceService.sol +310 -356
- package/contracts/instance/InstanceServiceManager.sol +12 -26
- package/contracts/instance/InstanceStore.sol +276 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +106 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
- package/contracts/instance/module/IAccess.sol +19 -20
- package/contracts/instance/module/IBundle.sol +8 -9
- package/contracts/instance/module/IComponents.sol +21 -5
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +28 -16
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
- 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 +170 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +164 -0
- package/contracts/pool/BasicPoolAuthorization.sol +52 -0
- package/contracts/pool/BundleService.sol +284 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +106 -0
- package/contracts/pool/IPoolComponent.sol +51 -0
- package/contracts/pool/IPoolService.sol +150 -0
- package/contracts/pool/Pool.sol +311 -0
- package/contracts/pool/PoolService.sol +436 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +230 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/product/BasicProduct.sol +82 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +416 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +15 -35
- package/contracts/product/IClaimService.sol +99 -0
- package/contracts/{instance/service → product}/IPolicyService.sol +37 -31
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +40 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/{components → product}/Product.sol +209 -110
- package/contracts/product/ProductService.sol +99 -0
- package/contracts/product/ProductServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +16 -1
- package/contracts/registry/IRegistry.sol +61 -26
- package/contracts/registry/IRegistryService.sol +44 -42
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +251 -139
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +70 -101
- package/contracts/registry/RegistryServiceManager.sol +23 -32
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +487 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- package/contracts/shared/Component.sol +274 -0
- package/contracts/shared/ComponentService.sol +622 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/{components → shared}/IComponent.sol +23 -27
- package/contracts/shared/IComponentService.sol +112 -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 +2 -2
- package/contracts/shared/IPolicyHolder.sol +29 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +15 -8
- package/contracts/shared/InitializableCustom.sol +177 -0
- 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 +3 -16
- package/contracts/shared/PolicyHolder.sol +40 -19
- package/contracts/shared/Registerable.sol +13 -12
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +47 -23
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/staking/IStaking.sol +167 -0
- package/contracts/staking/IStakingService.sol +160 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +514 -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 +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +128 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/ClaimId.sol +25 -2
- package/contracts/{types → type}/Fee.sol +33 -24
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +271 -0
- package/contracts/{types → type}/PayoutId.sol +33 -5
- package/contracts/{types → type}/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +174 -0
- package/contracts/{types → type}/Seconds.sol +27 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +33 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +10 -1
- package/contracts/{types → type}/UFixed.sol +6 -0
- package/contracts/{types → type}/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +36 -7
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +1 -1
- package/package.json +8 -5
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -783
- 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 -984
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- 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/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1093
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1724
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -801
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -428
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1021
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -816
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -653
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
- 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 -547
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- 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 -582
- 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/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -241
- package/contracts/components/IDistributionComponent.sol +0 -71
- package/contracts/components/IPoolComponent.sol +0 -113
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/components/Pool.sol +0 -299
- package/contracts/instance/InstanceAccessManager.sol +0 -297
- package/contracts/instance/base/ComponentService.sol +0 -134
- package/contracts/instance/base/KeyValueStore.sol +0 -175
- package/contracts/instance/base/Lifecycle.sol +0 -109
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -350
- package/contracts/instance/service/BundleService.sol +0 -336
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/DistributionService.sol +0 -450
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -62
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/instance/service/IPoolService.sol +0 -35
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -403
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -163
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -233
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -322
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -95
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
@@ -4,8 +4,30 @@
|
|
4
4
|
"sourceName": "contracts/instance/InstanceService.sol",
|
5
5
|
"abi": [
|
6
6
|
{
|
7
|
-
"inputs": [
|
8
|
-
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "authority",
|
11
|
+
"type": "address"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"name": "AccessManagedInvalidAuthority",
|
15
|
+
"type": "error"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"inputs": [
|
19
|
+
{
|
20
|
+
"internalType": "address",
|
21
|
+
"name": "caller",
|
22
|
+
"type": "address"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"internalType": "uint32",
|
26
|
+
"name": "delay",
|
27
|
+
"type": "uint32"
|
28
|
+
}
|
29
|
+
],
|
30
|
+
"name": "AccessManagedRequiredDelay",
|
9
31
|
"type": "error"
|
10
32
|
},
|
11
33
|
{
|
@@ -16,17 +38,17 @@
|
|
16
38
|
"type": "address"
|
17
39
|
}
|
18
40
|
],
|
19
|
-
"name": "
|
41
|
+
"name": "AccessManagedUnauthorized",
|
20
42
|
"type": "error"
|
21
43
|
},
|
22
44
|
{
|
23
45
|
"inputs": [],
|
24
|
-
"name": "
|
46
|
+
"name": "ERC1167FailedCreateClone",
|
25
47
|
"type": "error"
|
26
48
|
},
|
27
49
|
{
|
28
50
|
"inputs": [],
|
29
|
-
"name": "
|
51
|
+
"name": "ErrorInstanceServiceAccessManagerZero",
|
30
52
|
"type": "error"
|
31
53
|
},
|
32
54
|
{
|
@@ -34,6 +56,27 @@
|
|
34
56
|
"name": "ErrorInstanceServiceBundleMangerInstanceMismatch",
|
35
57
|
"type": "error"
|
36
58
|
},
|
59
|
+
{
|
60
|
+
"inputs": [],
|
61
|
+
"name": "ErrorInstanceServiceBundleSetAuthorityMismatch",
|
62
|
+
"type": "error"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"inputs": [],
|
66
|
+
"name": "ErrorInstanceServiceBundleSetZero",
|
67
|
+
"type": "error"
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"inputs": [
|
71
|
+
{
|
72
|
+
"internalType": "address",
|
73
|
+
"name": "component",
|
74
|
+
"type": "address"
|
75
|
+
}
|
76
|
+
],
|
77
|
+
"name": "ErrorInstanceServiceComponentNotInstanceLinked",
|
78
|
+
"type": "error"
|
79
|
+
},
|
37
80
|
{
|
38
81
|
"inputs": [
|
39
82
|
{
|
@@ -50,11 +93,32 @@
|
|
50
93
|
"name": "ErrorInstanceServiceInstanceAddressZero",
|
51
94
|
"type": "error"
|
52
95
|
},
|
96
|
+
{
|
97
|
+
"inputs": [],
|
98
|
+
"name": "ErrorInstanceServiceInstanceAdminZero",
|
99
|
+
"type": "error"
|
100
|
+
},
|
53
101
|
{
|
54
102
|
"inputs": [],
|
55
103
|
"name": "ErrorInstanceServiceInstanceAuthorityMismatch",
|
56
104
|
"type": "error"
|
57
105
|
},
|
106
|
+
{
|
107
|
+
"inputs": [
|
108
|
+
{
|
109
|
+
"internalType": "NftId",
|
110
|
+
"name": "instanceNftId",
|
111
|
+
"type": "uint96"
|
112
|
+
},
|
113
|
+
{
|
114
|
+
"internalType": "NftId",
|
115
|
+
"name": "componentNftId",
|
116
|
+
"type": "uint96"
|
117
|
+
}
|
118
|
+
],
|
119
|
+
"name": "ErrorInstanceServiceInstanceComponentMismatch",
|
120
|
+
"type": "error"
|
121
|
+
},
|
58
122
|
{
|
59
123
|
"inputs": [],
|
60
124
|
"name": "ErrorInstanceServiceInstanceReaderAddressZero",
|
@@ -80,6 +144,32 @@
|
|
80
144
|
"name": "ErrorInstanceServiceInstanceReaderZero",
|
81
145
|
"type": "error"
|
82
146
|
},
|
147
|
+
{
|
148
|
+
"inputs": [],
|
149
|
+
"name": "ErrorInstanceServiceInstanceStoreAuthorityMismatch",
|
150
|
+
"type": "error"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"inputs": [],
|
154
|
+
"name": "ErrorInstanceServiceInstanceStoreZero",
|
155
|
+
"type": "error"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"inputs": [
|
159
|
+
{
|
160
|
+
"internalType": "address",
|
161
|
+
"name": "instance",
|
162
|
+
"type": "address"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"internalType": "VersionPart",
|
166
|
+
"name": "instanceVersion",
|
167
|
+
"type": "uint8"
|
168
|
+
}
|
169
|
+
],
|
170
|
+
"name": "ErrorInstanceServiceInstanceVersionMismatch",
|
171
|
+
"type": "error"
|
172
|
+
},
|
83
173
|
{
|
84
174
|
"inputs": [
|
85
175
|
{
|
@@ -103,12 +193,12 @@
|
|
103
193
|
},
|
104
194
|
{
|
105
195
|
"inputs": [],
|
106
|
-
"name": "
|
196
|
+
"name": "ErrorInstanceServiceMasterBundleSetAlreadySet",
|
107
197
|
"type": "error"
|
108
198
|
},
|
109
199
|
{
|
110
200
|
"inputs": [],
|
111
|
-
"name": "
|
201
|
+
"name": "ErrorInstanceServiceMasterInstanceAdminAlreadySet",
|
112
202
|
"type": "error"
|
113
203
|
},
|
114
204
|
{
|
@@ -125,16 +215,38 @@
|
|
125
215
|
"inputs": [
|
126
216
|
{
|
127
217
|
"internalType": "address",
|
128
|
-
"name": "
|
218
|
+
"name": "instance",
|
129
219
|
"type": "address"
|
130
220
|
},
|
221
|
+
{
|
222
|
+
"internalType": "ObjectType",
|
223
|
+
"name": "objectType",
|
224
|
+
"type": "uint8"
|
225
|
+
}
|
226
|
+
],
|
227
|
+
"name": "ErrorInstanceServiceNotInstance",
|
228
|
+
"type": "error"
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"inputs": [
|
131
232
|
{
|
132
233
|
"internalType": "NftId",
|
133
|
-
"name": "
|
234
|
+
"name": "nftId",
|
134
235
|
"type": "uint96"
|
135
236
|
}
|
136
237
|
],
|
137
|
-
"name": "
|
238
|
+
"name": "ErrorInstanceServiceNotInstanceNftId",
|
239
|
+
"type": "error"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"inputs": [
|
243
|
+
{
|
244
|
+
"internalType": "address",
|
245
|
+
"name": "instance",
|
246
|
+
"type": "address"
|
247
|
+
}
|
248
|
+
],
|
249
|
+
"name": "ErrorInstanceServiceNotRegistered",
|
138
250
|
"type": "error"
|
139
251
|
},
|
140
252
|
{
|
@@ -197,6 +309,11 @@
|
|
197
309
|
"name": "ErrorNotRegistry",
|
198
310
|
"type": "error"
|
199
311
|
},
|
312
|
+
{
|
313
|
+
"inputs": [],
|
314
|
+
"name": "ErrorServiceNotImplemented",
|
315
|
+
"type": "error"
|
316
|
+
},
|
200
317
|
{
|
201
318
|
"inputs": [],
|
202
319
|
"name": "InvalidInitialization",
|
@@ -207,6 +324,19 @@
|
|
207
324
|
"name": "NotInitializing",
|
208
325
|
"type": "error"
|
209
326
|
},
|
327
|
+
{
|
328
|
+
"anonymous": false,
|
329
|
+
"inputs": [
|
330
|
+
{
|
331
|
+
"indexed": false,
|
332
|
+
"internalType": "address",
|
333
|
+
"name": "authority",
|
334
|
+
"type": "address"
|
335
|
+
}
|
336
|
+
],
|
337
|
+
"name": "AuthorityUpdated",
|
338
|
+
"type": "event"
|
339
|
+
},
|
210
340
|
{
|
211
341
|
"anonymous": false,
|
212
342
|
"inputs": [
|
@@ -225,27 +355,15 @@
|
|
225
355
|
"inputs": [
|
226
356
|
{
|
227
357
|
"indexed": false,
|
228
|
-
"internalType": "
|
229
|
-
"name": "
|
230
|
-
"type": "
|
231
|
-
},
|
232
|
-
{
|
233
|
-
"indexed": false,
|
234
|
-
"internalType": "address",
|
235
|
-
"name": "clonedInstanceAddress",
|
236
|
-
"type": "address"
|
358
|
+
"internalType": "NftId",
|
359
|
+
"name": "instanceNftId",
|
360
|
+
"type": "uint96"
|
237
361
|
},
|
238
362
|
{
|
239
363
|
"indexed": false,
|
240
364
|
"internalType": "address",
|
241
|
-
"name": "
|
365
|
+
"name": "instance",
|
242
366
|
"type": "address"
|
243
|
-
},
|
244
|
-
{
|
245
|
-
"indexed": false,
|
246
|
-
"internalType": "NftId",
|
247
|
-
"name": "clonedInstanceNftId",
|
248
|
-
"type": "uint96"
|
249
367
|
}
|
250
368
|
],
|
251
369
|
"name": "LogInstanceCloned",
|
@@ -290,6 +408,19 @@
|
|
290
408
|
"stateMutability": "view",
|
291
409
|
"type": "function"
|
292
410
|
},
|
411
|
+
{
|
412
|
+
"inputs": [],
|
413
|
+
"name": "authority",
|
414
|
+
"outputs": [
|
415
|
+
{
|
416
|
+
"internalType": "address",
|
417
|
+
"name": "",
|
418
|
+
"type": "address"
|
419
|
+
}
|
420
|
+
],
|
421
|
+
"stateMutability": "view",
|
422
|
+
"type": "function"
|
423
|
+
},
|
293
424
|
{
|
294
425
|
"inputs": [
|
295
426
|
{
|
@@ -306,22 +437,60 @@
|
|
306
437
|
"internalType": "string",
|
307
438
|
"name": "targetName",
|
308
439
|
"type": "string"
|
440
|
+
},
|
441
|
+
{
|
442
|
+
"internalType": "bytes4[][]",
|
443
|
+
"name": "selectors",
|
444
|
+
"type": "bytes4[][]"
|
445
|
+
},
|
446
|
+
{
|
447
|
+
"internalType": "RoleId[]",
|
448
|
+
"name": "roles",
|
449
|
+
"type": "uint64[]"
|
309
450
|
}
|
310
451
|
],
|
311
|
-
"name": "
|
452
|
+
"name": "createComponentTarget",
|
312
453
|
"outputs": [],
|
313
454
|
"stateMutability": "nonpayable",
|
314
455
|
"type": "function"
|
315
456
|
},
|
316
457
|
{
|
317
|
-
"inputs": [
|
318
|
-
|
319
|
-
|
458
|
+
"inputs": [
|
459
|
+
{
|
460
|
+
"internalType": "NftId",
|
461
|
+
"name": "instanceNftId",
|
462
|
+
"type": "uint96"
|
463
|
+
},
|
320
464
|
{
|
321
|
-
"internalType": "
|
322
|
-
"name": "
|
465
|
+
"internalType": "address",
|
466
|
+
"name": "targetAddress",
|
323
467
|
"type": "address"
|
324
468
|
},
|
469
|
+
{
|
470
|
+
"internalType": "string",
|
471
|
+
"name": "targetName",
|
472
|
+
"type": "string"
|
473
|
+
},
|
474
|
+
{
|
475
|
+
"internalType": "bytes4[][]",
|
476
|
+
"name": "selectors",
|
477
|
+
"type": "bytes4[][]"
|
478
|
+
},
|
479
|
+
{
|
480
|
+
"internalType": "RoleId[]",
|
481
|
+
"name": "roles",
|
482
|
+
"type": "uint64[]"
|
483
|
+
}
|
484
|
+
],
|
485
|
+
"name": "createGifTarget",
|
486
|
+
"outputs": [],
|
487
|
+
"stateMutability": "nonpayable",
|
488
|
+
"type": "function"
|
489
|
+
},
|
490
|
+
{
|
491
|
+
"inputs": [],
|
492
|
+
"name": "createInstance",
|
493
|
+
"outputs": [
|
325
494
|
{
|
326
495
|
"internalType": "contract Instance",
|
327
496
|
"name": "clonedInstance",
|
@@ -331,16 +500,6 @@
|
|
331
500
|
"internalType": "NftId",
|
332
501
|
"name": "clonedInstanceNftId",
|
333
502
|
"type": "uint96"
|
334
|
-
},
|
335
|
-
{
|
336
|
-
"internalType": "contract InstanceReader",
|
337
|
-
"name": "clonedInstanceReader",
|
338
|
-
"type": "address"
|
339
|
-
},
|
340
|
-
{
|
341
|
-
"internalType": "contract BundleManager",
|
342
|
-
"name": "clonedBundleManager",
|
343
|
-
"type": "address"
|
344
503
|
}
|
345
504
|
],
|
346
505
|
"stateMutability": "nonpayable",
|
@@ -352,7 +511,7 @@
|
|
352
511
|
"outputs": [
|
353
512
|
{
|
354
513
|
"internalType": "ObjectType",
|
355
|
-
"name": "",
|
514
|
+
"name": "serviceDomain",
|
356
515
|
"type": "uint8"
|
357
516
|
}
|
358
517
|
],
|
@@ -409,58 +568,6 @@
|
|
409
568
|
"stateMutability": "view",
|
410
569
|
"type": "function"
|
411
570
|
},
|
412
|
-
{
|
413
|
-
"inputs": [],
|
414
|
-
"name": "getMajorVersion",
|
415
|
-
"outputs": [
|
416
|
-
{
|
417
|
-
"internalType": "VersionPart",
|
418
|
-
"name": "majorVersion",
|
419
|
-
"type": "uint8"
|
420
|
-
}
|
421
|
-
],
|
422
|
-
"stateMutability": "view",
|
423
|
-
"type": "function"
|
424
|
-
},
|
425
|
-
{
|
426
|
-
"inputs": [],
|
427
|
-
"name": "getMasterInstance",
|
428
|
-
"outputs": [
|
429
|
-
{
|
430
|
-
"internalType": "address",
|
431
|
-
"name": "",
|
432
|
-
"type": "address"
|
433
|
-
}
|
434
|
-
],
|
435
|
-
"stateMutability": "view",
|
436
|
-
"type": "function"
|
437
|
-
},
|
438
|
-
{
|
439
|
-
"inputs": [],
|
440
|
-
"name": "getMasterInstanceAccessManager",
|
441
|
-
"outputs": [
|
442
|
-
{
|
443
|
-
"internalType": "address",
|
444
|
-
"name": "",
|
445
|
-
"type": "address"
|
446
|
-
}
|
447
|
-
],
|
448
|
-
"stateMutability": "view",
|
449
|
-
"type": "function"
|
450
|
-
},
|
451
|
-
{
|
452
|
-
"inputs": [],
|
453
|
-
"name": "getMasterInstanceBundleManager",
|
454
|
-
"outputs": [
|
455
|
-
{
|
456
|
-
"internalType": "address",
|
457
|
-
"name": "",
|
458
|
-
"type": "address"
|
459
|
-
}
|
460
|
-
],
|
461
|
-
"stateMutability": "view",
|
462
|
-
"type": "function"
|
463
|
-
},
|
464
571
|
{
|
465
572
|
"inputs": [],
|
466
573
|
"name": "getMasterInstanceReader",
|
@@ -515,15 +622,15 @@
|
|
515
622
|
},
|
516
623
|
{
|
517
624
|
"inputs": [],
|
518
|
-
"name": "
|
625
|
+
"name": "getRoleId",
|
519
626
|
"outputs": [
|
520
627
|
{
|
521
|
-
"internalType": "
|
522
|
-
"name": "",
|
523
|
-
"type": "
|
628
|
+
"internalType": "RoleId",
|
629
|
+
"name": "serviceRoleId",
|
630
|
+
"type": "uint64"
|
524
631
|
}
|
525
632
|
],
|
526
|
-
"stateMutability": "
|
633
|
+
"stateMutability": "pure",
|
527
634
|
"type": "function"
|
528
635
|
},
|
529
636
|
{
|
@@ -547,96 +654,16 @@
|
|
547
654
|
"type": "uint96"
|
548
655
|
},
|
549
656
|
{
|
550
|
-
"internalType": "
|
551
|
-
"name": "
|
552
|
-
"type": "address"
|
553
|
-
},
|
554
|
-
{
|
555
|
-
"internalType": "string",
|
556
|
-
"name": "distributionName",
|
557
|
-
"type": "string"
|
558
|
-
}
|
559
|
-
],
|
560
|
-
"name": "grantDistributionDefaultPermissions",
|
561
|
-
"outputs": [],
|
562
|
-
"stateMutability": "nonpayable",
|
563
|
-
"type": "function"
|
564
|
-
},
|
565
|
-
{
|
566
|
-
"inputs": [
|
567
|
-
{
|
568
|
-
"internalType": "NftId",
|
569
|
-
"name": "instanceNftId",
|
570
|
-
"type": "uint96"
|
571
|
-
},
|
572
|
-
{
|
573
|
-
"internalType": "address",
|
574
|
-
"name": "poolAddress",
|
575
|
-
"type": "address"
|
576
|
-
},
|
577
|
-
{
|
578
|
-
"internalType": "string",
|
579
|
-
"name": "poolName",
|
580
|
-
"type": "string"
|
581
|
-
}
|
582
|
-
],
|
583
|
-
"name": "grantPoolDefaultPermissions",
|
584
|
-
"outputs": [],
|
585
|
-
"stateMutability": "nonpayable",
|
586
|
-
"type": "function"
|
587
|
-
},
|
588
|
-
{
|
589
|
-
"inputs": [
|
590
|
-
{
|
591
|
-
"internalType": "NftId",
|
592
|
-
"name": "instanceNftId",
|
593
|
-
"type": "uint96"
|
594
|
-
},
|
595
|
-
{
|
596
|
-
"internalType": "address",
|
597
|
-
"name": "productAddress",
|
657
|
+
"internalType": "contract IInstanceLinkedComponent",
|
658
|
+
"name": "component",
|
598
659
|
"type": "address"
|
599
|
-
},
|
600
|
-
{
|
601
|
-
"internalType": "string",
|
602
|
-
"name": "productName",
|
603
|
-
"type": "string"
|
604
660
|
}
|
605
661
|
],
|
606
|
-
"name": "
|
662
|
+
"name": "initializeAuthorization",
|
607
663
|
"outputs": [],
|
608
664
|
"stateMutability": "nonpayable",
|
609
665
|
"type": "function"
|
610
666
|
},
|
611
|
-
{
|
612
|
-
"inputs": [
|
613
|
-
{
|
614
|
-
"internalType": "address",
|
615
|
-
"name": "account",
|
616
|
-
"type": "address"
|
617
|
-
},
|
618
|
-
{
|
619
|
-
"internalType": "RoleId",
|
620
|
-
"name": "role",
|
621
|
-
"type": "uint64"
|
622
|
-
},
|
623
|
-
{
|
624
|
-
"internalType": "address",
|
625
|
-
"name": "instanceAddress",
|
626
|
-
"type": "address"
|
627
|
-
}
|
628
|
-
],
|
629
|
-
"name": "hasRole",
|
630
|
-
"outputs": [
|
631
|
-
{
|
632
|
-
"internalType": "bool",
|
633
|
-
"name": "",
|
634
|
-
"type": "bool"
|
635
|
-
}
|
636
|
-
],
|
637
|
-
"stateMutability": "view",
|
638
|
-
"type": "function"
|
639
|
-
},
|
640
667
|
{
|
641
668
|
"inputs": [],
|
642
669
|
"name": "initializeERC165",
|
@@ -720,6 +747,11 @@
|
|
720
747
|
"name": "registry",
|
721
748
|
"type": "address"
|
722
749
|
},
|
750
|
+
{
|
751
|
+
"internalType": "address",
|
752
|
+
"name": "authority",
|
753
|
+
"type": "address"
|
754
|
+
},
|
723
755
|
{
|
724
756
|
"internalType": "address",
|
725
757
|
"name": "initialOwner",
|
@@ -749,9 +781,46 @@
|
|
749
781
|
"stateMutability": "nonpayable",
|
750
782
|
"type": "function"
|
751
783
|
},
|
784
|
+
{
|
785
|
+
"inputs": [],
|
786
|
+
"name": "isConsumingScheduledOp",
|
787
|
+
"outputs": [
|
788
|
+
{
|
789
|
+
"internalType": "bytes4",
|
790
|
+
"name": "",
|
791
|
+
"type": "bytes4"
|
792
|
+
}
|
793
|
+
],
|
794
|
+
"stateMutability": "view",
|
795
|
+
"type": "function"
|
796
|
+
},
|
752
797
|
{
|
753
798
|
"inputs": [],
|
754
799
|
"name": "linkToRegisteredNftId",
|
800
|
+
"outputs": [
|
801
|
+
{
|
802
|
+
"internalType": "NftId",
|
803
|
+
"name": "nftId",
|
804
|
+
"type": "uint96"
|
805
|
+
}
|
806
|
+
],
|
807
|
+
"stateMutability": "nonpayable",
|
808
|
+
"type": "function"
|
809
|
+
},
|
810
|
+
{
|
811
|
+
"inputs": [
|
812
|
+
{
|
813
|
+
"internalType": "address",
|
814
|
+
"name": "rewardProvider",
|
815
|
+
"type": "address"
|
816
|
+
},
|
817
|
+
{
|
818
|
+
"internalType": "Amount",
|
819
|
+
"name": "dipAmount",
|
820
|
+
"type": "uint96"
|
821
|
+
}
|
822
|
+
],
|
823
|
+
"name": "refillStakingRewardReserves",
|
755
824
|
"outputs": [],
|
756
825
|
"stateMutability": "nonpayable",
|
757
826
|
"type": "function"
|
@@ -792,29 +861,50 @@
|
|
792
861
|
"inputs": [
|
793
862
|
{
|
794
863
|
"internalType": "address",
|
795
|
-
"name": "
|
864
|
+
"name": "newAuthority",
|
796
865
|
"type": "address"
|
797
866
|
}
|
798
867
|
],
|
799
|
-
"name": "
|
868
|
+
"name": "setAuthority",
|
800
869
|
"outputs": [],
|
801
870
|
"stateMutability": "nonpayable",
|
802
871
|
"type": "function"
|
803
872
|
},
|
804
873
|
{
|
805
874
|
"inputs": [
|
806
|
-
{
|
807
|
-
"internalType": "string",
|
808
|
-
"name": "targetName",
|
809
|
-
"type": "string"
|
810
|
-
},
|
811
875
|
{
|
812
876
|
"internalType": "bool",
|
813
877
|
"name": "locked",
|
814
878
|
"type": "bool"
|
815
879
|
}
|
816
880
|
],
|
817
|
-
"name": "
|
881
|
+
"name": "setComponentLocked",
|
882
|
+
"outputs": [],
|
883
|
+
"stateMutability": "nonpayable",
|
884
|
+
"type": "function"
|
885
|
+
},
|
886
|
+
{
|
887
|
+
"inputs": [
|
888
|
+
{
|
889
|
+
"internalType": "Seconds",
|
890
|
+
"name": "stakeLockingPeriod",
|
891
|
+
"type": "uint40"
|
892
|
+
}
|
893
|
+
],
|
894
|
+
"name": "setStakingLockingPeriod",
|
895
|
+
"outputs": [],
|
896
|
+
"stateMutability": "nonpayable",
|
897
|
+
"type": "function"
|
898
|
+
},
|
899
|
+
{
|
900
|
+
"inputs": [
|
901
|
+
{
|
902
|
+
"internalType": "UFixed",
|
903
|
+
"name": "rewardRate",
|
904
|
+
"type": "uint256"
|
905
|
+
}
|
906
|
+
],
|
907
|
+
"name": "setStakingRewardRate",
|
818
908
|
"outputs": [],
|
819
909
|
"stateMutability": "nonpayable",
|
820
910
|
"type": "function"
|
@@ -851,6 +941,19 @@
|
|
851
941
|
"stateMutability": "nonpayable",
|
852
942
|
"type": "function"
|
853
943
|
},
|
944
|
+
{
|
945
|
+
"inputs": [
|
946
|
+
{
|
947
|
+
"internalType": "address",
|
948
|
+
"name": "instanceReaderAddress",
|
949
|
+
"type": "address"
|
950
|
+
}
|
951
|
+
],
|
952
|
+
"name": "upgradeMasterInstanceReader",
|
953
|
+
"outputs": [],
|
954
|
+
"stateMutability": "nonpayable",
|
955
|
+
"type": "function"
|
956
|
+
},
|
854
957
|
{
|
855
958
|
"inputs": [
|
856
959
|
{
|
@@ -863,182 +966,193 @@
|
|
863
966
|
"outputs": [],
|
864
967
|
"stateMutability": "nonpayable",
|
865
968
|
"type": "function"
|
969
|
+
},
|
970
|
+
{
|
971
|
+
"inputs": [
|
972
|
+
{
|
973
|
+
"internalType": "Amount",
|
974
|
+
"name": "dipAmount",
|
975
|
+
"type": "uint96"
|
976
|
+
}
|
977
|
+
],
|
978
|
+
"name": "withdrawStakingRewardReserves",
|
979
|
+
"outputs": [
|
980
|
+
{
|
981
|
+
"internalType": "Amount",
|
982
|
+
"name": "newBalance",
|
983
|
+
"type": "uint96"
|
984
|
+
}
|
985
|
+
],
|
986
|
+
"stateMutability": "nonpayable",
|
987
|
+
"type": "function"
|
866
988
|
}
|
867
989
|
],
|
868
|
-
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b615f1380620000e66000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063644c45e011610125578063cde749f4116100ad578063edabac031161007c578063edabac03146104a6578063eeff428e146104b7578063f21de1e81461038d578063f7c34ee014610502578063feec11901461051557600080fd5b8063cde749f414610469578063e338e27b14610471578063ea86657214610482578063eb59c6b11461049557600080fd5b8063893d20e8116100f4578063893d20e814610411578063ada9652e14610419578063b2bf3dc41461042e578063b68d180914610441578063c22f980d1461045657600080fd5b8063644c45e0146103b1578063675393bf146103e35780636a778e73146103f6578063872309c71461040957600080fd5b80632ad73641116101a857806336fc697e1161017757806336fc697e1461035f578063435bbacc1461036757806349bb9e4b1461037a5780635ab1bd531461038d57806363709eaf1461039e57600080fd5b80632ad73641146103015780632b440bc914610314578063329d6e741461033957806335241c061461034c57600080fd5b8063138461e0116101e4578063138461e01461029c5780631eff4b22146102a6578063214cdb80146102db57806327bb7a33146102ee57600080fd5b806301ffc9a7146102165780630d8e6e2c146102585780630fec111c14610274578063103bd5da14610289575b600080fd5b6102436102243660046152a6565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610260610528565b60405162ffffff909116815260200161024f565b61027c6105b2565b60405161024f9190615327565b6102436102973660046153dc565b610761565b6102a4610847565b005b6102cd7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102a46102e93660046152a6565b610a4e565b6102a46102fc366004615567565b610a7b565b6102a461030f3660046155ff565b610b07565b6002546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b6102a4610347366004615660565b610e4d565b6102a461035a3660046155ff565b610f9a565b6102a46111ac565b6102a46103753660046155ff565b6111f2565b6102a4610388366004615694565b611854565b6001546001600160a01b0316610321565b6102a46103ac3660046156e3565b611953565b600080516020615e9e833981519152546001600160601b03165b6040516001600160601b03909116815260200161024f565b6102a46103f1366004615734565b611ba5565b6103cb610404366004615734565b611cb3565b6102cd600081565b610321612276565b6102cd600080516020615e9e83398151915281565b6102a461043c3660046155ff565b6123ad565b60465b60405160ff909116815260200161024f565b6102a4610464366004615751565b612787565b610444612995565b6003546001600160a01b0316610321565b6102a461049036600461576e565b612a0c565b6005546001600160a01b0316610321565b6004546001600160a01b0316610321565b6104bf612aa4565b604080516001600160a01b03968716815294861660208601526001600160601b03909316928401929092528316606083015291909116608082015260a00161024f565b6102a461051036600461576e565b61306e565b6102a4610523366004615734565b6130e5565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad919061579c565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061065d906157c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610689906157c1565b80156106d65780601f106106ab576101008083540402835291602001916106d6565b820191906000526020600020905b8154815290600101906020018083116106b957829003601f168201915b50505050508152505090506040518060e001604052806106f4600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610745612276565b6001600160a01b03168152602001826060015181525091505090565b6000808290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190615806565b6040516368fc2b7760e11b81529091506001600160a01b0382169063d1f856ee906107fc9088908a90600401615823565b602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d9190615850565b9695505050505050565b6000600080516020615e9e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190615850565b1561090b5780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b3061091e6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190615850565b6109b25760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610902565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190615878565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610a5661325d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610a8361325d565b610a8d828761306e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610afd83826158e3565b5050505050505050565b33610b1a6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b869190615850565b610bae576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b6000610bc26001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015610c0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c3691908101906159f2565b9050610c548160400151610c48606e90565b60ff9081169116141590565b15610c975784606e5b60408084015190516304dd29ef60e21b81526001600160a01b03909316600484015260ff9182166024840152166044820152606401610902565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015610ce7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d0f91908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e9190615806565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b81600081518110610dbf57610dbf615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d8983610df1613296565b6040518463ffffffff1660e01b8152600401610e0f93929190615b1f565b600060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b5050505050505050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610e6f610528565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed39190615b69565b600080516020615ebe8339815191528054600160401b900460ff1680610f06575080546001600160401b03808416911610155b15610f245760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610f4e8361330f565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b33610fad6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110199190615850565b611041576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006110556001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110d091908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561111b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190615806565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c3090611170908a908a90600401615b86565b600060405180830381600087803b15801561118a57600080fd5b505af115801561119e573d6000803e3d6000fd5b505050505050505050505050565b6111b461325d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b336112056001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa15801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190615850565b611299576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006112ad6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261132191908101906159f2565b90506113338160400151610c48608c90565b156113405784608c610c5d565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611390573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b891908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114279190615806565b6040805160018082528183019092529192506000919060208083019080368337019050509050638267876660e01b8160008151811061146857611468615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d898361149a613317565b6040518463ffffffff1660e01b81526004016114b893929190615b1f565b600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b5060009250600191506114f69050565b60405190808252806020026020018201604052801561151f578160200160208202803683370190505b50905063da65659d60e01b8160008151811061153d5761153d615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a8361156f613353565b6040518463ffffffff1660e01b815260040161158d93929190615b1f565b600060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b5060009250600791506115cb9050565b6040519080825280602002602001820160405280156115f4578160200160208202803683370190505b50905063d93c04a060e01b8160008151811061161257611612615ac4565b6001600160e01b0319909216602092830291909101909101528051631f8b177560e31b908290600190811061164957611649615ac4565b6001600160e01b03199092166020928302919091019091015280516379e872e960e11b908290600290811061168057611680615ac4565b6001600160e01b031990921660209283029190910190910152805163fde0a3cd60e01b90829060039081106116b7576116b7615ac4565b6001600160e01b0319909216602092830291909101909101528051630378874560e51b90829060049081106116ee576116ee615ac4565b6001600160e01b0319909216602092830291909101909101528051630155751d60e31b908290600590811061172557611725615ac4565b6001600160e01b031990921660209283029190910190910152805163636450f560e01b908290600690811061175c5761175c615ac4565b60200260200101906001600160e01b03191690816001600160e01b03191681525050836001600160a01b03166329db8c3d8b838e6001600160a01b03166360246c886040518163ffffffff1660e01b81526004016101c060405180830381865afa1580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190615bf8565b602001516040518463ffffffff1660e01b815260040161181493929190615b1f565b600060405180830381600087803b15801561182e57600080fd5b505af1158015611842573d6000803e3d6000fd5b50505050505050505050505050505050565b600080516020615ebe8339815191528054600160401b810460ff1615906001600160401b03166000811580156118875750825b90506000826001600160401b031660011480156118a35750303b155b9050811580156118b1575080155b156118cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156118f957845460ff60401b1916600160401b1785555b611903878761338f565b831561194a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b3360006119686001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156119b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119dc91908101906159f2565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015611a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5e9190615850565b15611a875760405163aef351c360e01b81526001600160a01b0384166004820152602401610902565b60208101516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b0591908101906159f2565b60800151905060008190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b749190615806565b604051634222cc2360e01b81529091506001600160a01b03821690634222cc2390611170908b908b90600401615cc1565b611bad61325d565b806001600160a01b03163b600003611be35760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610902565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611c5d575060408051601f3d908101601f19168201909252611c5a91810190615850565b60015b611c855760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610902565b80611cae5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610902565b505b50565b6000611cbd612276565b6001600160a01b0316336001600160a01b031614611cf05760405163086391f760e31b8152336004820152602401610902565b6003546001600160a01b031615611d1a57604051632c237de760e11b815260040160405180910390fd5b6002546001600160a01b031615611d4457604051630157f74960e01b815260040160405180910390fd5b6005546001600160a01b031615611d6e57604051637f405a2960e01b815260040160405180910390fd5b6001600160a01b038216611d95576040516309353e4560e11b815260040160405180910390fd5b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190615806565b905060008190506000836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e699190615806565b905060008190506000856001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed49190615806565b9050806001600160a01b038516611efe576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b038316611f255760405163e267254160e01b815260040160405180910390fd5b6001600160a01b038116611f4c57604051630ddeaef560e11b815260040160405180910390fd5b846001600160a01b0316876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb89190615806565b6001600160a01b031614611fdf576040516334ddf1a760e21b815260040160405180910390fd5b866001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015612027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204b9190615806565b6001600160a01b031614612072576040516331783c7160e11b815260040160405180910390fd5b866001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120de9190615806565b6001600160a01b03161461210557604051631b25e96d60e31b815260040160405180910390fd5b600280546001600160a01b03199081166001600160a01b03888116919091179092556003805482168c8416179055600480548216868416179055600580549091168383161790556001546000911663d39e60436028612162612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb9190615806565b6003549091506001600160a01b0390811690600090831663026bc43b836121f0612276565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af115801561223d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261226591908101906159f2565b519c9b505050505050505050505050565b600080600080516020615e9e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156122e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230a9190615850565b15612397576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561236d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123919190615806565b91505090565b54600160601b90046001600160a01b0316919050565b336123c06001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015612408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242c9190615850565b612454576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006124686001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156124b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124dc91908101906159f2565b90506124ee8160400151610c48607890565b156124fb57846078610c5d565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261257391908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e29190615806565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b8160008151811061262357612623615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836126556134ad565b6040518463ffffffff1660e01b815260040161267393929190615b1f565b600060405180830381600087803b15801561268d57600080fd5b505af11580156126a1573d6000803e3d6000fd5b5060009250600191506126b19050565b6040519080825280602002602001820160405280156126da578160200160208202803683370190505b50905063f80e207260e01b816000815181106126f8576126f8615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a8361272a6134e8565b6040518463ffffffff1660e01b815260040161274893929190615b1f565b600060405180830381600087803b15801561276257600080fd5b505af1158015612776573d6000803e3d6000fd5b505050505050505050505050505050565b600061279b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156127ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281691908101906159f2565b90506000816080015190506000816001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128859190615806565b9050336001600160a01b038216146128b2576040516302613e9f60e51b8152336004820152602401610902565b6004546000906128ca906001600160a01b0316613524565b60405163485cc95560e01b81526001600160a01b03878116600483015285811660248301529192509082169063485cc95590604401600060405180830381600087803b15801561291957600080fd5b505af115801561292d573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528616925063f7bc431c91506024015b600060405180830381600087803b15801561297557600080fd5b505af1158015612989573d6000803e3d6000fd5b50505050505050505050565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156129e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad9190615ce5565b612a1461325d565b612a9482836001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7a9190615878565b603c60008560405180602001604052806000815250610a7b565b611cae637b6a51fd60e01b610a4e565b6000808080803381612abe6001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b03821660048201819052919250829160009163d272ac1e90602401602060405180830381865afa158015612b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2e9190615878565b905060006001600160a01b03841663d39e60436028612b4b612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190615806565b6002549091508190612bce906001600160a01b0316613524565b60405163189acdbd60e31b8152306004820152909b506001600160a01b038c169063c4d66de890602401600060405180830381600087803b158015612c1257600080fd5b505af1158015612c26573d6000803e3d6000fd5b5050600354612c4092506001600160a01b03169050613524565b60405163976b0a7760e01b81526001600160a01b038d8116600483015286811660248301526001600160601b0386166044830152336064830152919b50908b169063976b0a7790608401600060405180830381600087803b158015612ca457600080fd5b505af1158015612cb8573d6000803e3d6000fd5b5050600454612cd292506001600160a01b03169050613524565b60405163485cc95560e01b81526001600160a01b0386811660048301528c811660248301529199509089169063485cc95590604401600060405180830381600087803b158015612d2157600080fd5b505af1158015612d35573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b038b811660048301528d16925063f7bc431c9150602401600060405180830381600087803b158015612d7c57600080fd5b505af1158015612d90573d6000803e3d6000fd5b5050600554612daa92506001600160a01b03169050613524565b60405163c0c53b8b60e01b81526001600160a01b038d8116600483015286811660248301528c811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b038a811660048301528d16925063422c9d009150602401600060405180830381600087803b158015612e5b57600080fd5b505af1158015612e6f573d6000803e3d6000fd5b50505050612e7e8b8b89613596565b8a6001600160a01b031663b428b0b0612e95613600565b886040518363ffffffff1660e01b8152600401612eb3929190615823565b6020604051808303816000875af1158015612ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef69190615850565b508a6001600160a01b031663b7d2b162612f0e613600565b306040518363ffffffff1660e01b8152600401612f2c929190615823565b6020604051808303816000875af1158015612f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6f9190615850565b5060405163026bc43b60e01b81526001600160a01b038b8116600483015287811660248301526000919083169063026bc43b906044016000604051808303816000875af1158015612fc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fec91908101906159f2565b9050806000015199507f89f53d1fc9d655ac6863fb19d55f6cc8a7649a51ec36a0d13ec77d2bd2e970f38c8c8b8d60405161305894939291906001600160a01b0394851681529284166020840152921660408201526001600160601b0391909116606082015260800190565b60405180910390a1505050505050509091929394565b61307661325d565b61307f81611ba5565b6130876111ac565b6001600160a01b0382166130ae5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020615e9e83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6130ed612276565b6001600160a01b0316336001600160a01b0316146131205760405163086391f760e31b8152336004820152602401610902565b6004546001600160a01b0316613149576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661317057604051631aa1808560e31b815260040160405180910390fd5b6004546001600160a01b039081169082160361319f57604051630666e2a560e01b815260040160405180910390fd5b6003546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156131ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132139190615806565b6001600160a01b03161461323a5760405163f026367160e01b815260040160405180910390fd5b50600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020615ebe83398151915254600160401b900460ff1661329457604051631afcd79f60e31b815260040160405180910390fd5b565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af41580156132eb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad9190615b69565b61021161325d565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b815261096a600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b600080516020615ebe8339815191528054600160401b810460ff1615906001600160401b03166000811580156133c25750825b90506000826001600160401b031660011480156133de5750303b155b9050811580156133ec575080155b1561340a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561343457845460ff60401b1916600160401b1785555b6000808780602001905181019061344b9190615d02565b92509050613459818a612a0c565b613469639db409fb60e01b610a4e565b5050831561194a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611941565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116613591576040516330be1a3d60e21b815260040160405180910390fd5b919050565b61359f8361363b565b6135aa838383613ccb565b6135b48383613de1565b6135be83836141e3565b6135c883836143e4565b6135d2838361463f565b6135dc838361482c565b6135e683836149e0565b6135f1838383614b17565b6135fb8383614ed0565b505050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b806001600160a01b0316635d66f90a6136526134ad565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526015604482015274446973747269627574696f6e4f776e6572526f6c6560581b6064820152608401600060405180830381600087803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6136ed613317565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600d60448201526c506f6f6c4f776e6572526f6c6560981b6064820152608401600060405180830381600087803b15801561375157600080fd5b505af1158015613765573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613780613296565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f50726f647563744f776e6572526f6c6560801b6064820152608401600060405180830381600087803b1580156137e757600080fd5b505af11580156137fb573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a61381661513e565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b15801561388a57600080fd5b505af115801561389e573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6138b961517a565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b15801561391f57600080fd5b505af1158015613933573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a61394e6134e8565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6139e66151b6565b604080516001600160e01b031960e085901b1681526001600160401b039092166004830152602482015260166044820152754170706c69636174696f6e53657276696365526f6c6560501b6064820152608401600060405180830381600087803b158015613a5357600080fd5b505af1158015613a67573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613a82613353565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613aea57600080fd5b505af1158015613afe573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613b196151f2565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f436c61696d53657276696365526f6c6560801b6064820152608401600060405180830381600087803b158015613b8057600080fd5b505af1158015613b94573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613baf61522e565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613c1757600080fd5b505af1158015613c2b573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613c4661526a565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015613cb057600080fd5b505af1158015613cc4573d6000803e3d6000fd5b5050505050565b60405163044ec4c360e41b81526001600160a01b038416906344ec4c3090613cf7908690600401615d31565b600060405180830381600087803b158015613d1157600080fd5b505af1158015613d25573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613d55908590600401615d75565b600060405180830381600087803b158015613d6f57600080fd5b505af1158015613d83573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613db3908490600401615dac565b600060405180830381600087803b158015613dcd57600080fd5b505af115801561194a573d6000803e3d6000fd5b6000613df56001546001600160a01b031690565b905060006001600160a01b03821663d39e60436078613e12612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7b9190615806565b9050836001600160a01b031663b428b0b0613e9461513e565b836040518363ffffffff1660e01b8152600401613eb2929190615823565b6020604051808303816000875af1158015613ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef59190615850565b5060408051600b80825261018082019092526000916020820161016080368337019050509050639e90178c60e01b81600081518110613f3657613f36615ac4565b6001600160e01b031990921660209283029190910190910152805163f7b442d160e01b9082906001908110613f6d57613f6d615ac4565b6001600160e01b03199092166020928302919091019091015280516304f2a7e960e31b9082906002908110613fa457613fa4615ac4565b6001600160e01b031990921660209283029190910190910152805163b3260e9360e01b9082906003908110613fdb57613fdb615ac4565b6001600160e01b0319909216602092830291909101909101528051630afa5e1360e41b908290600490811061401257614012615ac4565b6001600160e01b0319909216602092830291909101909101528051635338a4af60e11b908290600590811061404957614049615ac4565b6001600160e01b0319909216602092830291909101909101528051633ed2a38d60e21b908290600690811061408057614080615ac4565b6001600160e01b03199092166020928302919091019091015280516340529b0f60e01b90829060079081106140b7576140b7615ac4565b6001600160e01b0319909216602092830291909101909101528051630a9ae8f560e31b90829060089081106140ee576140ee615ac4565b6001600160e01b031990921660209283029190910190910152805163067ca3e960e51b908290600990811061412557614125615ac4565b6001600160e01b03199092166020928302919091019091015280516314de334f60e21b908290600a90811061415c5761415c615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261418d61513e565b6040518363ffffffff1660e01b81526004016141aa929190615de8565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b505050505050505050565b60006141f76001546001600160a01b031690565b6001600160a01b031663d39e6043608c61420f612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142789190615806565b9050826001600160a01b031663b428b0b061429161517a565b836040518363ffffffff1660e01b81526004016142af929190615823565b6020604051808303816000875af11580156142ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142f29190615850565b5060408051600480825260a0820190925260009160208201608080368337019050509050638e28413f60e01b8160008151811061433157614331615ac4565b6001600160e01b0319909216602092830291909101909101528051632c6ffcf560e11b908290600190811061436857614368615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261439961517a565b6040518363ffffffff1660e01b81526004016143b6929190615de8565b600060405180830381600087803b1580156143d057600080fd5b505af1158015610afd573d6000803e3d6000fd5b60006143f86001546001600160a01b031690565b6001600160a01b031663d39e6043606e614410612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614455573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144799190615806565b9050826001600160a01b031663b428b0b06144926134e8565b836040518363ffffffff1660e01b81526004016144b0929190615823565b6020604051808303816000875af11580156144cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144f39190615850565b5060408051600580825260c082019092526000916020820160a08036833701905050905063fbc1a3a060e01b8160008151811061453257614532615ac4565b6001600160e01b0319909216602092830291909101909101528051630cbc6b8960e01b908290600190811061456957614569615ac4565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b90829060029081106145a0576145a0615ac4565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b90829060039081106145d7576145d7615ac4565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b908290600490811061460e5761460e615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d826143996134e8565b60006146536001546001600160a01b031690565b6001600160a01b031663d39e604360d261466b612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156146b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d49190615806565b9050826001600160a01b031663b428b0b06146ed6151b6565b836040518363ffffffff1660e01b815260040161470b929190615823565b6020604051808303816000875af115801561472a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061474e9190615850565b50604080516003808252608082019092526000916020820160608036833701905050905063afcc743960e01b8160008151811061478d5761478d615ac4565b6001600160e01b03199092166020928302919091019091015280516330a6523f60e21b90829060019081106147c4576147c4615ac4565b6001600160e01b0319909216602092830291909101909101528051630fad0eb160e01b90829060029081106147fb576147fb615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d826143996151b6565b60006148406001546001600160a01b031690565b6001600160a01b031663d39e604360d3614858612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561489d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c19190615806565b9050826001600160a01b031663b428b0b06148da613353565b836040518363ffffffff1660e01b81526004016148f8929190615823565b6020604051808303816000875af1158015614917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061493b9190615850565b50604080516002808252606082018352600092602083019080368337019050509050631518afb960e01b8160008151811061497857614978615ac4565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060019081106149af576149af615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d82614399613353565b60006149f46001546001600160a01b031690565b6001600160a01b031663d39e604360d4614a0c612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a759190615806565b9050826001600160a01b031663b428b0b0614a8e613353565b836040518363ffffffff1660e01b8152600401614aac929190615823565b6020604051808303816000875af1158015614acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614aef9190615850565b506040805160008152602081019091526001600160a01b0384166329db8c3d826143996151f2565b6000614b2b6001546001600160a01b031690565b6001600160a01b031663d39e604360dc614b43612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614b88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bac9190615806565b9050836001600160a01b031663b428b0b0614bc561522e565b836040518363ffffffff1660e01b8152600401614be3929190615823565b6020604051808303816000875af1158015614c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c269190615850565b506040805160038082526080820190925260009160208201606080368337019050509050630f03144a60e01b81600081518110614c6557614c65615ac4565b6001600160e01b0319909216602092830291909101909101528051631204b55360e01b9082906001908110614c9c57614c9c615ac4565b6001600160e01b0319909216602092830291909101909101528051637f0f8c6b60e11b9082906002908110614cd357614cd3615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d82614d0461522e565b6040518363ffffffff1660e01b8152600401614d21929190615de8565b600060405180830381600087803b158015614d3b57600080fd5b505af1158015614d4f573d6000803e3d6000fd5b506000925060059150614d5f9050565b604051908082528060200260200182016040528015614d88578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614da657614da6615ac4565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614ddd57614ddd615ac4565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614e1457614e14615ac4565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614e4b57614e4b615ac4565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614e8257614e82615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0386166329db8c3d82614eb361522e565b6040518363ffffffff1660e01b815260040161295b929190615e3b565b6000614ee46001546001600160a01b031690565b6001600160a01b031663d39e60436046614efc612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f659190615806565b9050826001600160a01b031663b428b0b0614f7e61526a565b836040518363ffffffff1660e01b8152600401614f9c929190615823565b6020604051808303816000875af1158015614fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fdf9190615850565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b8160008151811061501d5761501d615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261504e61526a565b6040518363ffffffff1660e01b815260040161506b929190615de8565b600060405180830381600087803b15801561508557600080fd5b505af1158015615099573d6000803e3d6000fd5b5060009250600191506150a99050565b6040519080825280602002602001820160405280156150d2578160200160208202803683370190505b5090506344ec4c3060e01b816000815181106150f0576150f0615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261512161526a565b6040518363ffffffff1660e01b81526004016141aa929190615e68565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610974600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6000602082840312156152b857600080fd5b81356001600160e01b0319811681146152d057600080fd5b9392505050565b60005b838110156152f25781810151838201526020016152da565b50506000910152565b600081518084526153138160208601602086016152d7565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161539060c08401826001600160a01b03169052565b5060c083015160e0808401526153aa6101008401826152fb565b949350505050565b6001600160a01b0381168114611cb057600080fd5b6001600160401b0381168114611cb057600080fd5b6000806000606084860312156153f157600080fd5b83356153fc816153b2565b9250602084013561540c816153c7565b9150604084013561541c816153b2565b809150509250925092565b6001600160601b0381168114611cb057600080fd5b60ff81168114611cb057600080fd5b8015158114611cb057600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561549157615491615459565b60405290565b60405161016081016001600160401b038111828210171561549157615491615459565b604051601f8201601f191681016001600160401b03811182821017156154e2576154e2615459565b604052919050565b60006001600160401b0382111561550357615503615459565b50601f01601f191660200190565b600082601f83011261552257600080fd5b8135615535615530826154ea565b6154ba565b81815284602083860101111561554a57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561558057600080fd5b863561558b816153b2565b9550602087013561559b81615427565b945060408701356155ab8161543c565b935060608701356155bb8161544b565b925060808701356155cb816153b2565b915060a08701356001600160401b038111156155e657600080fd5b6155f289828a01615511565b9150509295509295509295565b60008060006060848603121561561457600080fd5b833561561f81615427565b9250602084013561562f816153b2565b915060408401356001600160401b0381111561564a57600080fd5b61565686828701615511565b9150509250925092565b60006020828403121561567257600080fd5b81356001600160401b0381111561568857600080fd5b6153aa84828501615511565b600080604083850312156156a757600080fd5b82356156b2816153b2565b915060208301356001600160401b038111156156cd57600080fd5b6156d985828601615511565b9150509250929050565b600080604083850312156156f657600080fd5b82356001600160401b0381111561570c57600080fd5b61571885828601615511565b92505060208301356157298161544b565b809150509250929050565b60006020828403121561574657600080fd5b81356152d0816153b2565b60006020828403121561576357600080fd5b81356152d081615427565b6000806040838503121561578157600080fd5b823561578c816153b2565b91506020830135615729816153b2565b6000602082840312156157ae57600080fd5b815162ffffff811681146152d057600080fd5b600181811c908216806157d557607f821691505b6020821081036157f557634e487b7160e01b600052602260045260246000fd5b50919050565b8051613591816153b2565b60006020828403121561581857600080fd5b81516152d0816153b2565b6001600160401b039290921682526001600160a01b0316602082015260400190565b80516135918161544b565b60006020828403121561586257600080fd5b81516152d08161544b565b805161359181615427565b60006020828403121561588a57600080fd5b81516152d081615427565b601f8211156135fb57600081815260208120601f850160051c810160208610156158bc5750805b601f850160051c820191505b818110156158db578281556001016158c8565b505050505050565b81516001600160401b038111156158fc576158fc615459565b6159108161590a84546157c1565b84615895565b602080601f831160018114615945576000841561592d5750858301515b600019600386901b1c1916600185901b1785556158db565b600085815260208120601f198616915b8281101561597457888601518255948401946001909101908401615955565b50858210156159925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516135918161543c565b600082601f8301126159be57600080fd5b81516159cc615530826154ea565b8181528460208386010111156159e157600080fd5b6153aa8260208301602087016152d7565b600060208284031215615a0457600080fd5b81516001600160401b0380821115615a1b57600080fd5b9083019060e08286031215615a2f57600080fd5b615a3761546f565b615a408361586d565b8152615a4e6020840161586d565b6020820152615a5f604084016159a2565b6040820152615a7060608401615845565b6060820152615a81608084016157fb565b6080820152615a9260a084016157fb565b60a082015260c083015182811115615aa957600080fd5b615ab5878286016159ad565b60c08301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015615b145781516001600160e01b03191687529582019590820190600101615aee565b509495945050505050565b606081526000615b3260608301866152fb565b8281036020840152615b448186615ada565b9150506001600160401b0383166040830152949350505050565b8051613591816153c7565b600060208284031215615b7b57600080fd5b81516152d0816153c7565b6001600160a01b03831681526040602082018190526000906153aa908301846152fb565b600060408284031215615bbc57600080fd5b604051604081018181106001600160401b0382111715615bde57615bde615459565b604052825181526020928301519281019290925250919050565b60006101c08284031215615c0b57600080fd5b615c13615497565b615c1c8361586d565b8152615c2a60208401615b5e565b602082015260408301516040820152615c4560608401615845565b6060820152615c5660808401615845565b6080820152615c6760a08401615845565b60a082015260c083015160c082015260e083015160e0820152610100615c8f85828601615baa565b90820152610140615ca285858301615baa565b610120830152615cb6856101808601615baa565b908201529392505050565b604081526000615cd460408301856152fb565b905082151560208301529392505050565b600060208284031215615cf757600080fd5b81516152d08161543c565b60008060408385031215615d1557600080fd5b8251615d20816153b2565b6020840151909250615729816153b2565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60608201526000608082016152d0565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b60608201526000608082016152d0565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b60608201526000608082016152d0565b606081526000615e10606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615e228186615ada565b9150506001600160401b03831660408301529392505050565b606081526000615e1060608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615e1060608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60208201526040019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122005d53cafbdd74089d15a2830a2d75333f42bf5fb209d7bf9fef74121e1cbd30a64736f6c63430008140033",
|
869
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c8063644c45e011610125578063cde749f4116100ad578063edabac031161007c578063edabac03146104a6578063eeff428e146104b7578063f21de1e81461038d578063f7c34ee014610502578063feec11901461051557600080fd5b8063cde749f414610469578063e338e27b14610471578063ea86657214610482578063eb59c6b11461049557600080fd5b8063893d20e8116100f4578063893d20e814610411578063ada9652e14610419578063b2bf3dc41461042e578063b68d180914610441578063c22f980d1461045657600080fd5b8063644c45e0146103b1578063675393bf146103e35780636a778e73146103f6578063872309c71461040957600080fd5b80632ad73641116101a857806336fc697e1161017757806336fc697e1461035f578063435bbacc1461036757806349bb9e4b1461037a5780635ab1bd531461038d57806363709eaf1461039e57600080fd5b80632ad73641146103015780632b440bc914610314578063329d6e741461033957806335241c061461034c57600080fd5b8063138461e0116101e4578063138461e01461029c5780631eff4b22146102a6578063214cdb80146102db57806327bb7a33146102ee57600080fd5b806301ffc9a7146102165780630d8e6e2c146102585780630fec111c14610274578063103bd5da14610289575b600080fd5b6102436102243660046152a6565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610260610528565b60405162ffffff909116815260200161024f565b61027c6105b2565b60405161024f9190615327565b6102436102973660046153dc565b610761565b6102a4610847565b005b6102cd7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102a46102e93660046152a6565b610a4e565b6102a46102fc366004615567565b610a7b565b6102a461030f3660046155ff565b610b07565b6002546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b6102a4610347366004615660565b610e4d565b6102a461035a3660046155ff565b610f9a565b6102a46111ac565b6102a46103753660046155ff565b6111f2565b6102a4610388366004615694565b611854565b6001546001600160a01b0316610321565b6102a46103ac3660046156e3565b611953565b600080516020615e9e833981519152546001600160601b03165b6040516001600160601b03909116815260200161024f565b6102a46103f1366004615734565b611ba5565b6103cb610404366004615734565b611cb3565b6102cd600081565b610321612276565b6102cd600080516020615e9e83398151915281565b6102a461043c3660046155ff565b6123ad565b60465b60405160ff909116815260200161024f565b6102a4610464366004615751565b612787565b610444612995565b6003546001600160a01b0316610321565b6102a461049036600461576e565b612a0c565b6005546001600160a01b0316610321565b6004546001600160a01b0316610321565b6104bf612aa4565b604080516001600160a01b03968716815294861660208601526001600160601b03909316928401929092528316606083015291909116608082015260a00161024f565b6102a461051036600461576e565b61306e565b6102a4610523366004615734565b6130e5565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad919061579c565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b9091041615159181019190915260018201805491929160608401919061065d906157c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610689906157c1565b80156106d65780601f106106ab576101008083540402835291602001916106d6565b820191906000526020600020905b8154815290600101906020018083116106b957829003601f168201915b50505050508152505090506040518060e001604052806106f4600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610745612276565b6001600160a01b03168152602001826060015181525091505090565b6000808290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190615806565b6040516368fc2b7760e11b81529091506001600160a01b0382169063d1f856ee906107fc9088908a90600401615823565b602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d9190615850565b9695505050505050565b6000600080516020615e9e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190615850565b1561090b5780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b3061091e6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190615850565b6109b25760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610902565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190615878565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b610a5661325d565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b610a8361325d565b610a8d828761306e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101610afd83826158e3565b5050505050505050565b33610b1a6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b869190615850565b610bae576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b6000610bc26001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa158015610c0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c3691908101906159f2565b9050610c548160400151610c48606e90565b60ff9081169116141590565b15610c975784606e5b60408084015190516304dd29ef60e21b81526001600160a01b03909316600484015260ff9182166024840152166044820152606401610902565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015610ce7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d0f91908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e9190615806565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b81600081518110610dbf57610dbf615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d8983610df1613296565b6040518463ffffffff1660e01b8152600401610e0f93929190615b1f565b600060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b5050505050505050505050505050565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610e6f610528565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610eaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed39190615b69565b600080516020615ebe8339815191528054600160401b900460ff1680610f06575080546001600160401b03808416911610155b15610f245760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610f4e8361330f565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b33610fad6001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110199190615850565b611041576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006110556001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110d091908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561111b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190615806565b60405163044ec4c360e41b81529091506001600160a01b038216906344ec4c3090611170908a908a90600401615b86565b600060405180830381600087803b15801561118a57600080fd5b505af115801561119e573d6000803e3d6000fd5b505050505050505050505050565b6111b461325d565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b336112056001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa15801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190615850565b611299576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006112ad6001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261132191908101906159f2565b90506113338160400151610c48608c90565b156113405784608c610c5d565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611390573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b891908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114279190615806565b6040805160018082528183019092529192506000919060208083019080368337019050509050638267876660e01b8160008151811061146857611468615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d898361149a613317565b6040518463ffffffff1660e01b81526004016114b893929190615b1f565b600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b5060009250600191506114f69050565b60405190808252806020026020018201604052801561151f578160200160208202803683370190505b50905063da65659d60e01b8160008151811061153d5761153d615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a8361156f613353565b6040518463ffffffff1660e01b815260040161158d93929190615b1f565b600060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b5060009250600791506115cb9050565b6040519080825280602002602001820160405280156115f4578160200160208202803683370190505b50905063d93c04a060e01b8160008151811061161257611612615ac4565b6001600160e01b0319909216602092830291909101909101528051631f8b177560e31b908290600190811061164957611649615ac4565b6001600160e01b03199092166020928302919091019091015280516379e872e960e11b908290600290811061168057611680615ac4565b6001600160e01b031990921660209283029190910190910152805163fde0a3cd60e01b90829060039081106116b7576116b7615ac4565b6001600160e01b0319909216602092830291909101909101528051630378874560e51b90829060049081106116ee576116ee615ac4565b6001600160e01b0319909216602092830291909101909101528051630155751d60e31b908290600590811061172557611725615ac4565b6001600160e01b031990921660209283029190910190910152805163636450f560e01b908290600690811061175c5761175c615ac4565b60200260200101906001600160e01b03191690816001600160e01b03191681525050836001600160a01b03166329db8c3d8b838e6001600160a01b03166360246c886040518163ffffffff1660e01b81526004016101c060405180830381865afa1580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190615bf8565b602001516040518463ffffffff1660e01b815260040161181493929190615b1f565b600060405180830381600087803b15801561182e57600080fd5b505af1158015611842573d6000803e3d6000fd5b50505050505050505050505050505050565b600080516020615ebe8339815191528054600160401b810460ff1615906001600160401b03166000811580156118875750825b90506000826001600160401b031660011480156118a35750303b155b9050811580156118b1575080155b156118cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156118f957845460ff60401b1916600160401b1785555b611903878761338f565b831561194a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b3360006119686001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038481166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156119b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119dc91908101906159f2565b8051604051630a4d29dd60e31b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015611a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5e9190615850565b15611a875760405163aef351c360e01b81526001600160a01b0384166004820152602401610902565b60208101516040516305247a1760e51b81526001600160601b0390911660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b0591908101906159f2565b60800151905060008190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b749190615806565b604051634222cc2360e01b81529091506001600160a01b03821690634222cc2390611170908b908b90600401615cc1565b611bad61325d565b806001600160a01b03163b600003611be35760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610902565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611c5d575060408051601f3d908101601f19168201909252611c5a91810190615850565b60015b611c855760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610902565b80611cae5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610902565b505b50565b6000611cbd612276565b6001600160a01b0316336001600160a01b031614611cf05760405163086391f760e31b8152336004820152602401610902565b6003546001600160a01b031615611d1a57604051632c237de760e11b815260040160405180910390fd5b6002546001600160a01b031615611d4457604051630157f74960e01b815260040160405180910390fd5b6005546001600160a01b031615611d6e57604051637f405a2960e01b815260040160405180910390fd5b6001600160a01b038216611d95576040516309353e4560e11b815260040160405180910390fd5b60008290506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190615806565b905060008190506000836001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e699190615806565b905060008190506000856001600160a01b03166361f5f4206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed49190615806565b9050806001600160a01b038516611efe576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b038316611f255760405163e267254160e01b815260040160405180910390fd5b6001600160a01b038116611f4c57604051630ddeaef560e11b815260040160405180910390fd5b846001600160a01b0316876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb89190615806565b6001600160a01b031614611fdf576040516334ddf1a760e21b815260040160405180910390fd5b866001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015612027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204b9190615806565b6001600160a01b031614612072576040516331783c7160e11b815260040160405180910390fd5b866001600160a01b0316826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120de9190615806565b6001600160a01b03161461210557604051631b25e96d60e31b815260040160405180910390fd5b600280546001600160a01b03199081166001600160a01b03888116919091179092556003805482168c8416179055600480548216868416179055600580549091168383161790556001546000911663d39e60436028612162612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156121a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121cb9190615806565b6003549091506001600160a01b0390811690600090831663026bc43b836121f0612276565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016000604051808303816000875af115801561223d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261226591908101906159f2565b519c9b505050505050505050505050565b600080600080516020615e9e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156122e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230a9190615850565b15612397576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561236d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123919190615806565b91505090565b54600160601b90046001600160a01b0316919050565b336123c06001546001600160a01b031690565b604051632b91e0a960e01b81526001600160a01b0383811660048301529190911690632b91e0a990602401602060405180830381865afa158015612408573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061242c9190615850565b612454576040516302613e9f60e51b81526001600160a01b0382166004820152602401610902565b60006124686001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b038681166004830152919250600091831690638b09a5f090602401600060405180830381865afa1580156124b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124dc91908101906159f2565b90506124ee8160400151610c48607890565b156124fb57846078610c5d565b6040516305247a1760e51b81526001600160601b03871660048201526000906001600160a01b0384169063a48f42e090602401600060405180830381865afa15801561254b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261257391908101906159f2565b90506000816080015190506000816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e29190615806565b604080516001808252818301909252919250600091906020808301908036833701905050905063b6b412ba60e01b8160008151811061262357612623615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0382166329db8c3d89836126556134ad565b6040518463ffffffff1660e01b815260040161267393929190615b1f565b600060405180830381600087803b15801561268d57600080fd5b505af11580156126a1573d6000803e3d6000fd5b5060009250600191506126b19050565b6040519080825280602002602001820160405280156126da578160200160208202803683370190505b50905063f80e207260e01b816000815181106126f8576126f8615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0383166329db8c3d8a8361272a6134e8565b6040518463ffffffff1660e01b815260040161274893929190615b1f565b600060405180830381600087803b15801561276257600080fd5b505af1158015612776573d6000803e3d6000fd5b505050505050505050505050505050565b600061279b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201529091506000906001600160a01b0383169063a48f42e090602401600060405180830381865afa1580156127ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261281691908101906159f2565b90506000816080015190506000816001600160a01b031663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612861573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128859190615806565b9050336001600160a01b038216146128b2576040516302613e9f60e51b8152336004820152602401610902565b6004546000906128ca906001600160a01b0316613524565b60405163485cc95560e01b81526001600160a01b03878116600483015285811660248301529192509082169063485cc95590604401600060405180830381600087803b15801561291957600080fd5b505af115801561292d573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528616925063f7bc431c91506024015b600060405180830381600087803b15801561297557600080fd5b505af1158015612989573d6000803e3d6000fd5b50505050505050505050565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156129e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad9190615ce5565b612a1461325d565b612a9482836001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7a9190615878565b603c60008560405180602001604052806000815250610a7b565b611cae637b6a51fd60e01b610a4e565b6000808080803381612abe6001546001600160a01b031690565b604051636939560f60e11b81526001600160a01b03821660048201819052919250829160009163d272ac1e90602401602060405180830381865afa158015612b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2e9190615878565b905060006001600160a01b03841663d39e60436028612b4b612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015612b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb49190615806565b6002549091508190612bce906001600160a01b0316613524565b60405163189acdbd60e31b8152306004820152909b506001600160a01b038c169063c4d66de890602401600060405180830381600087803b158015612c1257600080fd5b505af1158015612c26573d6000803e3d6000fd5b5050600354612c4092506001600160a01b03169050613524565b60405163976b0a7760e01b81526001600160a01b038d8116600483015286811660248301526001600160601b0386166044830152336064830152919b50908b169063976b0a7790608401600060405180830381600087803b158015612ca457600080fd5b505af1158015612cb8573d6000803e3d6000fd5b5050600454612cd292506001600160a01b03169050613524565b60405163485cc95560e01b81526001600160a01b0386811660048301528c811660248301529199509089169063485cc95590604401600060405180830381600087803b158015612d2157600080fd5b505af1158015612d35573d6000803e3d6000fd5b5050604051633def10c760e21b81526001600160a01b038b811660048301528d16925063f7bc431c9150602401600060405180830381600087803b158015612d7c57600080fd5b505af1158015612d90573d6000803e3d6000fd5b5050600554612daa92506001600160a01b03169050613524565b60405163c0c53b8b60e01b81526001600160a01b038d8116600483015286811660248301528c811660448301529198509088169063c0c53b8b90606401600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b505060405162422c9d60e81b81526001600160a01b038a811660048301528d16925063422c9d009150602401600060405180830381600087803b158015612e5b57600080fd5b505af1158015612e6f573d6000803e3d6000fd5b50505050612e7e8b8b89613596565b8a6001600160a01b031663b428b0b0612e95613600565b886040518363ffffffff1660e01b8152600401612eb3929190615823565b6020604051808303816000875af1158015612ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef69190615850565b508a6001600160a01b031663b7d2b162612f0e613600565b306040518363ffffffff1660e01b8152600401612f2c929190615823565b6020604051808303816000875af1158015612f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6f9190615850565b5060405163026bc43b60e01b81526001600160a01b038b8116600483015287811660248301526000919083169063026bc43b906044016000604051808303816000875af1158015612fc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fec91908101906159f2565b9050806000015199507f89f53d1fc9d655ac6863fb19d55f6cc8a7649a51ec36a0d13ec77d2bd2e970f38c8c8b8d60405161305894939291906001600160a01b0394851681529284166020840152921660408201526001600160601b0391909116606082015260800190565b60405180910390a1505050505050509091929394565b61307661325d565b61307f81611ba5565b6130876111ac565b6001600160a01b0382166130ae5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020615e9e83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6130ed612276565b6001600160a01b0316336001600160a01b0316146131205760405163086391f760e31b8152336004820152602401610902565b6004546001600160a01b0316613149576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661317057604051631aa1808560e31b815260040160405180910390fd5b6004546001600160a01b039081169082160361319f57604051630666e2a560e01b815260040160405180910390fd5b6003546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156131ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132139190615806565b6001600160a01b03161461323a5760405163f026367160e01b815260040160405180910390fd5b50600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020615ebe83398151915254600160401b900460ff1661329457604051631afcd79f60e31b815260040160405180910390fd5b565b6040516368aebf7b60e01b8152610190600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024015b602060405180830381865af41580156132eb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad9190615b69565b61021161325d565b6040516368aebf7b60e01b815261012c600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b815261096a600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b600080516020615ebe8339815191528054600160401b810460ff1615906001600160401b03166000811580156133c25750825b90506000826001600160401b031660011480156133de5750303b155b9050811580156133ec575080155b1561340a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561343457845460ff60401b1916600160401b1785555b6000808780602001905181019061344b9190615d02565b92509050613459818a612a0c565b613469639db409fb60e01b610a4e565b5050831561194a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611941565b6040516368aebf7b60e01b81526064600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526108fc600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116613591576040516330be1a3d60e21b815260040160405180910390fd5b919050565b61359f8361363b565b6135aa838383613ccb565b6135b48383613de1565b6135be83836141e3565b6135c883836143e4565b6135d2838361463f565b6135dc838361482c565b6135e683836149e0565b6135f1838383614b17565b6135fb8383614ed0565b505050565b6040516368aebf7b60e01b81526000600482018190529073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b806001600160a01b0316635d66f90a6136526134ad565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526015604482015274446973747269627574696f6e4f776e6572526f6c6560581b6064820152608401600060405180830381600087803b1580156136be57600080fd5b505af11580156136d2573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6136ed613317565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600d60448201526c506f6f6c4f776e6572526f6c6560981b6064820152608401600060405180830381600087803b15801561375157600080fd5b505af1158015613765573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613780613296565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f50726f647563744f776e6572526f6c6560801b6064820152608401600060405180830381600087803b1580156137e757600080fd5b505af11580156137fb573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a61381661513e565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601760448201527f446973747269627574696f6e53657276696365526f6c650000000000000000006064820152608401600060405180830381600087803b15801561388a57600080fd5b505af115801561389e573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6138b961517a565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152600f60448201526e506f6f6c53657276696365526f6c6560881b6064820152608401600060405180830381600087803b15801561391f57600080fd5b505af1158015613933573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a61394e6134e8565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601260448201527150726f6475637453657276696365526f6c6560701b6064820152608401600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a6139e66151b6565b604080516001600160e01b031960e085901b1681526001600160401b039092166004830152602482015260166044820152754170706c69636174696f6e53657276696365526f6c6560501b6064820152608401600060405180830381600087803b158015613a5357600080fd5b505af1158015613a67573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613a82613353565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526011604482015270506f6c69637953657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613aea57600080fd5b505af1158015613afe573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613b196151f2565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601060448201526f436c61696d53657276696365526f6c6560801b6064820152608401600060405180830381600087803b158015613b8057600080fd5b505af1158015613b94573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613baf61522e565b604080516001600160e01b031960e085901b1681526001600160401b0390921660048301526024820152601160448201527042756e646c6553657276696365526f6c6560781b6064820152608401600060405180830381600087803b158015613c1757600080fd5b505af1158015613c2b573d6000803e3d6000fd5b50505050806001600160a01b0316635d66f90a613c4661526a565b604080516001600160e01b031960e085901b1681526001600160401b03909216600483015260248201526013604482015272496e7374616e636553657276696365526f6c6560681b6064820152608401600060405180830381600087803b158015613cb057600080fd5b505af1158015613cc4573d6000803e3d6000fd5b5050505050565b60405163044ec4c360e41b81526001600160a01b038416906344ec4c3090613cf7908690600401615d31565b600060405180830381600087803b158015613d1157600080fd5b505af1158015613d25573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613d55908590600401615d75565b600060405180830381600087803b158015613d6f57600080fd5b505af1158015613d83573d6000803e3d6000fd5b505060405163044ec4c360e41b81526001600160a01b03861692506344ec4c309150613db3908490600401615dac565b600060405180830381600087803b158015613dcd57600080fd5b505af115801561194a573d6000803e3d6000fd5b6000613df56001546001600160a01b031690565b905060006001600160a01b03821663d39e60436078613e12612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7b9190615806565b9050836001600160a01b031663b428b0b0613e9461513e565b836040518363ffffffff1660e01b8152600401613eb2929190615823565b6020604051808303816000875af1158015613ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef59190615850565b5060408051600b80825261018082019092526000916020820161016080368337019050509050639e90178c60e01b81600081518110613f3657613f36615ac4565b6001600160e01b031990921660209283029190910190910152805163f7b442d160e01b9082906001908110613f6d57613f6d615ac4565b6001600160e01b03199092166020928302919091019091015280516304f2a7e960e31b9082906002908110613fa457613fa4615ac4565b6001600160e01b031990921660209283029190910190910152805163b3260e9360e01b9082906003908110613fdb57613fdb615ac4565b6001600160e01b0319909216602092830291909101909101528051630afa5e1360e41b908290600490811061401257614012615ac4565b6001600160e01b0319909216602092830291909101909101528051635338a4af60e11b908290600590811061404957614049615ac4565b6001600160e01b0319909216602092830291909101909101528051633ed2a38d60e21b908290600690811061408057614080615ac4565b6001600160e01b03199092166020928302919091019091015280516340529b0f60e01b90829060079081106140b7576140b7615ac4565b6001600160e01b0319909216602092830291909101909101528051630a9ae8f560e31b90829060089081106140ee576140ee615ac4565b6001600160e01b031990921660209283029190910190910152805163067ca3e960e51b908290600990811061412557614125615ac4565b6001600160e01b03199092166020928302919091019091015280516314de334f60e21b908290600a90811061415c5761415c615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261418d61513e565b6040518363ffffffff1660e01b81526004016141aa929190615de8565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b505050505050505050565b60006141f76001546001600160a01b031690565b6001600160a01b031663d39e6043608c61420f612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142789190615806565b9050826001600160a01b031663b428b0b061429161517a565b836040518363ffffffff1660e01b81526004016142af929190615823565b6020604051808303816000875af11580156142ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142f29190615850565b5060408051600480825260a0820190925260009160208201608080368337019050509050638e28413f60e01b8160008151811061433157614331615ac4565b6001600160e01b0319909216602092830291909101909101528051632c6ffcf560e11b908290600190811061436857614368615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261439961517a565b6040518363ffffffff1660e01b81526004016143b6929190615de8565b600060405180830381600087803b1580156143d057600080fd5b505af1158015610afd573d6000803e3d6000fd5b60006143f86001546001600160a01b031690565b6001600160a01b031663d39e6043606e614410612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614455573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144799190615806565b9050826001600160a01b031663b428b0b06144926134e8565b836040518363ffffffff1660e01b81526004016144b0929190615823565b6020604051808303816000875af11580156144cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144f39190615850565b5060408051600580825260c082019092526000916020820160a08036833701905050905063fbc1a3a060e01b8160008151811061453257614532615ac4565b6001600160e01b0319909216602092830291909101909101528051630cbc6b8960e01b908290600190811061456957614569615ac4565b6001600160e01b03199092166020928302919091019091015280516317b0844560e11b90829060029081106145a0576145a0615ac4565b6001600160e01b03199092166020928302919091019091015280516314eddc0360e31b90829060039081106145d7576145d7615ac4565b6001600160e01b0319909216602092830291909101909101528051633e77a42160e11b908290600490811061460e5761460e615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d826143996134e8565b60006146536001546001600160a01b031690565b6001600160a01b031663d39e604360d261466b612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa1580156146b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d49190615806565b9050826001600160a01b031663b428b0b06146ed6151b6565b836040518363ffffffff1660e01b815260040161470b929190615823565b6020604051808303816000875af115801561472a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061474e9190615850565b50604080516003808252608082019092526000916020820160608036833701905050905063afcc743960e01b8160008151811061478d5761478d615ac4565b6001600160e01b03199092166020928302919091019091015280516330a6523f60e21b90829060019081106147c4576147c4615ac4565b6001600160e01b0319909216602092830291909101909101528051630fad0eb160e01b90829060029081106147fb576147fb615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d826143996151b6565b60006148406001546001600160a01b031690565b6001600160a01b031663d39e604360d3614858612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561489d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c19190615806565b9050826001600160a01b031663b428b0b06148da613353565b836040518363ffffffff1660e01b81526004016148f8929190615823565b6020604051808303816000875af1158015614917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061493b9190615850565b50604080516002808252606082018352600092602083019080368337019050509050631518afb960e01b8160008151811061497857614978615ac4565b6001600160e01b0319909216602092830291909101909101528051631750d17360e21b90829060019081106149af576149af615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d82614399613353565b60006149f46001546001600160a01b031690565b6001600160a01b031663d39e604360d4614a0c612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a759190615806565b9050826001600160a01b031663b428b0b0614a8e613353565b836040518363ffffffff1660e01b8152600401614aac929190615823565b6020604051808303816000875af1158015614acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614aef9190615850565b506040805160008152602081019091526001600160a01b0384166329db8c3d826143996151f2565b6000614b2b6001546001600160a01b031690565b6001600160a01b031663d39e604360dc614b43612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614b88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bac9190615806565b9050836001600160a01b031663b428b0b0614bc561522e565b836040518363ffffffff1660e01b8152600401614be3929190615823565b6020604051808303816000875af1158015614c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c269190615850565b506040805160038082526080820190925260009160208201606080368337019050509050630f03144a60e01b81600081518110614c6557614c65615ac4565b6001600160e01b0319909216602092830291909101909101528051631204b55360e01b9082906001908110614c9c57614c9c615ac4565b6001600160e01b0319909216602092830291909101909101528051637f0f8c6b60e11b9082906002908110614cd357614cd3615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d82614d0461522e565b6040518363ffffffff1660e01b8152600401614d21929190615de8565b600060405180830381600087803b158015614d3b57600080fd5b505af1158015614d4f573d6000803e3d6000fd5b506000925060059150614d5f9050565b604051908082528060200260200182016040528015614d88578160200160208202803683370190505b509050630cc7e61460e01b81600081518110614da657614da6615ac4565b6001600160e01b0319909216602092830291909101909101528051631351fccf60e31b9082906001908110614ddd57614ddd615ac4565b6001600160e01b03199092166020928302919091019091015280516346f0e8a760e11b9082906002908110614e1457614e14615ac4565b6001600160e01b031990921660209283029190910190910152805163b5346af560e01b9082906003908110614e4b57614e4b615ac4565b6001600160e01b03199092166020928302919091019091015280516306fa456560e01b9082906004908110614e8257614e82615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0386166329db8c3d82614eb361522e565b6040518363ffffffff1660e01b815260040161295b929190615e3b565b6000614ee46001546001600160a01b031690565b6001600160a01b031663d39e60436046614efc612995565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015614f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f659190615806565b9050826001600160a01b031663b428b0b0614f7e61526a565b836040518363ffffffff1660e01b8152600401614f9c929190615823565b6020604051808303816000875af1158015614fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fdf9190615850565b506040805160018082528183019092526000916020808301908036833701905050905063f7bc431c60e01b8160008151811061501d5761501d615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0384166329db8c3d8261504e61526a565b6040518363ffffffff1660e01b815260040161506b929190615de8565b600060405180830381600087803b15801561508557600080fd5b505af1158015615099573d6000803e3d6000fd5b5060009250600191506150a99050565b6040519080825280602002602001820160405280156150d2578160200160208202803683370190505b5090506344ec4c3060e01b816000815181106150f0576150f0615ac4565b6001600160e01b0319909216602092830291909101909101526001600160a01b0385166329db8c3d8261512161526a565b6040518363ffffffff1660e01b81526004016141aa929190615e68565b6040516368aebf7b60e01b8152610834600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610898600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610960600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b8152610974600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526109c4600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6040516368aebf7b60e01b81526107d0600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b906024016132ce565b6000602082840312156152b857600080fd5b81356001600160e01b0319811681146152d057600080fd5b9392505050565b60005b838110156152f25781810151838201526020016152da565b50506000910152565b600081518084526153138160208601602086016152d7565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161539060c08401826001600160a01b03169052565b5060c083015160e0808401526153aa6101008401826152fb565b949350505050565b6001600160a01b0381168114611cb057600080fd5b6001600160401b0381168114611cb057600080fd5b6000806000606084860312156153f157600080fd5b83356153fc816153b2565b9250602084013561540c816153c7565b9150604084013561541c816153b2565b809150509250925092565b6001600160601b0381168114611cb057600080fd5b60ff81168114611cb057600080fd5b8015158114611cb057600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561549157615491615459565b60405290565b60405161016081016001600160401b038111828210171561549157615491615459565b604051601f8201601f191681016001600160401b03811182821017156154e2576154e2615459565b604052919050565b60006001600160401b0382111561550357615503615459565b50601f01601f191660200190565b600082601f83011261552257600080fd5b8135615535615530826154ea565b6154ba565b81815284602083860101111561554a57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561558057600080fd5b863561558b816153b2565b9550602087013561559b81615427565b945060408701356155ab8161543c565b935060608701356155bb8161544b565b925060808701356155cb816153b2565b915060a08701356001600160401b038111156155e657600080fd5b6155f289828a01615511565b9150509295509295509295565b60008060006060848603121561561457600080fd5b833561561f81615427565b9250602084013561562f816153b2565b915060408401356001600160401b0381111561564a57600080fd5b61565686828701615511565b9150509250925092565b60006020828403121561567257600080fd5b81356001600160401b0381111561568857600080fd5b6153aa84828501615511565b600080604083850312156156a757600080fd5b82356156b2816153b2565b915060208301356001600160401b038111156156cd57600080fd5b6156d985828601615511565b9150509250929050565b600080604083850312156156f657600080fd5b82356001600160401b0381111561570c57600080fd5b61571885828601615511565b92505060208301356157298161544b565b809150509250929050565b60006020828403121561574657600080fd5b81356152d0816153b2565b60006020828403121561576357600080fd5b81356152d081615427565b6000806040838503121561578157600080fd5b823561578c816153b2565b91506020830135615729816153b2565b6000602082840312156157ae57600080fd5b815162ffffff811681146152d057600080fd5b600181811c908216806157d557607f821691505b6020821081036157f557634e487b7160e01b600052602260045260246000fd5b50919050565b8051613591816153b2565b60006020828403121561581857600080fd5b81516152d0816153b2565b6001600160401b039290921682526001600160a01b0316602082015260400190565b80516135918161544b565b60006020828403121561586257600080fd5b81516152d08161544b565b805161359181615427565b60006020828403121561588a57600080fd5b81516152d081615427565b601f8211156135fb57600081815260208120601f850160051c810160208610156158bc5750805b601f850160051c820191505b818110156158db578281556001016158c8565b505050505050565b81516001600160401b038111156158fc576158fc615459565b6159108161590a84546157c1565b84615895565b602080601f831160018114615945576000841561592d5750858301515b600019600386901b1c1916600185901b1785556158db565b600085815260208120601f198616915b8281101561597457888601518255948401946001909101908401615955565b50858210156159925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516135918161543c565b600082601f8301126159be57600080fd5b81516159cc615530826154ea565b8181528460208386010111156159e157600080fd5b6153aa8260208301602087016152d7565b600060208284031215615a0457600080fd5b81516001600160401b0380821115615a1b57600080fd5b9083019060e08286031215615a2f57600080fd5b615a3761546f565b615a408361586d565b8152615a4e6020840161586d565b6020820152615a5f604084016159a2565b6040820152615a7060608401615845565b6060820152615a81608084016157fb565b6080820152615a9260a084016157fb565b60a082015260c083015182811115615aa957600080fd5b615ab5878286016159ad565b60c08301525095945050505050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015615b145781516001600160e01b03191687529582019590820190600101615aee565b509495945050505050565b606081526000615b3260608301866152fb565b8281036020840152615b448186615ada565b9150506001600160401b0383166040830152949350505050565b8051613591816153c7565b600060208284031215615b7b57600080fd5b81516152d0816153c7565b6001600160a01b03831681526040602082018190526000906153aa908301846152fb565b600060408284031215615bbc57600080fd5b604051604081018181106001600160401b0382111715615bde57615bde615459565b604052825181526020928301519281019290925250919050565b60006101c08284031215615c0b57600080fd5b615c13615497565b615c1c8361586d565b8152615c2a60208401615b5e565b602082015260408301516040820152615c4560608401615845565b6060820152615c5660808401615845565b6080820152615c6760a08401615845565b60a082015260c083015160c082015260e083015160e0820152610100615c8f85828601615baa565b90820152610140615ca285858301615baa565b610120830152615cb6856101808601615baa565b908201529392505050565b604081526000615cd460408301856152fb565b905082151560208301529392505050565b600060208284031215615cf757600080fd5b81516152d08161543c565b60008060408385031215615d1557600080fd5b8251615d20816153b2565b6020840151909250615729816153b2565b6001600160a01b03821681526040602082018190526015908201527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60608201526000608082016152d0565b6001600160a01b038216815260406020820181905260089082015267496e7374616e636560c01b60608201526000608082016152d0565b6001600160a01b0382168152604060208201819052600d908201526c213ab7323632a6b0b730b3b2b960991b60608201526000608082016152d0565b606081526000615e10606083016008815267496e7374616e636560c01b602082015260400190565b8281036020840152615e228186615ada565b9150506001600160401b03831660408301529392505050565b606081526000615e1060608301600d81526c213ab7323632a6b0b730b3b2b960991b602082015260400190565b606081526000615e1060608301601581527424b739ba30b731b2a0b1b1b2b9b9a6b0b730b3b2b960591b60208201526040019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122005d53cafbdd74089d15a2830a2d75333f42bf5fb209d7bf9fef74121e1cbd30a64736f6c63430008140033",
|
990
|
+
"bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61493a806100d65f395ff3fe608060405234801561000f575f80fd5b5060043610610213575f3560e01c80636c741e781161011f578063b03d2a8e116100a9578063c22f980d11610079578063c22f980d146104f1578063dd38b49e146103d5578063e52ba1cb14610504578063edabac0314610517578063f7c34ee014610528575f80fd5b8063b03d2a8e146104b4578063b68d1809146104c7578063b7d68519146104d6578063bf7e214f146104e9575f80fd5b80638e32e979116100ef5780638e32e9791461042a5780638fb360371461043d578063a2356b3a1461045e578063ad50146714610471578063ada9652e146104a0575f80fd5b80636c741e78146103e85780637a9e5e4b14610408578063872309c71461041b578063893d20e814610422575f80fd5b8063329d6e74116101a05780635ab1bd53116101705780635ab1bd531461036d578063644c45e014610392578063675393bf146103af5780636a778e73146103c25780636c6fbb28146103d5575f80fd5b8063329d6e741461032c57806336fc697e1461033f5780633931d6da1461034757806349bb9e4b1461035a575f80fd5b80631eff4b22116101e65780631eff4b22146102a9578063214cdb80146102de578063254f6866146102f357806327bb7a33146103065780632d764ef814610319575f80fd5b806301ffc9a7146102175780630d8e6e2c146102585780630fec111c14610274578063138461e014610289575b5f80fd5b610243610225366004613d48565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61026061053b565b60405162ffffff909116815260200161024f565b61027c6105c2565b60405161024f9190613d8f565b610291610780565b6040516001600160601b03909116815260200161024f565b6102d07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102f16102ec366004613d48565b61078a565b005b6102f1610301366004613e37565b6107b6565b6102f1610314366004613f6c565b610931565b6102f1610327366004614011565b6109d6565b6102f161033a36600461402c565b610db4565b6102f1610efe565b6102f161035536600461405d565b610f43565b6102f1610368366004614094565b611087565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b5f805160206148a5833981519152546001600160601b0316610291565b6102f16103bd366004613e37565b611183565b6102916103d0366004613e37565b611290565b6102f16103e3366004614266565b611b21565b6103f0611b3e565b6040516001600160401b03909116815260200161024f565b6102f1610416366004613e37565b611c34565b6102d05f81565b61037a611cb6565b6102f1610438366004614329565b611de7565b610445611f24565b6040516001600160e01b0319909116815260200161024f565b6102f161046c366004614371565b611f59565b6104796122c7565b604080516001600160a01b0390931683526001600160601b0390911660208301520161024f565b6102d05f805160206148a583398151915281565b6102f16104c236600461439d565b6127c3565b604051600a815260200161024f565b6102f16104e43660046143b8565b6129e7565b61037a612d0f565b6102f16104ff3660046143cf565b612d2a565b6102916105123660046143cf565b612f12565b6007546001600160a01b031661037a565b6102f16105363660046143ea565b613282565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd9190614406565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610672573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106969190614433565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016106de611cb6565b6001600160a01b031681526020018260010180546106fb9061444e565b80601f01602080910402602001604051908101604052809291908181526020018280546107279061444e565b80156107725780601f1061074957610100808354040283529160200191610772565b820191905f5260205f20905b81548152906001019060200180831161075557829003601f168201915b505050505081525091505090565b5f6105bd306132f8565b6107926134f1565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6107be611cb6565b6001600160a01b0316336001600160a01b0316146107f65760405163086391f760e31b81523360048201526024015b60405180910390fd5b6007546001600160a01b031661081f576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661084657604051631aa1808560e31b815260040160405180910390fd5b6007546001600160a01b039081169082160361087557604051630666e2a560e01b815260040160405180910390fd5b6006546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190614486565b6001600160a01b03161461090e5760405163f026367160e01b815260040160405180910390fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6109396134f1565b6109438287613282565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109cc83826144e5565b5050505050505050565b335f6109ea6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610aab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acf91906145aa565b15610af8576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f610b0b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015610b57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b7e9190810190614628565b604001519050610b9781600a5b60ff9081169116141590565b15610bb9578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1a9190614714565b9050610c9f81610c2861053b565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015610c7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190614714565b15610cc1578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f610cd46001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3c9190614433565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff891660248201529192506001600160a01b03169063db1e36e7906044015b5f604051808303815f87803b158015610d96575f80fd5b505af1158015610da8573d5f803e3d5ffd5b50505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610dd661053b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e38919061472f565b5f805160206148e58339815191528054600160401b900460ff1680610e6a575080546001600160401b03808416911610155b15610e885760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610eb283613529565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610f066134f1565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610f4f335b5f36613531565b5f610f5a8383613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614486565b9050806001600160a01b031663a76a333a84856001600160a01b0316636bd1c0eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110309190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015611075575f80fd5b505af11580156109cc573d5f803e3d5ffd5b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156110b85750825b90505f826001600160401b031660011480156110d35750303b155b9050811580156110e1575080155b156110ff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561112957845460ff60401b1916600160401b1785555b61113387876137b2565b831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61118b6134f1565b806001600160a01b03163b5f036111c05760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801561123a575060408051601f3d908101601f19168201909252611237918101906145aa565b60015b6112625760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b8061128b5760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107ed565b505b50565b5f611299611cb6565b6001600160a01b0316336001600160a01b0316146112cc5760405163086391f760e31b81523360048201526024016107ed565b6006546001600160a01b0316156112f657604051632c237de760e11b815260040160405180910390fd5b6005546001600160a01b0316156113205760405163ab0cc43960e01b815260040160405180910390fd5b6008546001600160a01b03161561134a5760405163558f4f7b60e11b815260040160405180910390fd5b6001600160a01b038216611371576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d69190614486565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611415573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114399190614486565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a09190614486565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115079190614486565b90505f8190505f886001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156e9190614486565b9050806001600160a01b038916611598576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0387166115be576040516295661560e31b815260040160405180910390fd5b6001600160a01b0385166115e55760405163e267254160e01b815260040160405180910390fd5b6001600160a01b03831661160c5760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b038116611633576040516301fa2a2b60e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116939190614486565b6001600160a01b03168a6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fc9190614486565b6001600160a01b031614611723576040516334ddf1a760e21b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117839190614486565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ec9190614486565b6001600160a01b0316146118135760405163e168da3760e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118739190614486565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118dc9190614486565b6001600160a01b03161461190357604051631129422760e31b815260040160405180910390fd5b896001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d9190614486565b6001600160a01b03161461199457604051631b25e96d60e31b815260040160405180910390fd5b896001600160a01b0316866001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190614486565b6001600160a01b031614611a25576040516331783c7160e11b815260040160405180910390fd5b600480546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168a84161790556006805482168f8416908117909155600780548316898516179055600880548316878516179055600980549092168484161790915560025490915f911663026bc43b83611a9e611cb6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af1158015611ae7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b0e9190810190614628565b519e9d5050505050505050505050505050565b611b2a33610f48565b611b378585858486613922565b5050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015611ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcd9190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611c10573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061472f565b33611c3d612d0f565b6001600160a01b0316816001600160a01b031614611c785760405162d1953b60e31b81526001600160a01b03821660048201526024016107ed565b816001600160a01b03163b5f03611cad576040516361798f2f60e11b81526001600160a01b03831660048201526024016107ed565b61128b826139a6565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611d22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4691906145aa565b15611dd1576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcb9190614486565b91505090565b54600160601b90046001600160a01b0316919050565b611def6134f1565b611e6b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e539190614433565b60085f8560405180602001604052805f815250610931565b6001600160a01b03821615611e8857611e8382613a06565b611eff565b5f611e936002613a17565b9050611efd816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef89190614486565b613a06565b505b611f0f634a531f3360e01b61078a565b611f1f63daf9067160e01b61078a565b505050565b5f805160206148c583398151915280545f9190600160a01b900460ff16611f4b575f611dcb565b638fb3603760e01b91505090565b335f611f6d6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd59190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906145aa565b1561207b576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f61208e6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa1580156120da573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121019190810190614628565b60400151905061211281600a610b8b565b15612134578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612171573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121959190614714565b90506121a381610c2861053b565b156121c5578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6121d86001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa15801561221c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122409190614433565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038b81166024840152908a16604483015292935091169063dec3bdde906064016020604051808303815f875af11580156122a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190614433565b6004545f908190339082906122e4906001600160a01b0316613b1e565b6005549091505f906122fe906001600160a01b0316613b1e565b60405163189acdbd60e31b81526001600160a01b0380831660048301529192509083169063c4d66de8906024015f604051808303815f87803b158015612342575f80fd5b505af1158015612354573d5f803e3d5ffd5b50505050806001600160a01b031663485cc9558360055f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dc9190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b50506009545f925061244e91506001600160a01b0316613b1e565b6008549091505f90612468906001600160a01b0316613b1e565b6007549091505f90612482906001600160a01b0316613b1e565b60065490915061249a906001600160a01b0316613b1e565b9750876001600160a01b031663cc2a9a5b858585856124c16001546001600160a01b031690565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015293851660248501529184166044840152831660648301528216608482015290891660a482015260c4015f604051808303815f87803b158015612525575f80fd5b505af1158015612537573d5f803e3d5ffd5b505060025460405163026bc43b60e01b81526001600160a01b038c811660048301528a81166024830152909116925063026bc43b91506044015f604051808303815f875af115801561258b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526125b29190810190614628565b5f0151965060035f9054906101000a90046001600160a01b03166001600160a01b03166381d9b45f8873__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612622573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612646919061474a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190614765565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff909116602483015260448201526064015f604051808303815f87803b158015612702575f80fd5b505af1158015612714573d5f803e3d5ffd5b505060405163776c828f60e01b81526001600160a01b038b811660048301528716925063776c828f91506024015f604051808303815f87803b158015612758575f80fd5b505af115801561276a573d5f803e3d5ffd5b5050604080516001600160601b038b1681526001600160a01b038c1660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a15050505050509091565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015612813573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061283791906145aa565b612856576040516302613e9f60e51b81523360048201526024016107ed565b6040516301ffc9a760e01b81526376c9b41160e11b6004820152339081906301ffc9a790602401602060405180830381865afa158015612898573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bc91906145aa565b6128e3576040516236c14d60e71b81526001600160a01b03821660048201526024016107ed565b5f6128f66001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0384811660048301529192505f91831690638b09a5f0906024015f60405180830381865afa15801561293e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129659190810190614628565b602001516040516305247a1760e51b81526001600160601b03821660048201529091505f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156129b8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129df9190810190614628565b505050505050565b335f6129fb6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612a3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a639190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae091906145aa565b15612b09576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f612b1c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015612b68573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b8f9190810190614628565b604001519050612ba081600a610b8b565b15612bc2578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c239190614714565b9050612c3181610c2861053b565b15612c53578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f612c666001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cce9190614433565b60035460405163545c994560e11b81526001600160601b0383166004820152602481018990529192506001600160a01b03169063a8b9328a90604401610d7f565b5f805160206148c5833981519152546001600160a01b031690565b80612d3d6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190614486565b6001600160a01b0316336001600160a01b031614612de1576040516302613e9f60e51b81523360048201526024016107ed565b5f612df46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015612e43573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e6a9190810190614628565b6080810151600754919250905f90612e8a906001600160a01b0316613b1e565b604051636791f7ab60e01b81526001600160a01b03848116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015612ece575f80fd5b505af1158015612ee0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401610d7f565b5f3381612f276001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612f6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f8f9190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061300c91906145aa565b15613035576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f6130486001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015613094573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130bb9190810190614628565b6040015190506130cc81600a610b8b565b156130ee578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314f9190614714565b905061315d81610c2861053b565b1561317f578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6131926001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa1580156131d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131fa9190614433565b6003546040516321ece65760e01b81526001600160601b0380841660048301528a1660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af1158015613253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132779190614433565b505050505050919050565b61328a6134f1565b61329381611183565b61329b610efe565b6001600160a01b0382166132c25760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206148a583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338891906145aa565b156133b45780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107ed565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061342a91906145aa565b6134525760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107ed565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156134a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134c89190614433565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f805160206148e583398151915254600160401b900460ff1661352757604051631afcd79f60e31b815260040160405180910390fd5b565b6102136134f1565b5f805160206148c58339815191525f8061356961354c612d0f565b873061355b60045f8a8c61477c565b613564916147a3565b613b8d565b91509150816129df5763ffffffff81161561360457825460ff60a01b1916600160a01b178355613597612d0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135c6939291906147db565b5f604051808303815f87803b1580156135dd575f80fd5b505af11580156135ef573d5f803e3d5ffd5b5050845460ff60a01b19168555506129df9050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107ed565b5f805f61363c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa15801561368b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136b29190810190614628565b90506136c48160400151610b8b600a90565b156136ed5760405163209839e360e21b81526001600160601b03871660048201526024016107ed565b6040516308b09a5f60e41b81526001600160a01b0386811660048301525f9190841690638b09a5f0906024015f60405180830381865afa158015613733573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261375a9190810190614628565b905061376a816020015188613c95565b1561379e57805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107ed565b608090910151905190969095509350505050565b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156137e35750825b90505f826001600160401b031660011480156137fe5750303b155b90508115801561380c575080155b1561382a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561385457845460ff60401b1916600160401b1785555b5f808780602001905181019061386a919061481a565b925050915061387a82828b611de7565b6138846002613a17565b600280546001600160a01b0319166001600160a01b03929092169190911790556138ae6003613a17565b600380546001600160a01b0319166001600160a01b03929092169190911790556138de6348b5e69560e01b61078a565b5050831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611171565b5f61392d8686613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561396d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139919190614486565b90505f5b84518110156109cc57600101613995565b5f805160206148c583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b613a0e6134f1565b61128d81613d20565b5f613a2a6001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015613a8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ab19190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b189190614486565b92915050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116613b88576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251613bfb9190614859565b5f60405180830381855afa9150503d805f8114613c33576040519150601f19603f3d011682016040523d82523d5f602084013e613c38565b606091505b50915091508115613c8a576040815110613c6a5780806020019051810190613c60919061486f565b9094509250613c8a565b6020815110613c8a5780806020019051810190613c8791906145aa565b93505b505094509492505050565b6040516399009c5160e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015613cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d1991906145aa565b9392505050565b613d286134f1565b61128d816139a6565b80356001600160e01b031981168114613b88575f80fd5b5f60208284031215613d58575f80fd5b613d1982613d31565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613dd7608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152613e1b610100840182613d61565b949350505050565b6001600160a01b038116811461128d575f80fd5b5f60208284031215613e47575f80fd5b8135613d1981613e23565b6001600160601b038116811461128d575f80fd5b60ff8116811461128d575f80fd5b801515811461128d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613eb757613eb7613e81565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613ee557613ee5613e81565b604052919050565b5f6001600160401b03821115613f0557613f05613e81565b50601f01601f191660200190565b5f613f25613f2084613eed565b613ebd565b9050828152838383011115613f38575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112613f5d575f80fd5b613d1983833560208501613f13565b5f805f805f8060c08789031215613f81575f80fd5b8635613f8c81613e23565b95506020870135613f9c81613e52565b94506040870135613fac81613e66565b93506060870135613fbc81613e74565b92506080870135613fcc81613e23565b915060a08701356001600160401b03811115613fe6575f80fd5b613ff289828a01613f4e565b9150509295509295509295565b64ffffffffff8116811461128d575f80fd5b5f60208284031215614021575f80fd5b8135613d1981613fff565b5f6020828403121561403c575f80fd5b81356001600160401b03811115614051575f80fd5b613e1b84828501613f4e565b5f806040838503121561406e575f80fd5b823561407981613e52565b9150602083013561408981613e23565b809150509250929050565b5f80604083850312156140a5575f80fd5b82356140b081613e23565b915060208301356001600160401b038111156140ca575f80fd5b6140d685828601613f4e565b9150509250929050565b5f6001600160401b038211156140f8576140f8613e81565b5060051b60200190565b5f82601f830112614111575f80fd5b813561411f613f20826140e0565b8082825260208201915060208360051b860101925085831115614140575f80fd5b602085015b838110156141e45780356001600160401b03811115614162575f80fd5b8601603f81018813614172575f80fd5b6020810135614183613f20826140e0565b808282526020820191506020808460051b8601010192508a8311156141a6575f80fd5b6040840193505b828410156141cf576141be84613d31565b8252602093840193909101906141ad565b86525050602093840193919091019050614145565b5095945050505050565b6001600160401b038116811461128d575f80fd5b5f82601f830112614211575f80fd5b813561421f613f20826140e0565b8082825260208201915060208360051b860101925085831115614240575f80fd5b602085015b838110156141e4578035614258816141ee565b835260209283019201614245565b5f805f805f60a0868803121561427a575f80fd5b853561428581613e52565b9450602086013561429581613e23565b935060408601356001600160401b038111156142af575f80fd5b8601601f810188136142bf575f80fd5b6142ce88823560208401613f13565b93505060608601356001600160401b038111156142e9575f80fd5b6142f588828901614102565b92505060808601356001600160401b03811115614310575f80fd5b61431c88828901614202565b9150509295509295909350565b5f805f6060848603121561433b575f80fd5b833561434681613e23565b9250602084013561435681613e23565b9150604084013561436681613e23565b809150509250925092565b5f8060408385031215614382575f80fd5b823561438d81613e23565b9150602083013561408981613e52565b5f602082840312156143ad575f80fd5b8135613d1981613e74565b5f602082840312156143c8575f80fd5b5035919050565b5f602082840312156143df575f80fd5b8135613d1981613e52565b5f80604083850312156143fb575f80fd5b823561407981613e23565b5f60208284031215614416575f80fd5b815162ffffff81168114613d19575f80fd5b8051613b8881613e52565b5f60208284031215614443575f80fd5b8151613d1981613e52565b600181811c9082168061446257607f821691505b60208210810361448057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614496575f80fd5b8151613d1981613e23565b601f821115611f1f57805f5260205f20601f840160051c810160208510156144c65750805b601f840160051c820191505b81811015611b37575f81556001016144d2565b81516001600160401b038111156144fe576144fe613e81565b6145128161450c845461444e565b846144a1565b6020601f821160018114614544575f831561452d5750848201515b5f19600385901b1c1916600184901b178455611b37565b5f84815260208120601f198516915b828110156145735787850151825560209485019460019092019101614553565b508482101561459057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8051613b8881613e74565b5f602082840312156145ba575f80fd5b8151613d1981613e74565b8051613b8881613e66565b8051613b8881613e23565b5f82601f8301126145ea575f80fd5b81516145f8613f2082613eed565b81815284602083860101111561460c575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614638575f80fd5b81516001600160401b0381111561464d575f80fd5b820160e0818503121561465e575f80fd5b614666613e95565b61466f82614428565b815261467d60208301614428565b602082015261468e604083016145c5565b604082015261469f6060830161459f565b60608201526146b0608083016145d0565b60808201526146c160a083016145d0565b60a082015260c08201516001600160401b038111156146de575f80fd5b6146ea868285016145db565b60c083015250949350505050565b6001600160a01b0392909216825260ff16602082015260400190565b5f60208284031215614724575f80fd5b8151613d1981613e66565b5f6020828403121561473f575f80fd5b8151613d19816141ee565b5f6020828403121561475a575f80fd5b8151613d1981613fff565b5f60208284031215614775575f80fd5b5051919050565b5f808585111561478a575f80fd5b83861115614796575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156147d4576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561482c575f80fd5b835161483781613e23565b602085015190935061484881613e23565b604085015190925061436681613e23565b5f82518060208501845e5f920191825250919050565b5f8060408385031215614880575f80fd5b825161488b81613e74565b602084015190925063ffffffff81168114614089575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f57d7810c5deb3752825e55d9a5b7c7696e67f5133d7c1d228f4af593d46813364736f6c634300081a0033",
|
991
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610213575f3560e01c80636c741e781161011f578063b03d2a8e116100a9578063c22f980d11610079578063c22f980d146104f1578063dd38b49e146103d5578063e52ba1cb14610504578063edabac0314610517578063f7c34ee014610528575f80fd5b8063b03d2a8e146104b4578063b68d1809146104c7578063b7d68519146104d6578063bf7e214f146104e9575f80fd5b80638e32e979116100ef5780638e32e9791461042a5780638fb360371461043d578063a2356b3a1461045e578063ad50146714610471578063ada9652e146104a0575f80fd5b80636c741e78146103e85780637a9e5e4b14610408578063872309c71461041b578063893d20e814610422575f80fd5b8063329d6e74116101a05780635ab1bd53116101705780635ab1bd531461036d578063644c45e014610392578063675393bf146103af5780636a778e73146103c25780636c6fbb28146103d5575f80fd5b8063329d6e741461032c57806336fc697e1461033f5780633931d6da1461034757806349bb9e4b1461035a575f80fd5b80631eff4b22116101e65780631eff4b22146102a9578063214cdb80146102de578063254f6866146102f357806327bb7a33146103065780632d764ef814610319575f80fd5b806301ffc9a7146102175780630d8e6e2c146102585780630fec111c14610274578063138461e014610289575b5f80fd5b610243610225366004613d48565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61026061053b565b60405162ffffff909116815260200161024f565b61027c6105c2565b60405161024f9190613d8f565b610291610780565b6040516001600160601b03909116815260200161024f565b6102d07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161024f565b6102f16102ec366004613d48565b61078a565b005b6102f1610301366004613e37565b6107b6565b6102f1610314366004613f6c565b610931565b6102f1610327366004614011565b6109d6565b6102f161033a36600461402c565b610db4565b6102f1610efe565b6102f161035536600461405d565b610f43565b6102f1610368366004614094565b611087565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161024f565b5f805160206148a5833981519152546001600160601b0316610291565b6102f16103bd366004613e37565b611183565b6102916103d0366004613e37565b611290565b6102f16103e3366004614266565b611b21565b6103f0611b3e565b6040516001600160401b03909116815260200161024f565b6102f1610416366004613e37565b611c34565b6102d05f81565b61037a611cb6565b6102f1610438366004614329565b611de7565b610445611f24565b6040516001600160e01b0319909116815260200161024f565b6102f161046c366004614371565b611f59565b6104796122c7565b604080516001600160a01b0390931683526001600160601b0390911660208301520161024f565b6102d05f805160206148a583398151915281565b6102f16104c236600461439d565b6127c3565b604051600a815260200161024f565b6102f16104e43660046143b8565b6129e7565b61037a612d0f565b6102f16104ff3660046143cf565b612d2a565b6102916105123660046143cf565b612f12565b6007546001600160a01b031661037a565b6102f16105363660046143ea565b613282565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd9190614406565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610672573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106969190614433565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016106de611cb6565b6001600160a01b031681526020018260010180546106fb9061444e565b80601f01602080910402602001604051908101604052809291908181526020018280546107279061444e565b80156107725780601f1061074957610100808354040283529160200191610772565b820191905f5260205f20905b81548152906001019060200180831161075557829003601f168201915b505050505081525091505090565b5f6105bd306132f8565b6107926134f1565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b6107be611cb6565b6001600160a01b0316336001600160a01b0316146107f65760405163086391f760e31b81523360048201526024015b60405180910390fd5b6007546001600160a01b031661081f576040516358e5a4af60e01b815260040160405180910390fd5b6001600160a01b03811661084657604051631aa1808560e31b815260040160405180910390fd5b6007546001600160a01b039081169082160361087557604051630666e2a560e01b815260040160405180910390fd5b6006546040805163379ed74560e21b8152905183926001600160a01b03908116929084169163de7b5d14916004808201926020929091908290030181865afa1580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e79190614486565b6001600160a01b03161461090e5760405163f026367160e01b815260040160405180910390fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6109396134f1565b6109438287613282565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109cc83826144e5565b5050505050505050565b335f6109ea6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610aab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acf91906145aa565b15610af8576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f610b0b6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015610b57573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b7e9190810190614628565b604001519050610b9781600a5b60ff9081169116141590565b15610bb9578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1a9190614714565b9050610c9f81610c2861053b565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015610c7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190614714565b15610cc1578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f610cd46001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3c9190614433565b60035460405163db1e36e760e01b81526001600160601b038316600482015264ffffffffff891660248201529192506001600160a01b03169063db1e36e7906044015b5f604051808303815f87803b158015610d96575f80fd5b505af1158015610da8573d5f803e3d5ffd5b50505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c610dd661053b565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e38919061472f565b5f805160206148e58339815191528054600160401b900460ff1680610e6a575080546001600160401b03808416911610155b15610e885760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610eb283613529565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610f066134f1565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b610f4f335b5f36613531565b5f610f5a8383613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614486565b9050806001600160a01b031663a76a333a84856001600160a01b0316636bd1c0eb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110309190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015611075575f80fd5b505af11580156109cc573d5f803e3d5ffd5b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156110b85750825b90505f826001600160401b031660011480156110d35750303b155b9050811580156110e1575080155b156110ff5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561112957845460ff60401b1916600160401b1785555b61113387876137b2565b831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61118b6134f1565b806001600160a01b03163b5f036111c05760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa92505050801561123a575060408051601f3d908101601f19168201909252611237918101906145aa565b60015b6112625760405163fdeac91f60e01b81526001600160a01b03821660048201526024016107ed565b8061128b5760405163fdeac91f60e01b81526001600160a01b03831660048201526024016107ed565b505b50565b5f611299611cb6565b6001600160a01b0316336001600160a01b0316146112cc5760405163086391f760e31b81523360048201526024016107ed565b6006546001600160a01b0316156112f657604051632c237de760e11b815260040160405180910390fd5b6005546001600160a01b0316156113205760405163ab0cc43960e01b815260040160405180910390fd5b6008546001600160a01b03161561134a5760405163558f4f7b60e11b815260040160405180910390fd5b6001600160a01b038216611371576040516309353e4560e11b815260040160405180910390fd5b5f8290505f816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d69190614486565b90505f826001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015611415573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114399190614486565b90505f8190505f846001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a09190614486565b90505f8190505f866001600160a01b0316636dddada46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115079190614486565b90505f8190505f886001600160a01b031663d4cda0d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061156e9190614486565b9050806001600160a01b038916611598576040516327ccc33d60e11b815260040160405180910390fd5b6001600160a01b0387166115be576040516295661560e31b815260040160405180910390fd5b6001600160a01b0385166115e55760405163e267254160e01b815260040160405180910390fd5b6001600160a01b03831661160c5760405163bfebabd760e01b815260040160405180910390fd5b6001600160a01b038116611633576040516301fa2a2b60e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116939190614486565b6001600160a01b03168a6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fc9190614486565b6001600160a01b031614611723576040516334ddf1a760e21b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117839190614486565b6001600160a01b0316846001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ec9190614486565b6001600160a01b0316146118135760405163e168da3760e01b815260040160405180910390fd5b876001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118739190614486565b6001600160a01b0316826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118dc9190614486565b6001600160a01b03161461190357604051631129422760e31b815260040160405180910390fd5b896001600160a01b0316846001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d9190614486565b6001600160a01b03161461199457604051631b25e96d60e31b815260040160405180910390fd5b896001600160a01b0316866001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119fe9190614486565b6001600160a01b031614611a25576040516331783c7160e11b815260040160405180910390fd5b600480546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168a84161790556006805482168f8416908117909155600780548316898516179055600880548316878516179055600980549092168484161790915560025490915f911663026bc43b83611a9e611cb6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f875af1158015611ae7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b0e9190810190614628565b519e9d5050505050505050505050505050565b611b2a33610f48565b611b378585858486613922565b5050505050565b5f73__$1d92393fa9ccd763988368ce8a1cb90d26$__63dda777d3600a604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015611ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bcd9190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865af4158015611c10573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061472f565b33611c3d612d0f565b6001600160a01b0316816001600160a01b031614611c785760405162d1953b60e31b81526001600160a01b03821660048201526024016107ed565b816001600160a01b03163b5f03611cad576040516361798f2f60e11b81526001600160a01b03831660048201526024016107ed565b61128b826139a6565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611d22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4691906145aa565b15611dd1576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dcb9190614486565b91505090565b54600160601b90046001600160a01b0316919050565b611def6134f1565b611e6b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e2f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e539190614433565b60085f8560405180602001604052805f815250610931565b6001600160a01b03821615611e8857611e8382613a06565b611eff565b5f611e936002613a17565b9050611efd816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef89190614486565b613a06565b505b611f0f634a531f3360e01b61078a565b611f1f63daf9067160e01b61078a565b505050565b5f805160206148c583398151915280545f9190600160a01b900460ff16611f4b575f611dcb565b638fb3603760e01b91505090565b335f611f6d6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015611fb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd59190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906145aa565b1561207b576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f61208e6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa1580156120da573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121019190810190614628565b60400151905061211281600a610b8b565b15612134578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612171573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121959190614714565b90506121a381610c2861053b565b156121c5578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6121d86001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa15801561221c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122409190614433565b600354604051636f61deef60e11b81526001600160601b0380841660048301526001600160a01b038b81166024840152908a16604483015292935091169063dec3bdde906064016020604051808303815f875af11580156122a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190614433565b6004545f908190339082906122e4906001600160a01b0316613b1e565b6005549091505f906122fe906001600160a01b0316613b1e565b60405163189acdbd60e31b81526001600160a01b0380831660048301529192509083169063c4d66de8906024015f604051808303815f87803b158015612342575f80fd5b505af1158015612354573d5f803e3d5ffd5b50505050806001600160a01b031663485cc9558360055f9054906101000a90046001600160a01b03166001600160a01b0316638e5bc2936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123dc9190614486565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044015f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b50506009545f925061244e91506001600160a01b0316613b1e565b6008549091505f90612468906001600160a01b0316613b1e565b6007549091505f90612482906001600160a01b0316613b1e565b60065490915061249a906001600160a01b0316613b1e565b9750876001600160a01b031663cc2a9a5b858585856124c16001546001600160a01b031690565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015293851660248501529184166044840152831660648301528216608482015290891660a482015260c4015f604051808303815f87803b158015612525575f80fd5b505af1158015612537573d5f803e3d5ffd5b505060025460405163026bc43b60e01b81526001600160a01b038c811660048301528a81166024830152909116925063026bc43b91506044015f604051808303815f875af115801561258b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526125b29190810190614628565b5f0151965060035f9054906101000a90046001600160a01b03166001600160a01b03166381d9b45f8873__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63c6edc3dd6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612622573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612646919061474a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__63f87bf3736040518163ffffffff1660e01b8152600401602060405180830381865af415801561268d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b19190614765565b6040516001600160e01b031960e086901b1681526001600160601b03909316600484015264ffffffffff909116602483015260448201526064015f604051808303815f87803b158015612702575f80fd5b505af1158015612714573d5f803e3d5ffd5b505060405163776c828f60e01b81526001600160a01b038b811660048301528716925063776c828f91506024015f604051808303815f87803b158015612758575f80fd5b505af115801561276a573d5f803e3d5ffd5b5050604080516001600160601b038b1681526001600160a01b038c1660208201527f5f38ba73d945d51535b3c678f341052a70a580bed77c5db38464d02366c29fa8935001905060405180910390a15050505050509091565b6001546001600160a01b0316604051630bee2f1560e11b81523360048201526001600160a01b0391909116906317dc5e2a90602401602060405180830381865afa158015612813573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061283791906145aa565b612856576040516302613e9f60e51b81523360048201526024016107ed565b6040516301ffc9a760e01b81526376c9b41160e11b6004820152339081906301ffc9a790602401602060405180830381865afa158015612898573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128bc91906145aa565b6128e3576040516236c14d60e71b81526001600160a01b03821660048201526024016107ed565b5f6128f66001546001600160a01b031690565b6040516308b09a5f60e41b81526001600160a01b0384811660048301529192505f91831690638b09a5f0906024015f60405180830381865afa15801561293e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129659190810190614628565b602001516040516305247a1760e51b81526001600160601b03821660048201529091505f906001600160a01b0384169063a48f42e0906024015f60405180830381865afa1580156129b8573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129df9190810190614628565b505050505050565b335f6129fb6001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612a3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a639190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612abc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ae091906145aa565b15612b09576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f612b1c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015612b68573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612b8f9190810190614628565b604001519050612ba081600a610b8b565b15612bc2578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c239190614714565b9050612c3181610c2861053b565b15612c53578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f612c666001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cce9190614433565b60035460405163545c994560e11b81526001600160601b0383166004820152602481018990529192506001600160a01b03169063a8b9328a90604401610d7f565b5f805160206148c5833981519152546001600160a01b031690565b80612d3d6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03831660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dae9190614486565b6001600160a01b0316336001600160a01b031614612de1576040516302613e9f60e51b81523360048201526024016107ed565b5f612df46001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03851660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa158015612e43573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612e6a9190810190614628565b6080810151600754919250905f90612e8a906001600160a01b0316613b1e565b604051636791f7ab60e01b81526001600160a01b03848116600483015291925090821690636791f7ab906024015f604051808303815f87803b158015612ece575f80fd5b505af1158015612ee0573d5f803e3d5ffd5b5050604051633def10c760e21b81526001600160a01b0384811660048301528516925063f7bc431c9150602401610d7f565b5f3381612f276001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015612f6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f8f9190614433565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015612fe8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061300c91906145aa565b15613035576040516308afbeb960e31b81526001600160a01b03831660048201526024016107ed565b5f6130486001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03841660048201526001600160a01b03919091169063a48f42e0906024015f60405180830381865afa158015613094573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130bb9190810190614628565b6040015190506130cc81600a610b8b565b156130ee578281604051632e87cd2360e11b81526004016107ed9291906146f8565b5f836001600160a01b031663cde749f46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061314f9190614714565b905061315d81610c2861053b565b1561317f578381604051637f8084f960e01b81526004016107ed9291906146f8565b5f6131926001546001600160a01b031690565b604051636939560f60e11b81523360048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa1580156131d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131fa9190614433565b6003546040516321ece65760e01b81526001600160601b0380841660048301528a1660248201529192506001600160a01b0316906321ece657906044016020604051808303815f875af1158015613253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132779190614433565b505050505050919050565b61328a6134f1565b61329381611183565b61329b610efe565b6001600160a01b0382166132c25760405163f17ef42d60e01b815260040160405180910390fd5b505f805160206148a583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b5f805f805160206148a583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613364573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338891906145aa565b156133b45780546040516301ab8b6760e21b81526001600160601b0390911660048201526024016107ed565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613406573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061342a91906145aa565b6134525760405163b9304b0d60e01b81526001600160a01b03841660048201526024016107ed565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa1580156134a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134c89190614433565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f805160206148e583398151915254600160401b900460ff1661352757604051631afcd79f60e31b815260040160405180910390fd5b565b6102136134f1565b5f805160206148c58339815191525f8061356961354c612d0f565b873061355b60045f8a8c61477c565b613564916147a3565b613b8d565b91509150816129df5763ffffffff81161561360457825460ff60a01b1916600160a01b178355613597612d0f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135c6939291906147db565b5f604051808303815f87803b1580156135dd575f80fd5b505af11580156135ef573d5f803e3d5ffd5b5050845460ff60a01b19168555506129df9050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016107ed565b5f805f61363c6001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03871660048201529091505f906001600160a01b0383169063a48f42e0906024015f60405180830381865afa15801561368b573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136b29190810190614628565b90506136c48160400151610b8b600a90565b156136ed5760405163209839e360e21b81526001600160601b03871660048201526024016107ed565b6040516308b09a5f60e41b81526001600160a01b0386811660048301525f9190841690638b09a5f0906024015f60405180830381865afa158015613733573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261375a9190810190614628565b905061376a816020015188613c95565b1561379e57805160405163a811346560e01b81526001600160601b03808a16600483015290911660248201526044016107ed565b608090910151905190969095509350505050565b5f805160206148e58339815191528054600160401b810460ff1615906001600160401b03165f811580156137e35750825b90505f826001600160401b031660011480156137fe5750303b155b90508115801561380c575080155b1561382a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561385457845460ff60401b1916600160401b1785555b5f808780602001905181019061386a919061481a565b925050915061387a82828b611de7565b6138846002613a17565b600280546001600160a01b0319166001600160a01b03929092169190911790556138ae6003613a17565b600380546001600160a01b0319166001600160a01b03929092169190911790556138de6348b5e69560e01b61078a565b5050831561117a57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611171565b5f61392d8686613627565b5090505f816001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa15801561396d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139919190614486565b90505f5b84518110156109cc57600101613995565b5f805160206148c583398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b613a0e6134f1565b61128d81613d20565b5f613a2a6001546001600160a01b031690565b604051632392b61b60e21b8152600360048201526001600160a01b03919091169063d39e604390849073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015613a8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ab19190614714565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa158015613af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b189190614486565b92915050565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff090506001600160a01b038116613b88576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251613bfb9190614859565b5f60405180830381855afa9150503d805f8114613c33576040519150601f19603f3d011682016040523d82523d5f602084013e613c38565b606091505b50915091508115613c8a576040815110613c6a5780806020019051810190613c60919061486f565b9094509250613c8a565b6020815110613c8a5780806020019051810190613c8791906145aa565b93505b505094509492505050565b6040516399009c5160e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__906399009c5190604401602060405180830381865af4158015613cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d1991906145aa565b9392505050565b613d286134f1565b61128d816139a6565b80356001600160e01b031981168114613b88575f80fd5b5f60208284031215613d58575f80fd5b613d1982613d31565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f6060830151613dd7608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152613e1b610100840182613d61565b949350505050565b6001600160a01b038116811461128d575f80fd5b5f60208284031215613e47575f80fd5b8135613d1981613e23565b6001600160601b038116811461128d575f80fd5b60ff8116811461128d575f80fd5b801515811461128d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613eb757613eb7613e81565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613ee557613ee5613e81565b604052919050565b5f6001600160401b03821115613f0557613f05613e81565b50601f01601f191660200190565b5f613f25613f2084613eed565b613ebd565b9050828152838383011115613f38575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112613f5d575f80fd5b613d1983833560208501613f13565b5f805f805f8060c08789031215613f81575f80fd5b8635613f8c81613e23565b95506020870135613f9c81613e52565b94506040870135613fac81613e66565b93506060870135613fbc81613e74565b92506080870135613fcc81613e23565b915060a08701356001600160401b03811115613fe6575f80fd5b613ff289828a01613f4e565b9150509295509295509295565b64ffffffffff8116811461128d575f80fd5b5f60208284031215614021575f80fd5b8135613d1981613fff565b5f6020828403121561403c575f80fd5b81356001600160401b03811115614051575f80fd5b613e1b84828501613f4e565b5f806040838503121561406e575f80fd5b823561407981613e52565b9150602083013561408981613e23565b809150509250929050565b5f80604083850312156140a5575f80fd5b82356140b081613e23565b915060208301356001600160401b038111156140ca575f80fd5b6140d685828601613f4e565b9150509250929050565b5f6001600160401b038211156140f8576140f8613e81565b5060051b60200190565b5f82601f830112614111575f80fd5b813561411f613f20826140e0565b8082825260208201915060208360051b860101925085831115614140575f80fd5b602085015b838110156141e45780356001600160401b03811115614162575f80fd5b8601603f81018813614172575f80fd5b6020810135614183613f20826140e0565b808282526020820191506020808460051b8601010192508a8311156141a6575f80fd5b6040840193505b828410156141cf576141be84613d31565b8252602093840193909101906141ad565b86525050602093840193919091019050614145565b5095945050505050565b6001600160401b038116811461128d575f80fd5b5f82601f830112614211575f80fd5b813561421f613f20826140e0565b8082825260208201915060208360051b860101925085831115614240575f80fd5b602085015b838110156141e4578035614258816141ee565b835260209283019201614245565b5f805f805f60a0868803121561427a575f80fd5b853561428581613e52565b9450602086013561429581613e23565b935060408601356001600160401b038111156142af575f80fd5b8601601f810188136142bf575f80fd5b6142ce88823560208401613f13565b93505060608601356001600160401b038111156142e9575f80fd5b6142f588828901614102565b92505060808601356001600160401b03811115614310575f80fd5b61431c88828901614202565b9150509295509295909350565b5f805f6060848603121561433b575f80fd5b833561434681613e23565b9250602084013561435681613e23565b9150604084013561436681613e23565b809150509250925092565b5f8060408385031215614382575f80fd5b823561438d81613e23565b9150602083013561408981613e52565b5f602082840312156143ad575f80fd5b8135613d1981613e74565b5f602082840312156143c8575f80fd5b5035919050565b5f602082840312156143df575f80fd5b8135613d1981613e52565b5f80604083850312156143fb575f80fd5b823561407981613e23565b5f60208284031215614416575f80fd5b815162ffffff81168114613d19575f80fd5b8051613b8881613e52565b5f60208284031215614443575f80fd5b8151613d1981613e52565b600181811c9082168061446257607f821691505b60208210810361448057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215614496575f80fd5b8151613d1981613e23565b601f821115611f1f57805f5260205f20601f840160051c810160208510156144c65750805b601f840160051c820191505b81811015611b37575f81556001016144d2565b81516001600160401b038111156144fe576144fe613e81565b6145128161450c845461444e565b846144a1565b6020601f821160018114614544575f831561452d5750848201515b5f19600385901b1c1916600184901b178455611b37565b5f84815260208120601f198516915b828110156145735787850151825560209485019460019092019101614553565b508482101561459057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8051613b8881613e74565b5f602082840312156145ba575f80fd5b8151613d1981613e74565b8051613b8881613e66565b8051613b8881613e23565b5f82601f8301126145ea575f80fd5b81516145f8613f2082613eed565b81815284602083860101111561460c575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614638575f80fd5b81516001600160401b0381111561464d575f80fd5b820160e0818503121561465e575f80fd5b614666613e95565b61466f82614428565b815261467d60208301614428565b602082015261468e604083016145c5565b604082015261469f6060830161459f565b60608201526146b0608083016145d0565b60808201526146c160a083016145d0565b60a082015260c08201516001600160401b038111156146de575f80fd5b6146ea868285016145db565b60c083015250949350505050565b6001600160a01b0392909216825260ff16602082015260400190565b5f60208284031215614724575f80fd5b8151613d1981613e66565b5f6020828403121561473f575f80fd5b8151613d19816141ee565b5f6020828403121561475a575f80fd5b8151613d1981613fff565b5f60208284031215614775575f80fd5b5051919050565b5f808585111561478a575f80fd5b83861115614796575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156147d4576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f6060848603121561482c575f80fd5b835161483781613e23565b602085015190935061484881613e23565b604085015190925061436681613e23565b5f82518060208501845e5f920191825250919050565b5f8060408385031215614880575f80fd5b825161488b81613e74565b602084015190925063ffffffff81168114614089575f80fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220f57d7810c5deb3752825e55d9a5b7c7696e67f5133d7c1d228f4af593d46813364736f6c634300081a0033",
|
870
992
|
"linkReferences": {
|
871
|
-
"contracts/
|
872
|
-
"
|
873
|
-
{
|
874
|
-
"length": 20,
|
875
|
-
"start": 2402
|
876
|
-
},
|
993
|
+
"contracts/staking/TargetManagerLib.sol": {
|
994
|
+
"TargetManagerLib": [
|
877
995
|
{
|
878
996
|
"length": 20,
|
879
|
-
"start":
|
997
|
+
"start": 9907
|
880
998
|
},
|
881
999
|
{
|
882
1000
|
"length": 20,
|
883
|
-
"start":
|
1001
|
+
"start": 10014
|
884
1002
|
}
|
885
1003
|
]
|
886
1004
|
},
|
887
|
-
"contracts/
|
888
|
-
"
|
889
|
-
{
|
890
|
-
"length": 20,
|
891
|
-
"start": 13206
|
892
|
-
},
|
893
|
-
{
|
894
|
-
"length": 20,
|
895
|
-
"start": 13335
|
896
|
-
},
|
897
|
-
{
|
898
|
-
"length": 20,
|
899
|
-
"start": 13395
|
900
|
-
},
|
1005
|
+
"contracts/type/NftId.sol": {
|
1006
|
+
"NftIdLib": [
|
901
1007
|
{
|
902
1008
|
"length": 20,
|
903
|
-
"start":
|
1009
|
+
"start": 1795
|
904
1010
|
},
|
905
1011
|
{
|
906
1012
|
"length": 20,
|
907
|
-
"start":
|
1013
|
+
"start": 2889
|
908
1014
|
},
|
909
1015
|
{
|
910
1016
|
"length": 20,
|
911
|
-
"start":
|
1017
|
+
"start": 7616
|
912
1018
|
},
|
913
1019
|
{
|
914
1020
|
"length": 20,
|
915
|
-
"start":
|
1021
|
+
"start": 8396
|
916
1022
|
},
|
917
1023
|
{
|
918
1024
|
"length": 20,
|
919
|
-
"start":
|
1025
|
+
"start": 11098
|
920
1026
|
},
|
921
1027
|
{
|
922
1028
|
"length": 20,
|
923
|
-
"start":
|
1029
|
+
"start": 12422
|
924
1030
|
},
|
925
1031
|
{
|
926
1032
|
"length": 20,
|
927
|
-
"start":
|
1033
|
+
"start": 13314
|
928
1034
|
},
|
929
1035
|
{
|
930
1036
|
"length": 20,
|
931
|
-
"start":
|
932
|
-
}
|
1037
|
+
"start": 15763
|
1038
|
+
}
|
1039
|
+
]
|
1040
|
+
},
|
1041
|
+
"contracts/type/RoleId.sol": {
|
1042
|
+
"RoleIdLib": [
|
933
1043
|
{
|
934
1044
|
"length": 20,
|
935
|
-
"start":
|
1045
|
+
"start": 7191
|
936
1046
|
}
|
937
1047
|
]
|
938
1048
|
},
|
939
|
-
"contracts/
|
1049
|
+
"contracts/type/Version.sol": {
|
940
1050
|
"VersionLib": [
|
941
1051
|
{
|
942
1052
|
"length": 20,
|
943
|
-
"start":
|
1053
|
+
"start": 1591
|
944
1054
|
},
|
945
1055
|
{
|
946
1056
|
"length": 20,
|
947
|
-
"start":
|
1057
|
+
"start": 3353
|
1058
|
+
},
|
1059
|
+
{
|
1060
|
+
"length": 20,
|
1061
|
+
"start": 3724
|
948
1062
|
}
|
949
1063
|
],
|
950
1064
|
"VersionPartLib": [
|
951
1065
|
{
|
952
1066
|
"length": 20,
|
953
|
-
"start":
|
1067
|
+
"start": 7239
|
1068
|
+
},
|
1069
|
+
{
|
1070
|
+
"length": 20,
|
1071
|
+
"start": 15147
|
954
1072
|
}
|
955
1073
|
]
|
956
1074
|
}
|
957
1075
|
},
|
958
1076
|
"deployedLinkReferences": {
|
959
|
-
"contracts/
|
960
|
-
"
|
1077
|
+
"contracts/staking/TargetManagerLib.sol": {
|
1078
|
+
"TargetManagerLib": [
|
961
1079
|
{
|
962
1080
|
"length": 20,
|
963
|
-
"start":
|
1081
|
+
"start": 9693
|
964
1082
|
},
|
965
1083
|
{
|
966
1084
|
"length": 20,
|
967
|
-
"start":
|
968
|
-
},
|
969
|
-
{
|
970
|
-
"length": 20,
|
971
|
-
"start": 8876
|
1085
|
+
"start": 9800
|
972
1086
|
}
|
973
1087
|
]
|
974
1088
|
},
|
975
|
-
"contracts/
|
976
|
-
"
|
977
|
-
{
|
978
|
-
"length": 20,
|
979
|
-
"start": 12976
|
980
|
-
},
|
981
|
-
{
|
982
|
-
"length": 20,
|
983
|
-
"start": 13105
|
984
|
-
},
|
985
|
-
{
|
986
|
-
"length": 20,
|
987
|
-
"start": 13165
|
988
|
-
},
|
1089
|
+
"contracts/type/NftId.sol": {
|
1090
|
+
"NftIdLib": [
|
989
1091
|
{
|
990
1092
|
"length": 20,
|
991
|
-
"start":
|
1093
|
+
"start": 1581
|
992
1094
|
},
|
993
1095
|
{
|
994
1096
|
"length": 20,
|
995
|
-
"start":
|
1097
|
+
"start": 2675
|
996
1098
|
},
|
997
1099
|
{
|
998
1100
|
"length": 20,
|
999
|
-
"start":
|
1101
|
+
"start": 7402
|
1000
1102
|
},
|
1001
1103
|
{
|
1002
1104
|
"length": 20,
|
1003
|
-
"start":
|
1105
|
+
"start": 8182
|
1004
1106
|
},
|
1005
1107
|
{
|
1006
1108
|
"length": 20,
|
1007
|
-
"start":
|
1109
|
+
"start": 10884
|
1008
1110
|
},
|
1009
1111
|
{
|
1010
1112
|
"length": 20,
|
1011
|
-
"start":
|
1113
|
+
"start": 12208
|
1012
1114
|
},
|
1013
1115
|
{
|
1014
1116
|
"length": 20,
|
1015
|
-
"start":
|
1117
|
+
"start": 13100
|
1016
1118
|
},
|
1017
1119
|
{
|
1018
1120
|
"length": 20,
|
1019
|
-
"start":
|
1020
|
-
}
|
1121
|
+
"start": 15549
|
1122
|
+
}
|
1123
|
+
]
|
1124
|
+
},
|
1125
|
+
"contracts/type/RoleId.sol": {
|
1126
|
+
"RoleIdLib": [
|
1021
1127
|
{
|
1022
1128
|
"length": 20,
|
1023
|
-
"start":
|
1129
|
+
"start": 6977
|
1024
1130
|
}
|
1025
1131
|
]
|
1026
1132
|
},
|
1027
|
-
"contracts/
|
1133
|
+
"contracts/type/Version.sol": {
|
1028
1134
|
"VersionLib": [
|
1029
1135
|
{
|
1030
1136
|
"length": 20,
|
1031
|
-
"start":
|
1137
|
+
"start": 1377
|
1138
|
+
},
|
1139
|
+
{
|
1140
|
+
"length": 20,
|
1141
|
+
"start": 3139
|
1032
1142
|
},
|
1033
1143
|
{
|
1034
1144
|
"length": 20,
|
1035
|
-
"start":
|
1145
|
+
"start": 3510
|
1036
1146
|
}
|
1037
1147
|
],
|
1038
1148
|
"VersionPartLib": [
|
1039
1149
|
{
|
1040
1150
|
"length": 20,
|
1041
|
-
"start":
|
1151
|
+
"start": 7025
|
1152
|
+
},
|
1153
|
+
{
|
1154
|
+
"length": 20,
|
1155
|
+
"start": 14933
|
1042
1156
|
}
|
1043
1157
|
]
|
1044
1158
|
}
|