@etherisc/gif-next 0.0.2-858f0b8-208 → 0.0.2-85e1eb3-876
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -9
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +190 -464
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +109 -356
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +644 -392
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +209 -133
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +96 -191
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +476 -137
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1696 -724
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +974 -651
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- 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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +135 -333
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +103 -133
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +111 -293
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +164 -354
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +386 -482
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +168 -144
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +259 -153
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +142 -183
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +524 -288
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +140 -333
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +730 -549
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +206 -114
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +288 -409
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +358 -127
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +257 -226
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +477 -373
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -124
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +280 -401
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1061 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +99 -252
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +493 -638
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +183 -133
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +103 -133
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +110 -292
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
- 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 +86 -111
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1087 -160
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1285 -387
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +424 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +222 -105
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +175 -223
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +960 -732
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +131 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +174 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
- package/contracts/accounting/AccountingService.sol +274 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +47 -0
- package/contracts/authorization/AccessAdmin.sol +458 -269
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +159 -208
- package/contracts/authorization/IAccess.sol +25 -6
- package/contracts/authorization/IAccessAdmin.sol +87 -79
- package/contracts/authorization/IAuthorization.sol +9 -36
- package/contracts/authorization/IServiceAuthorization.sol +57 -17
- package/contracts/authorization/ServiceAuthorization.sol +255 -25
- package/contracts/distribution/BasicDistribution.sol +21 -18
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +44 -92
- package/contracts/distribution/DistributionService.sol +243 -131
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +4 -11
- package/contracts/distribution/IDistributionService.sol +47 -29
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +102 -43
- package/contracts/instance/IInstanceService.sol +59 -34
- package/contracts/instance/Instance.sol +193 -100
- package/contracts/instance/InstanceAdmin.sol +275 -158
- package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
- package/contracts/instance/InstanceReader.sol +478 -251
- package/contracts/instance/InstanceService.sol +293 -236
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +23 -2
- package/contracts/instance/RiskSet.sol +126 -0
- package/contracts/instance/base/BalanceStore.sol +4 -6
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +13 -10
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +30 -15
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +50 -29
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +2 -5
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +9 -21
- package/contracts/oracle/OracleService.sol +119 -87
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +36 -40
- package/contracts/pool/BasicPoolAuthorization.sol +36 -13
- package/contracts/pool/BundleService.sol +140 -191
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +33 -50
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +97 -76
- package/contracts/pool/Pool.sol +142 -137
- package/contracts/pool/PoolLib.sol +341 -0
- package/contracts/pool/PoolService.sol +390 -301
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +143 -46
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +11 -14
- package/contracts/product/BasicProductAuthorization.sol +32 -12
- package/contracts/product/ClaimService.sol +385 -172
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +29 -3
- package/contracts/product/IClaimService.sol +48 -11
- package/contracts/product/IPolicyService.sol +61 -43
- package/contracts/product/IPricingService.sol +11 -10
- package/contracts/product/IProductComponent.sol +27 -5
- package/contracts/product/IRiskService.sol +48 -0
- package/contracts/product/PolicyService.sol +423 -307
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +90 -84
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +188 -106
- package/contracts/product/RiskService.sol +190 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +72 -40
- package/contracts/registry/IRegistry.sol +70 -32
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +367 -207
- package/contracts/registry/RegistryAdmin.sol +110 -287
- package/contracts/registry/RegistryAuthorization.sol +308 -0
- package/contracts/registry/RegistryService.sol +38 -49
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +279 -239
- package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
- package/contracts/registry/TokenRegistry.sol +61 -59
- package/contracts/shared/Component.sol +69 -135
- package/contracts/shared/ComponentService.sol +424 -387
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ContractLib.sol +312 -0
- package/contracts/shared/IComponent.sol +6 -19
- package/contracts/shared/IComponentService.sol +43 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
- package/contracts/shared/IKeyValueStore.sol +1 -1
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +4 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +22 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +10 -2
- package/contracts/shared/InstanceLinkedComponent.sol +73 -51
- package/contracts/shared/KeyValueStore.sol +4 -4
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +31 -9
- package/contracts/shared/PolicyHolder.sol +18 -54
- package/contracts/shared/Registerable.sol +52 -21
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +20 -35
- package/contracts/shared/TokenHandler.sol +310 -26
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +163 -65
- package/contracts/staking/IStakingService.sol +45 -78
- package/contracts/staking/Staking.sol +629 -223
- package/contracts/staking/StakingLib.sol +168 -0
- package/contracts/staking/StakingManager.sol +9 -8
- package/contracts/staking/StakingReader.sol +53 -85
- package/contracts/staking/StakingService.sol +63 -149
- package/contracts/staking/StakingServiceManager.sol +7 -5
- package/contracts/staking/StakingStore.sol +639 -350
- package/contracts/staking/TargetManagerLib.sol +8 -4
- package/contracts/type/Amount.sol +19 -0
- package/contracts/type/Blocknumber.sol +15 -15
- package/contracts/type/ChainId.sol +92 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +73 -37
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +61 -55
- package/contracts/type/Seconds.sol +13 -0
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +4 -7
- package/contracts/type/UFixed.sol +38 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/IVersionable.sol +3 -0
- package/contracts/upgradeability/ProxyManager.sol +93 -45
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
- package/contracts/upgradeability/Versionable.sol +8 -5
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/product/IProductService.sol +0 -33
- package/contracts/product/ProductService.sol +0 -99
- package/contracts/product/ProductServiceManager.sol +0 -39
- package/contracts/shared/ComponentVerifyingService.sol +0 -117
- package/contracts/shared/InitializableCustom.sol +0 -177
- package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -41,6 +41,17 @@
|
|
41
41
|
"name": "AccessManagedUnauthorized",
|
42
42
|
"type": "error"
|
43
43
|
},
|
44
|
+
{
|
45
|
+
"inputs": [
|
46
|
+
{
|
47
|
+
"internalType": "address",
|
48
|
+
"name": "authority",
|
49
|
+
"type": "address"
|
50
|
+
}
|
51
|
+
],
|
52
|
+
"name": "ErrorAuthorityInvalid",
|
53
|
+
"type": "error"
|
54
|
+
},
|
44
55
|
{
|
45
56
|
"inputs": [],
|
46
57
|
"name": "ErrorComponentNameLengthZero",
|
@@ -59,43 +70,22 @@
|
|
59
70
|
},
|
60
71
|
{
|
61
72
|
"inputs": [],
|
62
|
-
"name": "
|
73
|
+
"name": "ErrorComponentProductNftIdNonzero",
|
63
74
|
"type": "error"
|
64
75
|
},
|
65
76
|
{
|
66
77
|
"inputs": [],
|
67
|
-
"name": "
|
78
|
+
"name": "ErrorComponentProductNftIdZero",
|
68
79
|
"type": "error"
|
69
80
|
},
|
70
81
|
{
|
71
82
|
"inputs": [],
|
72
|
-
"name": "
|
83
|
+
"name": "ErrorComponentWalletAddressIsSameAsCurrent",
|
73
84
|
"type": "error"
|
74
85
|
},
|
75
86
|
{
|
76
|
-
"inputs": [
|
77
|
-
|
78
|
-
"internalType": "address",
|
79
|
-
"name": "oldWallet",
|
80
|
-
"type": "address"
|
81
|
-
},
|
82
|
-
{
|
83
|
-
"internalType": "address",
|
84
|
-
"name": "newWallet",
|
85
|
-
"type": "address"
|
86
|
-
},
|
87
|
-
{
|
88
|
-
"internalType": "uint256",
|
89
|
-
"name": "allowance",
|
90
|
-
"type": "uint256"
|
91
|
-
},
|
92
|
-
{
|
93
|
-
"internalType": "uint256",
|
94
|
-
"name": "balance",
|
95
|
-
"type": "uint256"
|
96
|
-
}
|
97
|
-
],
|
98
|
-
"name": "ErrorComponentWalletAllowanceTooSmall",
|
87
|
+
"inputs": [],
|
88
|
+
"name": "ErrorComponentWalletAddressZero",
|
99
89
|
"type": "error"
|
100
90
|
},
|
101
91
|
{
|
@@ -130,6 +120,22 @@
|
|
130
120
|
"name": "ErrorNftOwnableInitialOwnerZero",
|
131
121
|
"type": "error"
|
132
122
|
},
|
123
|
+
{
|
124
|
+
"inputs": [
|
125
|
+
{
|
126
|
+
"internalType": "NftId",
|
127
|
+
"name": "nftId",
|
128
|
+
"type": "uint96"
|
129
|
+
},
|
130
|
+
{
|
131
|
+
"internalType": "ObjectType",
|
132
|
+
"name": "expectedObjectType",
|
133
|
+
"type": "uint8"
|
134
|
+
}
|
135
|
+
],
|
136
|
+
"name": "ErrorNftOwnableInvalidType",
|
137
|
+
"type": "error"
|
138
|
+
},
|
133
139
|
{
|
134
140
|
"inputs": [
|
135
141
|
{
|
@@ -152,6 +158,11 @@
|
|
152
158
|
"name": "ErrorNotRegistry",
|
153
159
|
"type": "error"
|
154
160
|
},
|
161
|
+
{
|
162
|
+
"inputs": [],
|
163
|
+
"name": "ErrorRegisterableNotActive",
|
164
|
+
"type": "error"
|
165
|
+
},
|
155
166
|
{
|
156
167
|
"inputs": [
|
157
168
|
{
|
@@ -226,9 +237,19 @@
|
|
226
237
|
"internalType": "NftId",
|
227
238
|
"name": "targetNftId",
|
228
239
|
"type": "uint96"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"internalType": "Seconds",
|
243
|
+
"name": "minLockingPeriod",
|
244
|
+
"type": "uint40"
|
245
|
+
},
|
246
|
+
{
|
247
|
+
"internalType": "Seconds",
|
248
|
+
"name": "lockingPeriod",
|
249
|
+
"type": "uint40"
|
229
250
|
}
|
230
251
|
],
|
231
|
-
"name": "
|
252
|
+
"name": "ErrorStakingLockingPeriodTooShort",
|
232
253
|
"type": "error"
|
233
254
|
},
|
234
255
|
{
|
@@ -242,6 +263,38 @@
|
|
242
263
|
"name": "ErrorStakingNotNftOwner",
|
243
264
|
"type": "error"
|
244
265
|
},
|
266
|
+
{
|
267
|
+
"inputs": [
|
268
|
+
{
|
269
|
+
"internalType": "NftId",
|
270
|
+
"name": "stakeNftId",
|
271
|
+
"type": "uint96"
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"internalType": "address",
|
275
|
+
"name": "expectedOwner",
|
276
|
+
"type": "address"
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"internalType": "address",
|
280
|
+
"name": "actualOwner",
|
281
|
+
"type": "address"
|
282
|
+
}
|
283
|
+
],
|
284
|
+
"name": "ErrorStakingNotOwner",
|
285
|
+
"type": "error"
|
286
|
+
},
|
287
|
+
{
|
288
|
+
"inputs": [
|
289
|
+
{
|
290
|
+
"internalType": "address",
|
291
|
+
"name": "registry",
|
292
|
+
"type": "address"
|
293
|
+
}
|
294
|
+
],
|
295
|
+
"name": "ErrorStakingNotRegistry",
|
296
|
+
"type": "error"
|
297
|
+
},
|
245
298
|
{
|
246
299
|
"inputs": [
|
247
300
|
{
|
@@ -269,6 +322,17 @@
|
|
269
322
|
"name": "ErrorStakingNotTarget",
|
270
323
|
"type": "error"
|
271
324
|
},
|
325
|
+
{
|
326
|
+
"inputs": [
|
327
|
+
{
|
328
|
+
"internalType": "VersionPart",
|
329
|
+
"name": "release",
|
330
|
+
"type": "uint8"
|
331
|
+
}
|
332
|
+
],
|
333
|
+
"name": "ErrorStakingReleaseNotActive",
|
334
|
+
"type": "error"
|
335
|
+
},
|
272
336
|
{
|
273
337
|
"inputs": [
|
274
338
|
{
|
@@ -279,17 +343,28 @@
|
|
279
343
|
{
|
280
344
|
"internalType": "UFixed",
|
281
345
|
"name": "maxRewardRate",
|
282
|
-
"type": "
|
346
|
+
"type": "uint160"
|
283
347
|
},
|
284
348
|
{
|
285
349
|
"internalType": "UFixed",
|
286
350
|
"name": "rewardRate",
|
287
|
-
"type": "
|
351
|
+
"type": "uint160"
|
288
352
|
}
|
289
353
|
],
|
290
354
|
"name": "ErrorStakingRewardRateTooHigh",
|
291
355
|
"type": "error"
|
292
356
|
},
|
357
|
+
{
|
358
|
+
"inputs": [
|
359
|
+
{
|
360
|
+
"internalType": "VersionPart",
|
361
|
+
"name": "release",
|
362
|
+
"type": "uint8"
|
363
|
+
}
|
364
|
+
],
|
365
|
+
"name": "ErrorStakingServiceNotFound",
|
366
|
+
"type": "error"
|
367
|
+
},
|
293
368
|
{
|
294
369
|
"inputs": [
|
295
370
|
{
|
@@ -301,6 +376,22 @@
|
|
301
376
|
"name": "ErrorStakingStakeAmountZero",
|
302
377
|
"type": "error"
|
303
378
|
},
|
379
|
+
{
|
380
|
+
"inputs": [
|
381
|
+
{
|
382
|
+
"internalType": "NftId",
|
383
|
+
"name": "stakeNftId",
|
384
|
+
"type": "uint96"
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"internalType": "Timestamp",
|
388
|
+
"name": "lockedUntil",
|
389
|
+
"type": "uint40"
|
390
|
+
}
|
391
|
+
],
|
392
|
+
"name": "ErrorStakingStakeLocked",
|
393
|
+
"type": "error"
|
394
|
+
},
|
304
395
|
{
|
305
396
|
"inputs": [
|
306
397
|
{
|
@@ -323,20 +414,30 @@
|
|
323
414
|
"name": "ErrorStakingTargetAlreadyRegistered",
|
324
415
|
"type": "error"
|
325
416
|
},
|
326
|
-
{
|
327
|
-
"inputs": [],
|
328
|
-
"name": "ErrorStakingTargetNftIdZero",
|
329
|
-
"type": "error"
|
330
|
-
},
|
331
417
|
{
|
332
418
|
"inputs": [
|
333
419
|
{
|
334
420
|
"internalType": "NftId",
|
335
421
|
"name": "targetNftId",
|
336
422
|
"type": "uint96"
|
423
|
+
},
|
424
|
+
{
|
425
|
+
"internalType": "Amount",
|
426
|
+
"name": "maxStakedAmount",
|
427
|
+
"type": "uint96"
|
428
|
+
},
|
429
|
+
{
|
430
|
+
"internalType": "Amount",
|
431
|
+
"name": "stakedAmount",
|
432
|
+
"type": "uint96"
|
337
433
|
}
|
338
434
|
],
|
339
|
-
"name": "
|
435
|
+
"name": "ErrorStakingTargetMaxStakedAmountExceeded",
|
436
|
+
"type": "error"
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"inputs": [],
|
440
|
+
"name": "ErrorStakingTargetNftIdZero",
|
340
441
|
"type": "error"
|
341
442
|
},
|
342
443
|
{
|
@@ -358,9 +459,9 @@
|
|
358
459
|
"type": "uint96"
|
359
460
|
},
|
360
461
|
{
|
361
|
-
"internalType": "
|
462
|
+
"internalType": "ChainId",
|
362
463
|
"name": "chainId",
|
363
|
-
"type": "
|
464
|
+
"type": "uint96"
|
364
465
|
},
|
365
466
|
{
|
366
467
|
"internalType": "address",
|
@@ -411,9 +512,9 @@
|
|
411
512
|
{
|
412
513
|
"inputs": [
|
413
514
|
{
|
414
|
-
"internalType": "
|
515
|
+
"internalType": "ChainId",
|
415
516
|
"name": "chainId",
|
416
|
-
"type": "
|
517
|
+
"type": "uint96"
|
417
518
|
},
|
418
519
|
{
|
419
520
|
"internalType": "address",
|
@@ -424,6 +525,16 @@
|
|
424
525
|
"name": "ErrorStakingTokenNotRegistered",
|
425
526
|
"type": "error"
|
426
527
|
},
|
528
|
+
{
|
529
|
+
"inputs": [],
|
530
|
+
"name": "ErrorVersionableInitializeNotImplemented",
|
531
|
+
"type": "error"
|
532
|
+
},
|
533
|
+
{
|
534
|
+
"inputs": [],
|
535
|
+
"name": "ErrorVersionableUpgradeNotImplemented",
|
536
|
+
"type": "error"
|
537
|
+
},
|
427
538
|
{
|
428
539
|
"inputs": [],
|
429
540
|
"name": "InvalidInitialization",
|
@@ -463,6 +574,12 @@
|
|
463
574
|
{
|
464
575
|
"anonymous": false,
|
465
576
|
"inputs": [
|
577
|
+
{
|
578
|
+
"indexed": false,
|
579
|
+
"internalType": "address",
|
580
|
+
"name": "tokenHandler",
|
581
|
+
"type": "address"
|
582
|
+
},
|
466
583
|
{
|
467
584
|
"indexed": false,
|
468
585
|
"internalType": "address",
|
@@ -474,6 +591,12 @@
|
|
474
591
|
"internalType": "Amount",
|
475
592
|
"name": "limit",
|
476
593
|
"type": "uint96"
|
594
|
+
},
|
595
|
+
{
|
596
|
+
"indexed": false,
|
597
|
+
"internalType": "bool",
|
598
|
+
"name": "isMaxAmount",
|
599
|
+
"type": "bool"
|
477
600
|
}
|
478
601
|
],
|
479
602
|
"name": "LogComponentTokenHandlerApproved",
|
@@ -523,6 +646,25 @@
|
|
523
646
|
"name": "LogComponentWalletTokensTransferred",
|
524
647
|
"type": "event"
|
525
648
|
},
|
649
|
+
{
|
650
|
+
"anonymous": false,
|
651
|
+
"inputs": [
|
652
|
+
{
|
653
|
+
"indexed": false,
|
654
|
+
"internalType": "NftId",
|
655
|
+
"name": "nftId",
|
656
|
+
"type": "uint96"
|
657
|
+
},
|
658
|
+
{
|
659
|
+
"indexed": false,
|
660
|
+
"internalType": "address",
|
661
|
+
"name": "owner",
|
662
|
+
"type": "address"
|
663
|
+
}
|
664
|
+
],
|
665
|
+
"name": "LogNftOwnableNftLinkedToAddress",
|
666
|
+
"type": "event"
|
667
|
+
},
|
526
668
|
{
|
527
669
|
"anonymous": false,
|
528
670
|
"inputs": [
|
@@ -535,17 +677,23 @@
|
|
535
677
|
{
|
536
678
|
"indexed": false,
|
537
679
|
"internalType": "Seconds",
|
538
|
-
"name": "
|
680
|
+
"name": "newLockingPeriod",
|
539
681
|
"type": "uint40"
|
540
682
|
},
|
541
683
|
{
|
542
684
|
"indexed": false,
|
543
685
|
"internalType": "Seconds",
|
544
|
-
"name": "
|
686
|
+
"name": "oldLockingPeriod",
|
687
|
+
"type": "uint40"
|
688
|
+
},
|
689
|
+
{
|
690
|
+
"indexed": false,
|
691
|
+
"internalType": "Blocknumber",
|
692
|
+
"name": "lastUpdatedIn",
|
545
693
|
"type": "uint40"
|
546
694
|
}
|
547
695
|
],
|
548
|
-
"name": "
|
696
|
+
"name": "LogStakingProtocolLockingPeriodSet",
|
549
697
|
"type": "event"
|
550
698
|
},
|
551
699
|
{
|
@@ -560,17 +708,23 @@
|
|
560
708
|
{
|
561
709
|
"indexed": false,
|
562
710
|
"internalType": "UFixed",
|
563
|
-
"name": "
|
564
|
-
"type": "
|
711
|
+
"name": "newRewardRate",
|
712
|
+
"type": "uint160"
|
565
713
|
},
|
566
714
|
{
|
567
715
|
"indexed": false,
|
568
716
|
"internalType": "UFixed",
|
569
|
-
"name": "
|
570
|
-
"type": "
|
717
|
+
"name": "oldRewardRate",
|
718
|
+
"type": "uint160"
|
719
|
+
},
|
720
|
+
{
|
721
|
+
"indexed": false,
|
722
|
+
"internalType": "Blocknumber",
|
723
|
+
"name": "lastUpdatedIn",
|
724
|
+
"type": "uint40"
|
571
725
|
}
|
572
726
|
],
|
573
|
-
"name": "
|
727
|
+
"name": "LogStakingProtocolRewardRateSet",
|
574
728
|
"type": "event"
|
575
729
|
},
|
576
730
|
{
|
@@ -578,50 +732,701 @@
|
|
578
732
|
"inputs": [
|
579
733
|
{
|
580
734
|
"indexed": false,
|
581
|
-
"internalType": "
|
582
|
-
"name": "
|
583
|
-
"type": "
|
735
|
+
"internalType": "NftId",
|
736
|
+
"name": "targetNftId",
|
737
|
+
"type": "uint96"
|
738
|
+
},
|
739
|
+
{
|
740
|
+
"indexed": false,
|
741
|
+
"internalType": "Amount",
|
742
|
+
"name": "dipAmount",
|
743
|
+
"type": "uint96"
|
584
744
|
},
|
585
745
|
{
|
586
746
|
"indexed": false,
|
587
747
|
"internalType": "address",
|
588
|
-
"name": "
|
748
|
+
"name": "targetOwner",
|
589
749
|
"type": "address"
|
590
750
|
},
|
591
751
|
{
|
592
752
|
"indexed": false,
|
593
|
-
"internalType": "
|
594
|
-
"name": "
|
595
|
-
"type": "
|
753
|
+
"internalType": "Amount",
|
754
|
+
"name": "reserveBalance",
|
755
|
+
"type": "uint96"
|
596
756
|
},
|
597
757
|
{
|
598
758
|
"indexed": false,
|
599
|
-
"internalType": "
|
600
|
-
"name": "
|
601
|
-
"type": "
|
759
|
+
"internalType": "Blocknumber",
|
760
|
+
"name": "lastUpdateIn",
|
761
|
+
"type": "uint40"
|
602
762
|
}
|
603
763
|
],
|
604
|
-
"name": "
|
764
|
+
"name": "LogStakingRewardReservesRefilled",
|
605
765
|
"type": "event"
|
606
766
|
},
|
607
767
|
{
|
608
|
-
"
|
609
|
-
"
|
610
|
-
"outputs": [
|
768
|
+
"anonymous": false,
|
769
|
+
"inputs": [
|
611
770
|
{
|
612
|
-
"
|
613
|
-
"
|
614
|
-
"
|
771
|
+
"indexed": false,
|
772
|
+
"internalType": "NftId",
|
773
|
+
"name": "targetNftId",
|
774
|
+
"type": "uint96"
|
775
|
+
},
|
776
|
+
{
|
777
|
+
"indexed": false,
|
778
|
+
"internalType": "Amount",
|
779
|
+
"name": "dipAmount",
|
780
|
+
"type": "uint96"
|
781
|
+
},
|
782
|
+
{
|
783
|
+
"indexed": false,
|
784
|
+
"internalType": "Amount",
|
785
|
+
"name": "reserveBalance",
|
786
|
+
"type": "uint96"
|
787
|
+
},
|
788
|
+
{
|
789
|
+
"indexed": false,
|
790
|
+
"internalType": "Blocknumber",
|
791
|
+
"name": "lastUpdateIn",
|
792
|
+
"type": "uint40"
|
615
793
|
}
|
616
794
|
],
|
617
|
-
"
|
618
|
-
"type": "
|
795
|
+
"name": "LogStakingRewardReservesSpent",
|
796
|
+
"type": "event"
|
619
797
|
},
|
620
798
|
{
|
621
|
-
"
|
622
|
-
"
|
623
|
-
|
624
|
-
|
799
|
+
"anonymous": false,
|
800
|
+
"inputs": [
|
801
|
+
{
|
802
|
+
"indexed": false,
|
803
|
+
"internalType": "NftId",
|
804
|
+
"name": "targetNftId",
|
805
|
+
"type": "uint96"
|
806
|
+
},
|
807
|
+
{
|
808
|
+
"indexed": false,
|
809
|
+
"internalType": "Amount",
|
810
|
+
"name": "dipAmount",
|
811
|
+
"type": "uint96"
|
812
|
+
},
|
813
|
+
{
|
814
|
+
"indexed": false,
|
815
|
+
"internalType": "address",
|
816
|
+
"name": "targetOwner",
|
817
|
+
"type": "address"
|
818
|
+
},
|
819
|
+
{
|
820
|
+
"indexed": false,
|
821
|
+
"internalType": "Amount",
|
822
|
+
"name": "reserveBalance",
|
823
|
+
"type": "uint96"
|
824
|
+
},
|
825
|
+
{
|
826
|
+
"indexed": false,
|
827
|
+
"internalType": "Blocknumber",
|
828
|
+
"name": "lastUpdateIn",
|
829
|
+
"type": "uint40"
|
830
|
+
}
|
831
|
+
],
|
832
|
+
"name": "LogStakingRewardReservesWithdrawn",
|
833
|
+
"type": "event"
|
834
|
+
},
|
835
|
+
{
|
836
|
+
"anonymous": false,
|
837
|
+
"inputs": [
|
838
|
+
{
|
839
|
+
"indexed": false,
|
840
|
+
"internalType": "NftId",
|
841
|
+
"name": "stakeNftId",
|
842
|
+
"type": "uint96"
|
843
|
+
},
|
844
|
+
{
|
845
|
+
"indexed": false,
|
846
|
+
"internalType": "Amount",
|
847
|
+
"name": "claimedAmount",
|
848
|
+
"type": "uint96"
|
849
|
+
},
|
850
|
+
{
|
851
|
+
"indexed": false,
|
852
|
+
"internalType": "Amount",
|
853
|
+
"name": "stakeBalance",
|
854
|
+
"type": "uint96"
|
855
|
+
},
|
856
|
+
{
|
857
|
+
"indexed": false,
|
858
|
+
"internalType": "Amount",
|
859
|
+
"name": "rewardBalance",
|
860
|
+
"type": "uint96"
|
861
|
+
},
|
862
|
+
{
|
863
|
+
"indexed": false,
|
864
|
+
"internalType": "Timestamp",
|
865
|
+
"name": "lockedUntil",
|
866
|
+
"type": "uint40"
|
867
|
+
}
|
868
|
+
],
|
869
|
+
"name": "LogStakingRewardsClaimed",
|
870
|
+
"type": "event"
|
871
|
+
},
|
872
|
+
{
|
873
|
+
"anonymous": false,
|
874
|
+
"inputs": [
|
875
|
+
{
|
876
|
+
"indexed": false,
|
877
|
+
"internalType": "NftId",
|
878
|
+
"name": "stakeNftId",
|
879
|
+
"type": "uint96"
|
880
|
+
},
|
881
|
+
{
|
882
|
+
"indexed": false,
|
883
|
+
"internalType": "Amount",
|
884
|
+
"name": "restakedAmount",
|
885
|
+
"type": "uint96"
|
886
|
+
},
|
887
|
+
{
|
888
|
+
"indexed": false,
|
889
|
+
"internalType": "Amount",
|
890
|
+
"name": "stakeBalance",
|
891
|
+
"type": "uint96"
|
892
|
+
},
|
893
|
+
{
|
894
|
+
"indexed": false,
|
895
|
+
"internalType": "Amount",
|
896
|
+
"name": "rewardBalance",
|
897
|
+
"type": "uint96"
|
898
|
+
},
|
899
|
+
{
|
900
|
+
"indexed": false,
|
901
|
+
"internalType": "Timestamp",
|
902
|
+
"name": "lockedUntil",
|
903
|
+
"type": "uint40"
|
904
|
+
}
|
905
|
+
],
|
906
|
+
"name": "LogStakingRewardsRestaked",
|
907
|
+
"type": "event"
|
908
|
+
},
|
909
|
+
{
|
910
|
+
"anonymous": false,
|
911
|
+
"inputs": [
|
912
|
+
{
|
913
|
+
"indexed": false,
|
914
|
+
"internalType": "NftId",
|
915
|
+
"name": "stakeNftId",
|
916
|
+
"type": "uint96"
|
917
|
+
},
|
918
|
+
{
|
919
|
+
"indexed": false,
|
920
|
+
"internalType": "NftId",
|
921
|
+
"name": "targetNftId",
|
922
|
+
"type": "uint96"
|
923
|
+
},
|
924
|
+
{
|
925
|
+
"indexed": false,
|
926
|
+
"internalType": "Amount",
|
927
|
+
"name": "stakeAmount",
|
928
|
+
"type": "uint96"
|
929
|
+
},
|
930
|
+
{
|
931
|
+
"indexed": false,
|
932
|
+
"internalType": "Timestamp",
|
933
|
+
"name": "lockedUntil",
|
934
|
+
"type": "uint40"
|
935
|
+
},
|
936
|
+
{
|
937
|
+
"indexed": false,
|
938
|
+
"internalType": "address",
|
939
|
+
"name": "stakeOwner",
|
940
|
+
"type": "address"
|
941
|
+
}
|
942
|
+
],
|
943
|
+
"name": "LogStakingStakeCreated",
|
944
|
+
"type": "event"
|
945
|
+
},
|
946
|
+
{
|
947
|
+
"anonymous": false,
|
948
|
+
"inputs": [
|
949
|
+
{
|
950
|
+
"indexed": false,
|
951
|
+
"internalType": "NftId",
|
952
|
+
"name": "stakeNftId",
|
953
|
+
"type": "uint96"
|
954
|
+
},
|
955
|
+
{
|
956
|
+
"indexed": false,
|
957
|
+
"internalType": "NftId",
|
958
|
+
"name": "targetNftId",
|
959
|
+
"type": "uint96"
|
960
|
+
},
|
961
|
+
{
|
962
|
+
"indexed": false,
|
963
|
+
"internalType": "Amount",
|
964
|
+
"name": "stakeAmount",
|
965
|
+
"type": "uint96"
|
966
|
+
},
|
967
|
+
{
|
968
|
+
"indexed": false,
|
969
|
+
"internalType": "address",
|
970
|
+
"name": "owner",
|
971
|
+
"type": "address"
|
972
|
+
},
|
973
|
+
{
|
974
|
+
"indexed": false,
|
975
|
+
"internalType": "NftId",
|
976
|
+
"name": "oldStakeNftId",
|
977
|
+
"type": "uint96"
|
978
|
+
}
|
979
|
+
],
|
980
|
+
"name": "LogStakingStakeRestaked",
|
981
|
+
"type": "event"
|
982
|
+
},
|
983
|
+
{
|
984
|
+
"anonymous": false,
|
985
|
+
"inputs": [
|
986
|
+
{
|
987
|
+
"indexed": false,
|
988
|
+
"internalType": "NftId",
|
989
|
+
"name": "stakeNftId",
|
990
|
+
"type": "uint96"
|
991
|
+
},
|
992
|
+
{
|
993
|
+
"indexed": false,
|
994
|
+
"internalType": "Amount",
|
995
|
+
"name": "rewardIncrementAmount",
|
996
|
+
"type": "uint96"
|
997
|
+
},
|
998
|
+
{
|
999
|
+
"indexed": false,
|
1000
|
+
"internalType": "Amount",
|
1001
|
+
"name": "stakeBalance",
|
1002
|
+
"type": "uint96"
|
1003
|
+
},
|
1004
|
+
{
|
1005
|
+
"indexed": false,
|
1006
|
+
"internalType": "Amount",
|
1007
|
+
"name": "rewardBalance",
|
1008
|
+
"type": "uint96"
|
1009
|
+
},
|
1010
|
+
{
|
1011
|
+
"indexed": false,
|
1012
|
+
"internalType": "Timestamp",
|
1013
|
+
"name": "lockedUntil",
|
1014
|
+
"type": "uint40"
|
1015
|
+
}
|
1016
|
+
],
|
1017
|
+
"name": "LogStakingStakeRewardsUpdated",
|
1018
|
+
"type": "event"
|
1019
|
+
},
|
1020
|
+
{
|
1021
|
+
"anonymous": false,
|
1022
|
+
"inputs": [
|
1023
|
+
{
|
1024
|
+
"indexed": false,
|
1025
|
+
"internalType": "NftId",
|
1026
|
+
"name": "stakeNftId",
|
1027
|
+
"type": "uint96"
|
1028
|
+
},
|
1029
|
+
{
|
1030
|
+
"indexed": false,
|
1031
|
+
"internalType": "Amount",
|
1032
|
+
"name": "stakedAmount",
|
1033
|
+
"type": "uint96"
|
1034
|
+
},
|
1035
|
+
{
|
1036
|
+
"indexed": false,
|
1037
|
+
"internalType": "Amount",
|
1038
|
+
"name": "stakeBalance",
|
1039
|
+
"type": "uint96"
|
1040
|
+
},
|
1041
|
+
{
|
1042
|
+
"indexed": false,
|
1043
|
+
"internalType": "Amount",
|
1044
|
+
"name": "rewardBalance",
|
1045
|
+
"type": "uint96"
|
1046
|
+
},
|
1047
|
+
{
|
1048
|
+
"indexed": false,
|
1049
|
+
"internalType": "Timestamp",
|
1050
|
+
"name": "lockedUntil",
|
1051
|
+
"type": "uint40"
|
1052
|
+
}
|
1053
|
+
],
|
1054
|
+
"name": "LogStakingStaked",
|
1055
|
+
"type": "event"
|
1056
|
+
},
|
1057
|
+
{
|
1058
|
+
"anonymous": false,
|
1059
|
+
"inputs": [
|
1060
|
+
{
|
1061
|
+
"indexed": false,
|
1062
|
+
"internalType": "ChainId",
|
1063
|
+
"name": "chainId",
|
1064
|
+
"type": "uint96"
|
1065
|
+
},
|
1066
|
+
{
|
1067
|
+
"indexed": false,
|
1068
|
+
"internalType": "address",
|
1069
|
+
"name": "token",
|
1070
|
+
"type": "address"
|
1071
|
+
},
|
1072
|
+
{
|
1073
|
+
"indexed": false,
|
1074
|
+
"internalType": "UFixed",
|
1075
|
+
"name": "newStakingRate",
|
1076
|
+
"type": "uint160"
|
1077
|
+
},
|
1078
|
+
{
|
1079
|
+
"indexed": false,
|
1080
|
+
"internalType": "UFixed",
|
1081
|
+
"name": "oldStakingRate",
|
1082
|
+
"type": "uint160"
|
1083
|
+
},
|
1084
|
+
{
|
1085
|
+
"indexed": false,
|
1086
|
+
"internalType": "Blocknumber",
|
1087
|
+
"name": "lastUpdatedIn",
|
1088
|
+
"type": "uint40"
|
1089
|
+
}
|
1090
|
+
],
|
1091
|
+
"name": "LogStakingStakingRateSet",
|
1092
|
+
"type": "event"
|
1093
|
+
},
|
1094
|
+
{
|
1095
|
+
"anonymous": false,
|
1096
|
+
"inputs": [
|
1097
|
+
{
|
1098
|
+
"indexed": false,
|
1099
|
+
"internalType": "address",
|
1100
|
+
"name": "stakingReader",
|
1101
|
+
"type": "address"
|
1102
|
+
},
|
1103
|
+
{
|
1104
|
+
"indexed": false,
|
1105
|
+
"internalType": "address",
|
1106
|
+
"name": "oldStakingReader",
|
1107
|
+
"type": "address"
|
1108
|
+
}
|
1109
|
+
],
|
1110
|
+
"name": "LogStakingStakingReaderSet",
|
1111
|
+
"type": "event"
|
1112
|
+
},
|
1113
|
+
{
|
1114
|
+
"anonymous": false,
|
1115
|
+
"inputs": [
|
1116
|
+
{
|
1117
|
+
"indexed": false,
|
1118
|
+
"internalType": "address",
|
1119
|
+
"name": "stakingService",
|
1120
|
+
"type": "address"
|
1121
|
+
},
|
1122
|
+
{
|
1123
|
+
"indexed": false,
|
1124
|
+
"internalType": "VersionPart",
|
1125
|
+
"name": "release",
|
1126
|
+
"type": "uint8"
|
1127
|
+
},
|
1128
|
+
{
|
1129
|
+
"indexed": false,
|
1130
|
+
"internalType": "address",
|
1131
|
+
"name": "oldStakingService",
|
1132
|
+
"type": "address"
|
1133
|
+
}
|
1134
|
+
],
|
1135
|
+
"name": "LogStakingStakingServiceSet",
|
1136
|
+
"type": "event"
|
1137
|
+
},
|
1138
|
+
{
|
1139
|
+
"anonymous": false,
|
1140
|
+
"inputs": [
|
1141
|
+
{
|
1142
|
+
"indexed": false,
|
1143
|
+
"internalType": "NftId",
|
1144
|
+
"name": "targetNftId",
|
1145
|
+
"type": "uint96"
|
1146
|
+
},
|
1147
|
+
{
|
1148
|
+
"indexed": false,
|
1149
|
+
"internalType": "ObjectType",
|
1150
|
+
"name": "objectType",
|
1151
|
+
"type": "uint8"
|
1152
|
+
},
|
1153
|
+
{
|
1154
|
+
"indexed": false,
|
1155
|
+
"internalType": "Seconds",
|
1156
|
+
"name": "lockingPeriod",
|
1157
|
+
"type": "uint40"
|
1158
|
+
},
|
1159
|
+
{
|
1160
|
+
"indexed": false,
|
1161
|
+
"internalType": "UFixed",
|
1162
|
+
"name": "rewardRate",
|
1163
|
+
"type": "uint160"
|
1164
|
+
},
|
1165
|
+
{
|
1166
|
+
"indexed": false,
|
1167
|
+
"internalType": "Amount",
|
1168
|
+
"name": "maxStakedAmount",
|
1169
|
+
"type": "uint96"
|
1170
|
+
}
|
1171
|
+
],
|
1172
|
+
"name": "LogStakingTargetCreated",
|
1173
|
+
"type": "event"
|
1174
|
+
},
|
1175
|
+
{
|
1176
|
+
"anonymous": false,
|
1177
|
+
"inputs": [
|
1178
|
+
{
|
1179
|
+
"indexed": false,
|
1180
|
+
"internalType": "NftId",
|
1181
|
+
"name": "targetNftId",
|
1182
|
+
"type": "uint96"
|
1183
|
+
},
|
1184
|
+
{
|
1185
|
+
"indexed": false,
|
1186
|
+
"internalType": "Seconds",
|
1187
|
+
"name": "oldLockingPeriod",
|
1188
|
+
"type": "uint40"
|
1189
|
+
},
|
1190
|
+
{
|
1191
|
+
"indexed": false,
|
1192
|
+
"internalType": "Seconds",
|
1193
|
+
"name": "lockingPeriod",
|
1194
|
+
"type": "uint40"
|
1195
|
+
}
|
1196
|
+
],
|
1197
|
+
"name": "LogStakingTargetLockingPeriodSet",
|
1198
|
+
"type": "event"
|
1199
|
+
},
|
1200
|
+
{
|
1201
|
+
"anonymous": false,
|
1202
|
+
"inputs": [
|
1203
|
+
{
|
1204
|
+
"indexed": false,
|
1205
|
+
"internalType": "NftId",
|
1206
|
+
"name": "targetNftId",
|
1207
|
+
"type": "uint96"
|
1208
|
+
},
|
1209
|
+
{
|
1210
|
+
"indexed": false,
|
1211
|
+
"internalType": "Amount",
|
1212
|
+
"name": "maxStakedAmount",
|
1213
|
+
"type": "uint96"
|
1214
|
+
}
|
1215
|
+
],
|
1216
|
+
"name": "LogStakingTargetMaxStakedAmountSet",
|
1217
|
+
"type": "event"
|
1218
|
+
},
|
1219
|
+
{
|
1220
|
+
"anonymous": false,
|
1221
|
+
"inputs": [
|
1222
|
+
{
|
1223
|
+
"indexed": false,
|
1224
|
+
"internalType": "NftId",
|
1225
|
+
"name": "targetNftId",
|
1226
|
+
"type": "uint96"
|
1227
|
+
},
|
1228
|
+
{
|
1229
|
+
"indexed": false,
|
1230
|
+
"internalType": "UFixed",
|
1231
|
+
"name": "rewardRate",
|
1232
|
+
"type": "uint160"
|
1233
|
+
},
|
1234
|
+
{
|
1235
|
+
"indexed": false,
|
1236
|
+
"internalType": "UFixed",
|
1237
|
+
"name": "oldRewardRate",
|
1238
|
+
"type": "uint160"
|
1239
|
+
}
|
1240
|
+
],
|
1241
|
+
"name": "LogStakingTargetRewardRateSet",
|
1242
|
+
"type": "event"
|
1243
|
+
},
|
1244
|
+
{
|
1245
|
+
"anonymous": false,
|
1246
|
+
"inputs": [
|
1247
|
+
{
|
1248
|
+
"indexed": false,
|
1249
|
+
"internalType": "NftId",
|
1250
|
+
"name": "targetNftId",
|
1251
|
+
"type": "uint96"
|
1252
|
+
},
|
1253
|
+
{
|
1254
|
+
"indexed": false,
|
1255
|
+
"internalType": "ChainId",
|
1256
|
+
"name": "chainId",
|
1257
|
+
"type": "uint96"
|
1258
|
+
},
|
1259
|
+
{
|
1260
|
+
"indexed": false,
|
1261
|
+
"internalType": "address",
|
1262
|
+
"name": "token",
|
1263
|
+
"type": "address"
|
1264
|
+
}
|
1265
|
+
],
|
1266
|
+
"name": "LogStakingTargetTokenAdded",
|
1267
|
+
"type": "event"
|
1268
|
+
},
|
1269
|
+
{
|
1270
|
+
"anonymous": false,
|
1271
|
+
"inputs": [
|
1272
|
+
{
|
1273
|
+
"indexed": false,
|
1274
|
+
"internalType": "ChainId",
|
1275
|
+
"name": "chainId",
|
1276
|
+
"type": "uint96"
|
1277
|
+
},
|
1278
|
+
{
|
1279
|
+
"indexed": false,
|
1280
|
+
"internalType": "address",
|
1281
|
+
"name": "token",
|
1282
|
+
"type": "address"
|
1283
|
+
}
|
1284
|
+
],
|
1285
|
+
"name": "LogStakingTokenAdded",
|
1286
|
+
"type": "event"
|
1287
|
+
},
|
1288
|
+
{
|
1289
|
+
"anonymous": false,
|
1290
|
+
"inputs": [
|
1291
|
+
{
|
1292
|
+
"indexed": false,
|
1293
|
+
"internalType": "address",
|
1294
|
+
"name": "token",
|
1295
|
+
"type": "address"
|
1296
|
+
},
|
1297
|
+
{
|
1298
|
+
"indexed": false,
|
1299
|
+
"internalType": "Amount",
|
1300
|
+
"name": "approvalAmount",
|
1301
|
+
"type": "uint96"
|
1302
|
+
},
|
1303
|
+
{
|
1304
|
+
"indexed": false,
|
1305
|
+
"internalType": "Amount",
|
1306
|
+
"name": "oldApprovalAmount",
|
1307
|
+
"type": "uint96"
|
1308
|
+
}
|
1309
|
+
],
|
1310
|
+
"name": "LogStakingTokenHandlerApproved",
|
1311
|
+
"type": "event"
|
1312
|
+
},
|
1313
|
+
{
|
1314
|
+
"anonymous": false,
|
1315
|
+
"inputs": [
|
1316
|
+
{
|
1317
|
+
"indexed": false,
|
1318
|
+
"internalType": "NftId",
|
1319
|
+
"name": "targetNftId",
|
1320
|
+
"type": "uint96"
|
1321
|
+
},
|
1322
|
+
{
|
1323
|
+
"indexed": false,
|
1324
|
+
"internalType": "address",
|
1325
|
+
"name": "token",
|
1326
|
+
"type": "address"
|
1327
|
+
},
|
1328
|
+
{
|
1329
|
+
"indexed": false,
|
1330
|
+
"internalType": "Amount",
|
1331
|
+
"name": "amount",
|
1332
|
+
"type": "uint96"
|
1333
|
+
},
|
1334
|
+
{
|
1335
|
+
"indexed": false,
|
1336
|
+
"internalType": "Amount",
|
1337
|
+
"name": "newBalance",
|
1338
|
+
"type": "uint96"
|
1339
|
+
}
|
1340
|
+
],
|
1341
|
+
"name": "LogStakingTotalValueLockedDecreased",
|
1342
|
+
"type": "event"
|
1343
|
+
},
|
1344
|
+
{
|
1345
|
+
"anonymous": false,
|
1346
|
+
"inputs": [
|
1347
|
+
{
|
1348
|
+
"indexed": false,
|
1349
|
+
"internalType": "NftId",
|
1350
|
+
"name": "targetNftId",
|
1351
|
+
"type": "uint96"
|
1352
|
+
},
|
1353
|
+
{
|
1354
|
+
"indexed": false,
|
1355
|
+
"internalType": "address",
|
1356
|
+
"name": "token",
|
1357
|
+
"type": "address"
|
1358
|
+
},
|
1359
|
+
{
|
1360
|
+
"indexed": false,
|
1361
|
+
"internalType": "Amount",
|
1362
|
+
"name": "amount",
|
1363
|
+
"type": "uint96"
|
1364
|
+
},
|
1365
|
+
{
|
1366
|
+
"indexed": false,
|
1367
|
+
"internalType": "Amount",
|
1368
|
+
"name": "newBalance",
|
1369
|
+
"type": "uint96"
|
1370
|
+
}
|
1371
|
+
],
|
1372
|
+
"name": "LogStakingTotalValueLockedIncreased",
|
1373
|
+
"type": "event"
|
1374
|
+
},
|
1375
|
+
{
|
1376
|
+
"anonymous": false,
|
1377
|
+
"inputs": [
|
1378
|
+
{
|
1379
|
+
"indexed": false,
|
1380
|
+
"internalType": "NftId",
|
1381
|
+
"name": "stakeNftId",
|
1382
|
+
"type": "uint96"
|
1383
|
+
},
|
1384
|
+
{
|
1385
|
+
"indexed": false,
|
1386
|
+
"internalType": "Amount",
|
1387
|
+
"name": "unstakedAmount",
|
1388
|
+
"type": "uint96"
|
1389
|
+
},
|
1390
|
+
{
|
1391
|
+
"indexed": false,
|
1392
|
+
"internalType": "Amount",
|
1393
|
+
"name": "stakeBalance",
|
1394
|
+
"type": "uint96"
|
1395
|
+
},
|
1396
|
+
{
|
1397
|
+
"indexed": false,
|
1398
|
+
"internalType": "Amount",
|
1399
|
+
"name": "rewardBalance",
|
1400
|
+
"type": "uint96"
|
1401
|
+
},
|
1402
|
+
{
|
1403
|
+
"indexed": false,
|
1404
|
+
"internalType": "Timestamp",
|
1405
|
+
"name": "lockedUntil",
|
1406
|
+
"type": "uint40"
|
1407
|
+
}
|
1408
|
+
],
|
1409
|
+
"name": "LogStakingUnstaked",
|
1410
|
+
"type": "event"
|
1411
|
+
},
|
1412
|
+
{
|
1413
|
+
"inputs": [],
|
1414
|
+
"name": "COMPONENT_LOCATION_V1",
|
1415
|
+
"outputs": [
|
1416
|
+
{
|
1417
|
+
"internalType": "bytes32",
|
1418
|
+
"name": "",
|
1419
|
+
"type": "bytes32"
|
1420
|
+
}
|
1421
|
+
],
|
1422
|
+
"stateMutability": "view",
|
1423
|
+
"type": "function"
|
1424
|
+
},
|
1425
|
+
{
|
1426
|
+
"inputs": [],
|
1427
|
+
"name": "CONTRACT_NAME",
|
1428
|
+
"outputs": [
|
1429
|
+
{
|
625
1430
|
"internalType": "string",
|
626
1431
|
"name": "",
|
627
1432
|
"type": "string"
|
@@ -671,27 +1476,50 @@
|
|
671
1476
|
},
|
672
1477
|
{
|
673
1478
|
"inputs": [
|
1479
|
+
{
|
1480
|
+
"internalType": "NftId",
|
1481
|
+
"name": "targetNftId",
|
1482
|
+
"type": "uint96"
|
1483
|
+
},
|
674
1484
|
{
|
675
1485
|
"internalType": "address",
|
676
1486
|
"name": "token",
|
677
1487
|
"type": "address"
|
678
|
-
}
|
1488
|
+
}
|
1489
|
+
],
|
1490
|
+
"name": "addTargetToken",
|
1491
|
+
"outputs": [],
|
1492
|
+
"stateMutability": "nonpayable",
|
1493
|
+
"type": "function"
|
1494
|
+
},
|
1495
|
+
{
|
1496
|
+
"inputs": [
|
679
1497
|
{
|
680
|
-
"internalType": "
|
681
|
-
"name": "
|
1498
|
+
"internalType": "ChainId",
|
1499
|
+
"name": "chainId",
|
682
1500
|
"type": "uint96"
|
1501
|
+
},
|
1502
|
+
{
|
1503
|
+
"internalType": "address",
|
1504
|
+
"name": "token",
|
1505
|
+
"type": "address"
|
683
1506
|
}
|
684
1507
|
],
|
685
|
-
"name": "
|
1508
|
+
"name": "addToken",
|
686
1509
|
"outputs": [],
|
687
1510
|
"stateMutability": "nonpayable",
|
688
1511
|
"type": "function"
|
689
1512
|
},
|
690
1513
|
{
|
691
1514
|
"inputs": [
|
1515
|
+
{
|
1516
|
+
"internalType": "contract IERC20Metadata",
|
1517
|
+
"name": "token",
|
1518
|
+
"type": "address"
|
1519
|
+
},
|
692
1520
|
{
|
693
1521
|
"internalType": "Amount",
|
694
|
-
"name": "
|
1522
|
+
"name": "amount",
|
695
1523
|
"type": "uint96"
|
696
1524
|
}
|
697
1525
|
],
|
@@ -735,41 +1563,29 @@
|
|
735
1563
|
{
|
736
1564
|
"inputs": [
|
737
1565
|
{
|
738
|
-
"internalType": "
|
739
|
-
"name": "
|
740
|
-
"type": "
|
1566
|
+
"internalType": "NftId",
|
1567
|
+
"name": "targetNftId",
|
1568
|
+
"type": "uint96"
|
741
1569
|
},
|
742
1570
|
{
|
743
1571
|
"internalType": "Amount",
|
744
|
-
"name": "
|
1572
|
+
"name": "stakeAmount",
|
745
1573
|
"type": "uint96"
|
1574
|
+
},
|
1575
|
+
{
|
1576
|
+
"internalType": "address",
|
1577
|
+
"name": "stakeOwner",
|
1578
|
+
"type": "address"
|
746
1579
|
}
|
747
1580
|
],
|
748
|
-
"name": "
|
749
|
-
"outputs": [
|
750
|
-
"stateMutability": "nonpayable",
|
751
|
-
"type": "function"
|
752
|
-
},
|
753
|
-
{
|
754
|
-
"inputs": [
|
1581
|
+
"name": "createStake",
|
1582
|
+
"outputs": [
|
755
1583
|
{
|
756
1584
|
"internalType": "NftId",
|
757
1585
|
"name": "stakeNftId",
|
758
1586
|
"type": "uint96"
|
759
|
-
},
|
760
|
-
{
|
761
|
-
"internalType": "NftId",
|
762
|
-
"name": "targetNftId",
|
763
|
-
"type": "uint96"
|
764
|
-
},
|
765
|
-
{
|
766
|
-
"internalType": "Amount",
|
767
|
-
"name": "stakeAmount",
|
768
|
-
"type": "uint96"
|
769
1587
|
}
|
770
1588
|
],
|
771
|
-
"name": "createStake",
|
772
|
-
"outputs": [],
|
773
1589
|
"stateMutability": "nonpayable",
|
774
1590
|
"type": "function"
|
775
1591
|
},
|
@@ -813,26 +1629,11 @@
|
|
813
1629
|
"name": "name",
|
814
1630
|
"type": "string"
|
815
1631
|
},
|
816
|
-
{
|
817
|
-
"internalType": "NftId",
|
818
|
-
"name": "productNftId",
|
819
|
-
"type": "uint96"
|
820
|
-
},
|
821
|
-
{
|
822
|
-
"internalType": "contract IERC20Metadata",
|
823
|
-
"name": "token",
|
824
|
-
"type": "address"
|
825
|
-
},
|
826
1632
|
{
|
827
1633
|
"internalType": "contract TokenHandler",
|
828
1634
|
"name": "tokenHandler",
|
829
1635
|
"type": "address"
|
830
1636
|
},
|
831
|
-
{
|
832
|
-
"internalType": "address",
|
833
|
-
"name": "wallet",
|
834
|
-
"type": "address"
|
835
|
-
},
|
836
1637
|
{
|
837
1638
|
"internalType": "bytes",
|
838
1639
|
"name": "data",
|
@@ -858,26 +1659,11 @@
|
|
858
1659
|
"name": "name",
|
859
1660
|
"type": "string"
|
860
1661
|
},
|
861
|
-
{
|
862
|
-
"internalType": "NftId",
|
863
|
-
"name": "productNftId",
|
864
|
-
"type": "uint96"
|
865
|
-
},
|
866
|
-
{
|
867
|
-
"internalType": "contract IERC20Metadata",
|
868
|
-
"name": "token",
|
869
|
-
"type": "address"
|
870
|
-
},
|
871
1662
|
{
|
872
1663
|
"internalType": "contract TokenHandler",
|
873
1664
|
"name": "tokenHandler",
|
874
1665
|
"type": "address"
|
875
1666
|
},
|
876
|
-
{
|
877
|
-
"internalType": "address",
|
878
|
-
"name": "wallet",
|
879
|
-
"type": "address"
|
880
|
-
},
|
881
1667
|
{
|
882
1668
|
"internalType": "bytes",
|
883
1669
|
"name": "data",
|
@@ -994,6 +1780,19 @@
|
|
994
1780
|
"stateMutability": "view",
|
995
1781
|
"type": "function"
|
996
1782
|
},
|
1783
|
+
{
|
1784
|
+
"inputs": [],
|
1785
|
+
"name": "getRelease",
|
1786
|
+
"outputs": [
|
1787
|
+
{
|
1788
|
+
"internalType": "VersionPart",
|
1789
|
+
"name": "",
|
1790
|
+
"type": "uint8"
|
1791
|
+
}
|
1792
|
+
],
|
1793
|
+
"stateMutability": "pure",
|
1794
|
+
"type": "function"
|
1795
|
+
},
|
997
1796
|
{
|
998
1797
|
"inputs": [],
|
999
1798
|
"name": "getStakingReader",
|
@@ -1114,85 +1913,9 @@
|
|
1114
1913
|
"stateMutability": "nonpayable",
|
1115
1914
|
"type": "function"
|
1116
1915
|
},
|
1117
|
-
{
|
1118
|
-
"inputs": [
|
1119
|
-
{
|
1120
|
-
"internalType": "address",
|
1121
|
-
"name": "authority",
|
1122
|
-
"type": "address"
|
1123
|
-
},
|
1124
|
-
{
|
1125
|
-
"internalType": "address",
|
1126
|
-
"name": "registry",
|
1127
|
-
"type": "address"
|
1128
|
-
},
|
1129
|
-
{
|
1130
|
-
"internalType": "NftId",
|
1131
|
-
"name": "parentNftId",
|
1132
|
-
"type": "uint96"
|
1133
|
-
},
|
1134
|
-
{
|
1135
|
-
"internalType": "string",
|
1136
|
-
"name": "name",
|
1137
|
-
"type": "string"
|
1138
|
-
},
|
1139
|
-
{
|
1140
|
-
"internalType": "address",
|
1141
|
-
"name": "token",
|
1142
|
-
"type": "address"
|
1143
|
-
},
|
1144
|
-
{
|
1145
|
-
"internalType": "ObjectType",
|
1146
|
-
"name": "componentType",
|
1147
|
-
"type": "uint8"
|
1148
|
-
},
|
1149
|
-
{
|
1150
|
-
"internalType": "bool",
|
1151
|
-
"name": "isInterceptor",
|
1152
|
-
"type": "bool"
|
1153
|
-
},
|
1154
|
-
{
|
1155
|
-
"internalType": "address",
|
1156
|
-
"name": "initialOwner",
|
1157
|
-
"type": "address"
|
1158
|
-
},
|
1159
|
-
{
|
1160
|
-
"internalType": "bytes",
|
1161
|
-
"name": "registryData",
|
1162
|
-
"type": "bytes"
|
1163
|
-
},
|
1164
|
-
{
|
1165
|
-
"internalType": "bytes",
|
1166
|
-
"name": "componentData",
|
1167
|
-
"type": "bytes"
|
1168
|
-
}
|
1169
|
-
],
|
1170
|
-
"name": "initializeComponent",
|
1171
|
-
"outputs": [],
|
1172
|
-
"stateMutability": "nonpayable",
|
1173
|
-
"type": "function"
|
1174
|
-
},
|
1175
1916
|
{
|
1176
1917
|
"inputs": [],
|
1177
|
-
"name": "
|
1178
|
-
"outputs": [],
|
1179
|
-
"stateMutability": "nonpayable",
|
1180
|
-
"type": "function"
|
1181
|
-
},
|
1182
|
-
{
|
1183
|
-
"inputs": [
|
1184
|
-
{
|
1185
|
-
"internalType": "address",
|
1186
|
-
"name": "initialOwner",
|
1187
|
-
"type": "address"
|
1188
|
-
},
|
1189
|
-
{
|
1190
|
-
"internalType": "address",
|
1191
|
-
"name": "registryAddress",
|
1192
|
-
"type": "address"
|
1193
|
-
}
|
1194
|
-
],
|
1195
|
-
"name": "initializeNftOwnable",
|
1918
|
+
"name": "initializeTokenHandler",
|
1196
1919
|
"outputs": [],
|
1197
1920
|
"stateMutability": "nonpayable",
|
1198
1921
|
"type": "function"
|
@@ -1201,69 +1924,31 @@
|
|
1201
1924
|
"inputs": [
|
1202
1925
|
{
|
1203
1926
|
"internalType": "address",
|
1204
|
-
"name": "
|
1205
|
-
"type": "address"
|
1206
|
-
},
|
1207
|
-
{
|
1208
|
-
"internalType": "NftId",
|
1209
|
-
"name": "parentNftId",
|
1210
|
-
"type": "uint96"
|
1211
|
-
},
|
1212
|
-
{
|
1213
|
-
"internalType": "ObjectType",
|
1214
|
-
"name": "objectType",
|
1215
|
-
"type": "uint8"
|
1216
|
-
},
|
1217
|
-
{
|
1218
|
-
"internalType": "bool",
|
1219
|
-
"name": "isInterceptor",
|
1220
|
-
"type": "bool"
|
1221
|
-
},
|
1222
|
-
{
|
1223
|
-
"internalType": "address",
|
1224
|
-
"name": "initialOwner",
|
1927
|
+
"name": "activatedBy",
|
1225
1928
|
"type": "address"
|
1226
1929
|
},
|
1227
1930
|
{
|
1228
1931
|
"internalType": "bytes",
|
1229
|
-
"name": "
|
1932
|
+
"name": "data",
|
1230
1933
|
"type": "bytes"
|
1231
1934
|
}
|
1232
1935
|
],
|
1233
|
-
"name": "
|
1234
|
-
"outputs": [],
|
1235
|
-
"stateMutability": "nonpayable",
|
1236
|
-
"type": "function"
|
1237
|
-
},
|
1238
|
-
{
|
1239
|
-
"inputs": [
|
1240
|
-
{
|
1241
|
-
"internalType": "address",
|
1242
|
-
"name": "registryAddress",
|
1243
|
-
"type": "address"
|
1244
|
-
}
|
1245
|
-
],
|
1246
|
-
"name": "initializeRegistryLinked",
|
1936
|
+
"name": "initializeVersionable",
|
1247
1937
|
"outputs": [],
|
1248
1938
|
"stateMutability": "nonpayable",
|
1249
1939
|
"type": "function"
|
1250
1940
|
},
|
1251
1941
|
{
|
1252
|
-
"inputs": [
|
1253
|
-
|
1254
|
-
|
1255
|
-
"name": "activatedBy",
|
1256
|
-
"type": "address"
|
1257
|
-
},
|
1942
|
+
"inputs": [],
|
1943
|
+
"name": "isActive",
|
1944
|
+
"outputs": [
|
1258
1945
|
{
|
1259
|
-
"internalType": "
|
1260
|
-
"name": "
|
1261
|
-
"type": "
|
1946
|
+
"internalType": "bool",
|
1947
|
+
"name": "active",
|
1948
|
+
"type": "bool"
|
1262
1949
|
}
|
1263
1950
|
],
|
1264
|
-
"
|
1265
|
-
"outputs": [],
|
1266
|
-
"stateMutability": "nonpayable",
|
1951
|
+
"stateMutability": "view",
|
1267
1952
|
"type": "function"
|
1268
1953
|
},
|
1269
1954
|
{
|
@@ -1318,24 +2003,6 @@
|
|
1318
2003
|
"stateMutability": "nonpayable",
|
1319
2004
|
"type": "function"
|
1320
2005
|
},
|
1321
|
-
{
|
1322
|
-
"inputs": [
|
1323
|
-
{
|
1324
|
-
"internalType": "address",
|
1325
|
-
"name": "to",
|
1326
|
-
"type": "address"
|
1327
|
-
},
|
1328
|
-
{
|
1329
|
-
"internalType": "uint256",
|
1330
|
-
"name": "tokenId",
|
1331
|
-
"type": "uint256"
|
1332
|
-
}
|
1333
|
-
],
|
1334
|
-
"name": "nftMint",
|
1335
|
-
"outputs": [],
|
1336
|
-
"stateMutability": "nonpayable",
|
1337
|
-
"type": "function"
|
1338
|
-
},
|
1339
2006
|
{
|
1340
2007
|
"inputs": [
|
1341
2008
|
{
|
@@ -1352,6 +2019,11 @@
|
|
1352
2019
|
"internalType": "uint256",
|
1353
2020
|
"name": "tokenId",
|
1354
2021
|
"type": "uint256"
|
2022
|
+
},
|
2023
|
+
{
|
2024
|
+
"internalType": "address",
|
2025
|
+
"name": "operator",
|
2026
|
+
"type": "address"
|
1355
2027
|
}
|
1356
2028
|
],
|
1357
2029
|
"name": "nftTransferFrom",
|
@@ -1386,13 +2058,29 @@
|
|
1386
2058
|
{
|
1387
2059
|
"inputs": [
|
1388
2060
|
{
|
1389
|
-
"internalType": "
|
1390
|
-
"name": "
|
1391
|
-
"type": "
|
2061
|
+
"internalType": "NftId",
|
2062
|
+
"name": "targetNftId",
|
2063
|
+
"type": "uint96"
|
2064
|
+
},
|
2065
|
+
{
|
2066
|
+
"internalType": "Amount",
|
2067
|
+
"name": "dipAmount",
|
2068
|
+
"type": "uint96"
|
2069
|
+
},
|
2070
|
+
{
|
2071
|
+
"internalType": "address",
|
2072
|
+
"name": "transferFrom",
|
2073
|
+
"type": "address"
|
2074
|
+
}
|
2075
|
+
],
|
2076
|
+
"name": "refillRewardReservesByService",
|
2077
|
+
"outputs": [
|
2078
|
+
{
|
2079
|
+
"internalType": "Amount",
|
2080
|
+
"name": "newBalance",
|
2081
|
+
"type": "uint96"
|
1392
2082
|
}
|
1393
2083
|
],
|
1394
|
-
"name": "registerInterface",
|
1395
|
-
"outputs": [],
|
1396
2084
|
"stateMutability": "nonpayable",
|
1397
2085
|
"type": "function"
|
1398
2086
|
},
|
@@ -1406,24 +2094,49 @@
|
|
1406
2094
|
{
|
1407
2095
|
"components": [
|
1408
2096
|
{
|
1409
|
-
"internalType": "
|
1410
|
-
"name": "
|
1411
|
-
"type": "
|
2097
|
+
"internalType": "Amount",
|
2098
|
+
"name": "stakedAmount",
|
2099
|
+
"type": "uint96"
|
1412
2100
|
},
|
1413
2101
|
{
|
1414
|
-
"internalType": "
|
1415
|
-
"name": "
|
1416
|
-
"type": "
|
2102
|
+
"internalType": "Amount",
|
2103
|
+
"name": "rewardAmount",
|
2104
|
+
"type": "uint96"
|
2105
|
+
},
|
2106
|
+
{
|
2107
|
+
"internalType": "Blocknumber",
|
2108
|
+
"name": "lastUpdateIn",
|
2109
|
+
"type": "uint40"
|
2110
|
+
},
|
2111
|
+
{
|
2112
|
+
"internalType": "Amount",
|
2113
|
+
"name": "reserveAmount",
|
2114
|
+
"type": "uint96"
|
2115
|
+
},
|
2116
|
+
{
|
2117
|
+
"internalType": "Amount",
|
2118
|
+
"name": "maxStakedAmount",
|
2119
|
+
"type": "uint96"
|
1417
2120
|
},
|
1418
2121
|
{
|
1419
2122
|
"internalType": "Seconds",
|
1420
2123
|
"name": "lockingPeriod",
|
1421
2124
|
"type": "uint40"
|
1422
2125
|
},
|
2126
|
+
{
|
2127
|
+
"internalType": "ObjectType",
|
2128
|
+
"name": "objectType",
|
2129
|
+
"type": "uint8"
|
2130
|
+
},
|
1423
2131
|
{
|
1424
2132
|
"internalType": "UFixed",
|
1425
2133
|
"name": "rewardRate",
|
1426
|
-
"type": "
|
2134
|
+
"type": "uint160"
|
2135
|
+
},
|
2136
|
+
{
|
2137
|
+
"internalType": "ChainId",
|
2138
|
+
"name": "chainId",
|
2139
|
+
"type": "uint96"
|
1427
2140
|
}
|
1428
2141
|
],
|
1429
2142
|
"internalType": "struct IStaking.TargetInfo",
|
@@ -1448,11 +2161,6 @@
|
|
1448
2161
|
"name": "expectedObjectType",
|
1449
2162
|
"type": "uint8"
|
1450
2163
|
},
|
1451
|
-
{
|
1452
|
-
"internalType": "uint256",
|
1453
|
-
"name": "chainId",
|
1454
|
-
"type": "uint256"
|
1455
|
-
},
|
1456
2164
|
{
|
1457
2165
|
"internalType": "Seconds",
|
1458
2166
|
"name": "initialLockingPeriod",
|
@@ -1461,7 +2169,7 @@
|
|
1461
2169
|
{
|
1462
2170
|
"internalType": "UFixed",
|
1463
2171
|
"name": "initialRewardRate",
|
1464
|
-
"type": "
|
2172
|
+
"type": "uint160"
|
1465
2173
|
}
|
1466
2174
|
],
|
1467
2175
|
"name": "registerTarget",
|
@@ -1488,6 +2196,11 @@
|
|
1488
2196
|
"internalType": "NftId",
|
1489
2197
|
"name": "newStakeNftId",
|
1490
2198
|
"type": "uint96"
|
2199
|
+
},
|
2200
|
+
{
|
2201
|
+
"internalType": "Amount",
|
2202
|
+
"name": "newStakedAmount",
|
2203
|
+
"type": "uint96"
|
1491
2204
|
}
|
1492
2205
|
],
|
1493
2206
|
"stateMutability": "nonpayable",
|
@@ -1524,6 +2237,50 @@
|
|
1524
2237
|
"stateMutability": "nonpayable",
|
1525
2238
|
"type": "function"
|
1526
2239
|
},
|
2240
|
+
{
|
2241
|
+
"inputs": [
|
2242
|
+
{
|
2243
|
+
"internalType": "NftId",
|
2244
|
+
"name": "targetNftId",
|
2245
|
+
"type": "uint96"
|
2246
|
+
},
|
2247
|
+
{
|
2248
|
+
"internalType": "Amount",
|
2249
|
+
"name": "maxStakedAmount",
|
2250
|
+
"type": "uint96"
|
2251
|
+
}
|
2252
|
+
],
|
2253
|
+
"name": "setMaxStakedAmount",
|
2254
|
+
"outputs": [],
|
2255
|
+
"stateMutability": "nonpayable",
|
2256
|
+
"type": "function"
|
2257
|
+
},
|
2258
|
+
{
|
2259
|
+
"inputs": [
|
2260
|
+
{
|
2261
|
+
"internalType": "Seconds",
|
2262
|
+
"name": "newLockingPeriod",
|
2263
|
+
"type": "uint40"
|
2264
|
+
}
|
2265
|
+
],
|
2266
|
+
"name": "setProtocolLockingPeriod",
|
2267
|
+
"outputs": [],
|
2268
|
+
"stateMutability": "nonpayable",
|
2269
|
+
"type": "function"
|
2270
|
+
},
|
2271
|
+
{
|
2272
|
+
"inputs": [
|
2273
|
+
{
|
2274
|
+
"internalType": "UFixed",
|
2275
|
+
"name": "newRewardRate",
|
2276
|
+
"type": "uint160"
|
2277
|
+
}
|
2278
|
+
],
|
2279
|
+
"name": "setProtocolRewardRate",
|
2280
|
+
"outputs": [],
|
2281
|
+
"stateMutability": "nonpayable",
|
2282
|
+
"type": "function"
|
2283
|
+
},
|
1527
2284
|
{
|
1528
2285
|
"inputs": [
|
1529
2286
|
{
|
@@ -1534,7 +2291,7 @@
|
|
1534
2291
|
{
|
1535
2292
|
"internalType": "UFixed",
|
1536
2293
|
"name": "rewardRate",
|
1537
|
-
"type": "
|
2294
|
+
"type": "uint160"
|
1538
2295
|
}
|
1539
2296
|
],
|
1540
2297
|
"name": "setRewardRate",
|
@@ -1545,9 +2302,9 @@
|
|
1545
2302
|
{
|
1546
2303
|
"inputs": [
|
1547
2304
|
{
|
1548
|
-
"internalType": "
|
2305
|
+
"internalType": "ChainId",
|
1549
2306
|
"name": "chainId",
|
1550
|
-
"type": "
|
2307
|
+
"type": "uint96"
|
1551
2308
|
},
|
1552
2309
|
{
|
1553
2310
|
"internalType": "address",
|
@@ -1557,7 +2314,7 @@
|
|
1557
2314
|
{
|
1558
2315
|
"internalType": "UFixed",
|
1559
2316
|
"name": "stakingRate",
|
1560
|
-
"type": "
|
2317
|
+
"type": "uint160"
|
1561
2318
|
}
|
1562
2319
|
],
|
1563
2320
|
"name": "setStakingRate",
|
@@ -1581,12 +2338,12 @@
|
|
1581
2338
|
{
|
1582
2339
|
"inputs": [
|
1583
2340
|
{
|
1584
|
-
"internalType": "
|
1585
|
-
"name": "
|
1586
|
-
"type": "
|
2341
|
+
"internalType": "VersionPart",
|
2342
|
+
"name": "release",
|
2343
|
+
"type": "uint8"
|
1587
2344
|
}
|
1588
2345
|
],
|
1589
|
-
"name": "
|
2346
|
+
"name": "setStakingService",
|
1590
2347
|
"outputs": [],
|
1591
2348
|
"stateMutability": "nonpayable",
|
1592
2349
|
"type": "function"
|
@@ -1608,7 +2365,7 @@
|
|
1608
2365
|
"outputs": [
|
1609
2366
|
{
|
1610
2367
|
"internalType": "Amount",
|
1611
|
-
"name": "
|
2368
|
+
"name": "newStakeBalance",
|
1612
2369
|
"type": "uint96"
|
1613
2370
|
}
|
1614
2371
|
],
|
@@ -1634,24 +2391,6 @@
|
|
1634
2391
|
"stateMutability": "view",
|
1635
2392
|
"type": "function"
|
1636
2393
|
},
|
1637
|
-
{
|
1638
|
-
"inputs": [
|
1639
|
-
{
|
1640
|
-
"internalType": "address",
|
1641
|
-
"name": "to",
|
1642
|
-
"type": "address"
|
1643
|
-
},
|
1644
|
-
{
|
1645
|
-
"internalType": "Amount",
|
1646
|
-
"name": "dipAmount",
|
1647
|
-
"type": "uint96"
|
1648
|
-
}
|
1649
|
-
],
|
1650
|
-
"name": "transferDipAmount",
|
1651
|
-
"outputs": [],
|
1652
|
-
"stateMutability": "nonpayable",
|
1653
|
-
"type": "function"
|
1654
|
-
},
|
1655
2394
|
{
|
1656
2395
|
"inputs": [
|
1657
2396
|
{
|
@@ -1708,7 +2447,13 @@
|
|
1708
2447
|
}
|
1709
2448
|
],
|
1710
2449
|
"name": "updateRewards",
|
1711
|
-
"outputs": [
|
2450
|
+
"outputs": [
|
2451
|
+
{
|
2452
|
+
"internalType": "Amount",
|
2453
|
+
"name": "newRewardAmount",
|
2454
|
+
"type": "uint96"
|
2455
|
+
}
|
2456
|
+
],
|
1712
2457
|
"stateMutability": "nonpayable",
|
1713
2458
|
"type": "function"
|
1714
2459
|
},
|
@@ -1748,80 +2493,157 @@
|
|
1748
2493
|
],
|
1749
2494
|
"stateMutability": "nonpayable",
|
1750
2495
|
"type": "function"
|
2496
|
+
},
|
2497
|
+
{
|
2498
|
+
"inputs": [
|
2499
|
+
{
|
2500
|
+
"internalType": "NftId",
|
2501
|
+
"name": "targetNftId",
|
2502
|
+
"type": "uint96"
|
2503
|
+
},
|
2504
|
+
{
|
2505
|
+
"internalType": "Amount",
|
2506
|
+
"name": "dipAmount",
|
2507
|
+
"type": "uint96"
|
2508
|
+
},
|
2509
|
+
{
|
2510
|
+
"internalType": "address",
|
2511
|
+
"name": "transferTo",
|
2512
|
+
"type": "address"
|
2513
|
+
}
|
2514
|
+
],
|
2515
|
+
"name": "withdrawRewardReservesByService",
|
2516
|
+
"outputs": [
|
2517
|
+
{
|
2518
|
+
"internalType": "Amount",
|
2519
|
+
"name": "newBalance",
|
2520
|
+
"type": "uint96"
|
2521
|
+
}
|
2522
|
+
],
|
2523
|
+
"stateMutability": "nonpayable",
|
2524
|
+
"type": "function"
|
1751
2525
|
}
|
1752
2526
|
],
|
1753
|
-
"bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6156d2806100d65f395ff3fe608060405234801561000f575f80fd5b506004361061037d575f3560e01c80636291423a116101d4578063bae99c9911610109578063deaa59df116100a9578063ea15869f11610079578063ea15869f146107e3578063ea48ce9b146107f7578063f7c34ee01461080a578063f8bf0d9f1461081d575f80fd5b8063deaa59df14610797578063e3a817cd146107aa578063e7f7fb86146107bd578063e8ce883d146107d0575f80fd5b8063caed9897116100e4578063caed989714610736578063d44f8a4b1461073e578063de0eb85f14610751578063dea4ccf214610764575f80fd5b8063bae99c9914610708578063bb1e0e591461071b578063bf7e214f1461072e575f80fd5b8063893d20e811610174578063958697a01161014f578063958697a0146106c65780639a726364146106d9578063ada9652e146106ec578063b423086c14610700575f80fd5b8063893d20e8146106885780638fb360371461069057806390edbd35146106b1575f80fd5b80636c1e9dff116101af5780636c1e9dff14610647578063719f761a1461065a5780637a9e5e4b1461066d57806386c7575414610680575f80fd5b80636291423a1461060f578063644c45e014610617578063675393bf14610634575f80fd5b806331ecc5cc116102b5578063562119ee116102555780635ecf260f116102255780635ecf260f146105b05780635fd1efec146105c3578063614d08f8146105d6578063628937d2146105fc575f80fd5b8063562119ee146105715780635741e5e9146105845780635ab1bd531461058c5780635cbb7d851461059d575f80fd5b806336fc697e1161029057806336fc697e1461053b578063419197fe1461054357806343d752d31461055657806349bb9e4b1461055e575f80fd5b806331ecc5cc14610502578063329d6e741461051557806336644da614610528575f80fd5b806317d7de7c1161032057806321df0da7116102fb57806321df0da7146104cc57806322366844146104d457806327bb7a33146104dc5780632a80f673146104ef575f80fd5b806317d7de7c1461047d5780631eff4b2214610492578063214cdb80146104b9575f80fd5b80630fec111c1161035b5780630fec111c1461041357806310a0638a14610428578063132996041461043d578063138461e01461045d575f80fd5b806301ffc9a714610381578063062c9cdf146103c25780630d8e6e2c146103f7575b5f80fd5b6103ad61038f366004614278565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6103e97fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0081565b6040519081526020016103b9565b6103ff610830565b60405162ffffff90911681526020016103b9565b61041b6108b7565b6040516103b991906142d4565b61043b610436366004614384565b610a75565b005b610445610b5e565b6040516001600160a01b0390911681526020016103b9565b610465610b70565b6040516001600160601b0390911681526020016103b9565b610485610b7a565b6040516103b9919061439f565b6103e97f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61043b6104c7366004614278565b610b8a565b610445610bb6565b6103ad610bc8565b61043b6104ea366004614509565b610cbe565b61043b6104fd36600461459c565b610d63565b61043b6105103660046145c6565b610fcd565b61043b61052336600461460e565b61117b565b61043b610536366004614651565b6112c6565b61043b61130e565b61043b6105513660046146ca565b611353565b610445611513565b61043b61056c366004614701565b61152e565b61043b61057f36600461474d565b61162a565b6103ad61175a565b6001546001600160a01b0316610445565b6104656105ab3660046147a4565b611817565b61043b6105be3660046147c0565b6118d9565b61043b6105d13660046147ec565b611b48565b610485604051806040016040528060078152602001665374616b696e6760c81b81525081565b61043b61060a3660046146ca565b611cad565b610445611d95565b5f8051602061561d833981519152546001600160601b0316610465565b61043b6106423660046147ec565b611db0565b6104656106553660046147a4565b611ebb565b610465610668366004614384565b612045565b61043b61067b3660046147ec565b6122b6565b610445612338565b610445612353565b610698612484565b6040516001600160e01b031990911681526020016103b9565b6106b96124b9565b6040516103b99190614807565b61043b6106d4366004614891565b6124de565b61043b6106e73660046148be565b612527565b6103e95f8051602061561d83398151915281565b6106b9612740565b61043b610716366004614384565b612750565b61043b6107293660046148f3565b61279c565b610445612839565b610445612854565b61046561074c366004614891565b61286f565b61046561075f3660046147a4565b6129fd565b610777610772366004614384565b612a98565b604080516001600160601b039384168152929091166020830152016103b9565b61043b6107a53660046147ec565b612d7f565b61043b6107b83660046146ca565b6130be565b61043b6107cb36600461490f565b61317d565b6104656107de3660046147a4565b61321a565b6103e95f8051602061563d83398151915281565b610465610805366004614891565b613271565b61043b61081836600461493c565b6133b4565b61043b61082b366004614968565b61342a565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190614a67565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610967573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098b9190614a94565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016109d3612353565b6001600160a01b031681526020018260010180546109f090614aaf565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90614aaf565b8015610a675780601f10610a3e57610100808354040283529160200191610a67565b820191905f5260205f20905b815481529060010190602001808311610a4a57829003601f168201915b505050505081525091505090565b610a81335b5f36613529565b80610a8a613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015610ada573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afe9190614af2565b610b2b57604051632ab4595b60e11b81526001600160601b03821660048201526024015b60405180910390fd5b5f610b34613627565b60048101546003820154919250610b58916001600160a01b0391821691168561364b565b50505050565b5f610b676124b9565b60800151905090565b5f6108b2306137cd565b6060610b846124b9565b51919050565b610b926139c6565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b5f610bbf6124b9565b60400151905090565b5f610bdb6001546001600160a01b031690565b604051636939560f60e11b81523060048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c439190614a94565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c9a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190614af2565b610cc66139c6565b610cd082876133b4565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa301610d598382614b58565b5050505050505050565b610d6c33610a7a565b81610d75613627565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316635cce3fa16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dea9190614c12565b604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa158015610e37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5b9190614af2565b610e83576040516396cff01560e01b81526001600160601b0382166004820152602401610b22565b604051633a39e8ad60e21b81523060048201526001600160601b0384166024820152604481018390525f90819073__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__9063e8e7a2b49060640160a060405180830381865af4158015610eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0e9190614c8e565b91509150610f1a613627565b60030154604051630300f49160e31b81526001600160a01b0390911690631807a48890610f4d9088908590600401614cb9565b5f604051808303815f87803b158015610f64575f80fd5b505af1158015610f76573d5f803e3d5ffd5b5050604080516001600160601b0389168152602081018690529081018790527f3e76c26439d1ec3386e26dfeebf955ea11f5f5f30459052b70e061ade8c9554f925060600190505b60405180910390a15050505050565b610fd633610a7a565b5f610fdf613627565b600481810154604051630e8d845760e31b81526001600160a01b03909116918101919091526001600160601b038086166024830152841660448201529091505f9073__$dbe4bf03c942dc0574f54ee579c90d56ef$__9063746c22b890606401602060405180830381865af415801561105a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107e9190614d02565b60038301546040805160208101825264ffffffffff848116825291516331420df160e11b81526001600160601b038a166004820152905190911660248201529192506001600160a01b0316906362841be2906044015f604051808303815f87803b1580156110ea575f80fd5b505af11580156110fc573d5f803e3d5ffd5b505050506003820154604051633861317f60e01b81526001600160601b0380881660048301528087166024830152851660448201526001600160a01b0390911690633861317f906064015b5f604051808303815f87803b15801561115e575f80fd5b505af1158015611170573d5f803e3d5ffd5b505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c61119d610830565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156111db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ff9190614d1d565b5f8051602061567d8339815191528054600160401b900460ff1680611231575080546001600160401b03808416911610155b1561124f5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155611279836139fe565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b6112cf33610a7a565b6112d7612353565b6001600160a01b0316336001600160a01b03161461130a5760405163086391f760e31b8152336004820152602401610b22565b5050565b6113166139c6565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61135b612353565b6001600160a01b0316336001600160a01b03161461138e5760405163086391f760e31b8152336004820152602401610b22565b30611397610b5e565b6001600160a01b0316146113be5760405163b6d7537f60e01b815260040160405180910390fd5b816001600160a01b031663095ea7b36113d5611513565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af415801561142b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144f9190614d43565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015611497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bb9190614af2565b507ff1220014fdb8b69aee438722b1fe13ee4a807811a472467cee162f7b866e704e6114e5611513565b604080516001600160a01b0390921682526001600160601b0384166020830152015b60405180910390a15050565b5f61151c613627565b600201546001600160a01b0316919050565b5f8051602061567d8339815191528054600160401b810460ff1615906001600160401b03165f8115801561155f5750825b90505f826001600160401b0316600114801561157a5750303b155b905081158015611588575080155b156115a65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156115d057845460ff60401b1916600160401b1785555b6115da8787613a06565b831561162157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61163333610a7a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__639ed616cd61165f6001546001600160a01b031690565b611667613627565b60049081015460405160e085901b6001600160e01b03191681526001600160a01b03938416928101929092529190911660248201526001600160601b038816604482015260ff8716606482015264ffffffffff8516608482015260a4810184905260c4015f6040518083038186803b1580156116e1575f80fd5b505af41580156116f3573d5f803e3d5ffd5b505050506116ff613627565b600301546040805160808101825260ff871681526020810186905264ffffffffff851681830152606081018490529051632df8be9b60e01b81526001600160a01b0390921691632df8be9b9161114791899190600401614cb9565b5f611763610bc8565b156117e7576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa1580156117b7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117de9190810190614db2565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0254600160a01b900460ff1690565b5f61182133610a7a565b8261182a613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa15801561187a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189e9190614af2565b6118c657604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f6118cf613627565b9050505092915050565b6118e233610a7a565b816118eb613627565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316635cce3fa16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119609190614c12565b604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa1580156119ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d19190614af2565b6119f9576040516396cff01560e01b81526001600160601b0382166004820152602401610b22565b604051635f9c0df360e11b81523060048201526001600160601b038416602482015264ffffffffff831660448201525f90819073__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__9063bf381be69060640160a060405180830381865af4158015611a66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614e82565b91509150611a96613627565b60030154604051630300f49160e31b81526001600160a01b0390911690631807a48890611ac99088908590600401614cb9565b5f604051808303815f87803b158015611ae0575f80fd5b505af1158015611af2573d5f803e3d5ffd5b5050604080516001600160601b038916815264ffffffffff80871660208301528816918101919091527fb847665302c1d8b6f507e07b17145514cea04af84e1665d629d82246992311e792506060019050610fbe565b611b50612353565b6001600160a01b0316336001600160a01b031614611b835760405163086391f760e31b8152336004820152602401610b22565b306001600160a01b0316816001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bed9190614c12565b6001600160a01b031614611c8057806001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b9190614c12565b604051631641c88f60e11b81526001600160a01b039091166004820152602401610b22565b80611c89613627565b60040180546001600160a01b0319166001600160a01b039290921691909117905550565b611cb633610a7a565b5f611cbf611513565b90505f611cca610b5e565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__6382aaf2e7611cee610bb6565b8385876040518563ffffffff1660e01b8152600401611d109493929190614ead565b5f6040518083038186803b158015611d26575f80fd5b505af4158015611d38573d5f803e3d5ffd5b505060405163c661667d60e01b81526001600160a01b038516925063c661667d9150611d6c90849088908890600401614edf565b5f604051808303815f87803b158015611d83575f80fd5b505af1158015610d59573d5f803e3d5ffd5b5f611d9e613627565b600401546001600160a01b0316919050565b611db86139c6565b806001600160a01b03163b5f03611ded5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610b22565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611e67575060408051601f3d908101601f19168201909252611e6491810190614af2565b60015b611e8f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610b22565b8061130a5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610b22565b50565b5f611ec533610a7a565b82611ece613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015611f1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f429190614af2565b611f6a57604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f611f73613627565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__630fcf5d08611fa16001546001600160a01b031690565b600484810154600386015460405160e086901b6001600160e01b03191681526001600160a01b039485169381019390935290831660248301529190911660448201526001600160601b0380891660648301528716608482015260a401602060405180830381865af4158015612018573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203c9190614a94565b95945050505050565b5f61204f33610a7a565b81612058613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120cc9190614af2565b6120f457604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f6120fd613627565b600481015460038201549192505f91612123916001600160a01b0390811691168761364b565b9050816003015f9054906101000a90046001600160a01b03166001600160a01b0316633fbdfe32868373__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612193573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b79190614a94565b60405160e085901b6001600160e01b03191681526001600160601b039384166004820152918316602483015290911660448201526064016020604051808303815f875af115801561220a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061222e9190614a94565b600383015460405163136cfef760e01b81526001600160601b038085166004830152831660248201529195506001600160a01b03169063136cfef7906044016020604051808303815f875af1158015612289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ad9190614a94565b50505050919050565b336122bf612839565b6001600160a01b0316816001600160a01b0316146122fa5760405162d1953b60e31b81526001600160a01b0382166004820152602401610b22565b816001600160a01b03163b5f0361232f576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b22565b61130a82613e46565b5f612341613627565b600301546001600160a01b0316919050565b5f805f8051602061561d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156123bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e39190614af2565b1561246e576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612444573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124689190614c12565b91505090565b54600160601b90046001600160a01b0316919050565b5f8051602061565d83398151915280545f9190600160a01b900460ff166124ab575f612468565b638fb3603760e01b91505090565b6124c1614215565b6124c9610bc8565b156124d6576108b2613e9f565b6108b2612740565b6124e733610a7a565b6124ef612353565b6001600160a01b0316336001600160a01b0316146125225760405163086391f760e31b8152336004820152602401610b22565b505050565b61252f612353565b6001600160a01b0316336001600160a01b0316146125625760405163086391f760e31b8152336004820152602401610b22565b5f61256b613627565b6001810154604051631703edc360e31b8152600481018790526001600160a01b03868116602483015292935091169063b81f6e1890604401602060405180830381865afa1580156125be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e29190614af2565b612611576040516374ddbd6960e01b8152600481018590526001600160a01b0384166024820152604401610b22565b6003810154604051637b21556160e01b8152600481018690526001600160a01b0385811660248301525f921690637b21556190604401602060405180830381865afa158015612662573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126869190614d43565b600383015460405163269c98d960e21b8152600481018890526001600160a01b03878116602483015260448201879052929350911690639a726364906064015f604051808303815f87803b1580156126dc575f80fd5b505af11580156126ee573d5f803e3d5ffd5b5050604080518881526001600160a01b0388166020820152908101849052606081018690527f8075f599388073d04550222731e9c7e00c284a4f858d8a0ffc0657164981c76e92506080019050610fbe565b612748614215565b6108b2613e9f565b612758612353565b6001600160a01b0316336001600160a01b03161461278b5760405163086391f760e31b8152336004820152602401610b22565b611eb8612796610bb6565b82611353565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128079190614c12565b6001600160a01b0316336001600160a01b03161461130a5760405162f0630960e01b8152336004820152602401610b22565b5f8051602061565d833981519152546001600160a01b031690565b5f61285d613627565b600101546001600160a01b0316919050565b5f61287933610a7a565b5f612882613627565b60048181015460405163153d412560e31b81526001600160601b038916928101929092529192505f916001600160a01b03169063a9ea092890602401608060405180830381865afa1580156128d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128fd9190614f0b565b60200151600483810154604051637b21556160e01b81529182018390526001600160a01b0388811660248401529293505f921690637b21556190604401602060405180830381865afa158015612955573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129799190614d43565b6003840154604051633ece552760e21b81529192506001600160a01b03169063fb39549c906129b2908a9085908b908b90600401614f25565b6020604051808303815f875af11580156129ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f29190614a94565b979650505050505050565b5f612a0733610a7a565b5f612a10613627565b600381015460405163d7537c3760e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063d7537c37906044015b6020604051808303815f875af1158015612a6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a909190614a94565b949350505050565b5f80612aa333610a7a565b82612aac613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015612afc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b209190614af2565b612b4857604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f612b51613627565b600481015460038201549192505f91612b77916001600160a01b0390811691168861364b565b9050816003015f9054906101000a90046001600160a01b03166001600160a01b031663eb98e8a0878373__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0b9190614a94565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612c52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c769190614a94565b60405160e086901b6001600160e01b03191681526001600160601b03948516600482015292841660248401529083166044830152909116606482015260840160408051808303815f875af1158015612cd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cf49190614f59565b600384015460405163136cfef760e01b81526001600160601b038086166004830152831660248201529297509095506001600160a01b03169063136cfef7906044016020604051808303815f875af1158015612d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d769190614a94565b50505050915091565b612d87612353565b6001600160a01b0316336001600160a01b031614612dba5760405163086391f760e31b8152336004820152602401610b22565b5f612dc3610b5e565b90505f612dce610bb6565b6040516370a0823160e01b81526001600160a01b0384811660048301529192505f918316906370a0823190602401602060405180830381865afa158015612e17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e3b9190614d43565b90508015612f1f576001600160a01b0383163014612f1f575f826001600160a01b031663dd62ed3e85612e6c611513565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015612eb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ed99190614d43565b905081811015612f1d576040516372c963b360e11b81526001600160a01b038086166004830152861660248201526044810182905260648101839052608401610b22565b505b612f2884614003565b8015610b5857306001600160a01b03841603612fc557816001600160a01b031663095ea7b3612f55611513565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015612f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fc39190614af2565b505b604080516001600160a01b038086168252861660208201529081018290527f8f925ed35e36754081a3353f30c5686c405280f94d1cfe322ee5707833d898679060600160405180910390a1613018611513565b6001600160a01b031663c661667d848673__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96866040518263ffffffff1660e01b815260040161306191815260200190565b602060405180830381865af415801561307c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130a09190614a94565b6040518463ffffffff1660e01b8152600401611d6c93929190614edf565b6130c733610a7a565b5f6130d0611513565b90505f6130db610b5e565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__6382aaf2e76130ff610bb6565b8685876040518563ffffffff1660e01b81526004016131219493929190614ead565b5f6040518083038186803b158015613137575f80fd5b505af4158015613149573d5f803e3d5ffd5b505060405163c661667d60e01b81526001600160a01b038516925063c661667d9150611d6c90879085908890600401614edf565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e89190614c12565b6001600160a01b0316336001600160a01b0316146125225760405162f0630960e01b8152336004820152602401610b22565b5f61322433610a7a565b5f61322d613627565b600381015460405163136cfef760e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063136cfef790604401612a50565b5f61327b33610a7a565b5f613284613627565b60048181015460405163153d412560e31b81526001600160601b038916928101929092529192505f916001600160a01b03169063a9ea092890602401608060405180830381865afa1580156132db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132ff9190614f0b565b60200151600483810154604051637b21556160e01b81529182018390526001600160a01b0388811660248401529293505f921690637b21556190604401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061337b9190614d43565b60038401546040516377f9185160e01b81529192506001600160a01b0316906377f91851906129b2908a9085908b908b90600401614f25565b6133bc6139c6565b6133c581611db0565b6133cd61130e565b6001600160a01b0382166133f45760405163f17ef42d60e01b815260040160405180910390fd5b505f8051602061561d83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6134326139c6565b613440898987878787610cbe565b6134498a6140eb565b6001600160a01b038616613470576040516327eab2e360e11b815260040160405180910390fd5b86515f036134915760405163591eebf360e11b815260040160405180910390fd5b5f8051602061563d833981519152806134aa8982614b58565b506001810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160a81b0319163060ff60a01b191617600160a01b87151502179055600381016134fb8382614b58565b5061350c634a531f3360e01b610b8a565b61351c632986755f60e11b610b8a565b5050505050505050505050565b5f8051602061565d8339815191525f80613561613544612839565b873061355360045f8a8c614f86565b61355c91614fad565b6140fc565b915091508161361f5763ffffffff8116156135fc57825460ff60a01b1916600160a01b17835561358f612839565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135be93929190614fe5565b5f604051808303815f87803b1580156135d5575f80fd5b505af11580156135e7573d5f803e3d5ffd5b5050845460ff60a01b191685555061361f9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610b22565b505050505050565b7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0090565b6040516312b9a5c960e01b81526001600160601b03821660048201525f9081906001600160a01b038616906312b9a5c9906024016040805180830381865afa158015613699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136bd9190615024565b60405163e048754d60e01b81526001600160a01b03881660048201526001600160601b03861660248201526044810182905291935091505f9073__$dbe4bf03c942dc0574f54ee579c90d56ef$__9063e048754d906064016040805180830381865af415801561372f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137539190614f59565b50604051634a2101d160e01b81526001600160601b0380871660048301528086166024830152821660448201529091506001600160a01b03861690634a2101d1906064015f604051808303815f87803b1580156137ae575f80fd5b505af11580156137c0573d5f803e3d5ffd5b5050505050509392505050565b5f805f8051602061561d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613839573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385d9190614af2565b156138895780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610b22565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa1580156138db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138ff9190614af2565b6139275760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610b22565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa158015613979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061399d9190614a94565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f8051602061567d83398151915254600160401b900460ff166139fc57604051631afcd79f60e31b815260040160405180910390fd5b565b61037d6139c6565b5f8051602061567d8339815191528054600160401b810460ff1615906001600160401b03165f81158015613a375750825b90505f826001600160401b03166001148015613a525750303b155b905081158015613a60575080155b15613a7e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315613aa857845460ff60401b1916600160401b1785555b5f805f8089806020019051810190613ac09190615050565b93509350935093505f8490505f816001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b2d9190614c12565b90505f8590505f816001600160a01b031663b201f7096040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b949190614c12565b9050613c418389866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bfb9190614a94565b6040805180820190915260078152665374616b696e6760c81b60208201528560035f8c60405180602001604052805f81525060405180602001604052805f81525061342a565b5f613c4a613627565b9050613c5e6001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cbd9190614a94565b600480830180546001600160601b0393909316600160a01b026001600160a01b03938416179055600383018054928a166001600160a01b0319939093168317905560408051633148a11d60e11b81529051636291423a928281019260209291908290030181865afa158015613d34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d589190614c12565b6004820180546001600160a01b03199081166001600160a01b0393841617909155600183018054909116918a16919091179055613d93610bb6565b604051613d9f9061426b565b6001600160a01b039091168152602001604051809103905ff080158015613dc8573d5f803e3d5ffd5b506002820180546001600160a01b0319166001600160a01b0392909216919091179055613dfb63fef8804160e01b610b8a565b505050505050505050831561162157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611618565b5f8051602061565d83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001611507565b613ea7614215565b5f5f8051602061563d83398151915290506040518060c00160405280825f018054613ed190614aaf565b80601f0160208091040260200160405190810160405280929190818152602001828054613efd90614aaf565b8015613f485780601f10613f1f57610100808354040283529160200191613f48565b820191905f5260205f20905b815481529060010190602001808311613f2b57829003601f168201915b5050505050815260200173__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015613f99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fbd9190614a94565b6001600160601b0316815260018301546001600160a01b0390811660208301525f604083015260028401541660608201526003830180546080909201916109f090614aaf565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f02545f8051602061563d833981519152906001600160a01b0390811690831661405f5760405163185a690f60e11b815260040160405180910390fd5b806001600160a01b0316836001600160a01b0316036140915760405163ade4578160e01b815260040160405180910390fd5b6002820180546001600160a01b0319166001600160a01b0385811691821790925560408051928416835260208301919091527f610ad1290dceadae2c5ce18bae2eb495be595083a257fac7414e50686f7c265091016112b9565b6140f36139c6565b611eb881614204565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161416a91906150ac565b5f60405180830381855afa9150503d805f81146141a2576040519150601f19603f3d011682016040523d82523d5f602084013e6141a7565b606091505b509150915081156141f95760408151106141d957808060200190518101906141cf91906150c2565b90945092506141f9565b60208151106141f957808060200190518101906141f69190614af2565b93505b505094509492505050565b61420c6139c6565b611eb881613e46565b6040518060c00160405280606081526020015f6001600160601b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b610525806150f883390190565b5f60208284031215614288575f80fd5b81356001600160e01b03198116811461429f575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f606083015161431c608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612a906101008401826142a6565b6001600160601b0381168114611eb8575f80fd5b803561437f81614360565b919050565b5f60208284031215614394575f80fd5b813561429f81614360565b602081525f61429f60208301846142a6565b6001600160a01b0381168114611eb8575f80fd5b803561437f816143b1565b60ff81168114611eb8575f80fd5b803561437f816143d0565b8015158114611eb8575f80fd5b803561437f816143e9565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171561443757614437614401565b60405290565b60405160e081016001600160401b038111828210171561443757614437614401565b604051601f8201601f191681016001600160401b038111828210171561448757614487614401565b604052919050565b5f6001600160401b038211156144a7576144a7614401565b50601f01601f191660200190565b5f82601f8301126144c4575f80fd5b8135602083015f6144dc6144d78461448f565b61445f565b90508281528583830111156144ef575f80fd5b828260208301375f92810160200192909252509392505050565b5f805f805f8060c0878903121561451e575f80fd5b8635614529816143b1565b9550602087013561453981614360565b94506040870135614549816143d0565b93506060870135614559816143e9565b92506080870135614569816143b1565b915060a08701356001600160401b03811115614583575f80fd5b61458f89828a016144b5565b9150509295509295509295565b5f80604083850312156145ad575f80fd5b82356145b881614360565b946020939093013593505050565b5f805f606084860312156145d8575f80fd5b83356145e381614360565b925060208401356145f381614360565b9150604084013561460381614360565b809150509250925092565b5f6020828403121561461e575f80fd5b81356001600160401b03811115614633575f80fd5b612a90848285016144b5565b64ffffffffff81168114611eb8575f80fd5b5f8082840360a0811215614663575f80fd5b833561466e81614360565b92506080601f1982011215614681575f80fd5b5061468a614415565b6020840135614698816143d0565b81526040840135602082015260608401356146b28161463f565b60408201526080939093013560608401525092909150565b5f80604083850312156146db575f80fd5b82356146e6816143b1565b915060208301356146f681614360565b809150509250929050565b5f8060408385031215614712575f80fd5b823561471d816143b1565b915060208301356001600160401b03811115614737575f80fd5b614743858286016144b5565b9150509250929050565b5f805f805f60a08688031215614761575f80fd5b853561476c81614360565b9450602086013561477c816143d0565b93506040860135925060608601356147938161463f565b949793965091946080013592915050565b5f80604083850312156147b5575f80fd5b82356146e681614360565b5f80604083850312156147d1575f80fd5b82356147dc81614360565b915060208301356146f68161463f565b5f602082840312156147fc575f80fd5b813561429f816143b1565b602081525f825160c0602084015261482260e08401826142a6565b90506001600160601b03602085015116604084015260018060a01b03604085015116606084015260018060a01b036060850151166080840152608084015161487560a08501826001600160a01b03169052565b5060a0840151838203601f190160c085015261203c82826142a6565b5f805f606084860312156148a3575f80fd5b83356148ae81614360565b925060208401356145f3816143b1565b5f805f606084860312156148d0575f80fd5b8335925060208401356148e2816143b1565b929592945050506040919091013590565b5f8060408385031215614904575f80fd5b82356145b8816143b1565b5f805f60608486031215614921575f80fd5b833561492c816143b1565b925060208401356148e2816143b1565b5f806040838503121561494d575f80fd5b8235614958816143b1565b915060208301356146f6816143b1565b5f805f805f805f805f806101408b8d031215614982575f80fd5b61498b8b6143c5565b995061499960208c016143c5565b98506149a760408c01614374565b975060608b01356001600160401b038111156149c1575f80fd5b6149cd8d828e016144b5565b9750506149dc60808c016143c5565b95506149ea60a08c016143de565b94506149f860c08c016143f6565b9350614a0660e08c016143c5565b92506101008b01356001600160401b03811115614a21575f80fd5b614a2d8d828e016144b5565b9250506101208b01356001600160401b03811115614a49575f80fd5b614a558d828e016144b5565b9150509295989b9194979a5092959850565b5f60208284031215614a77575f80fd5b815162ffffff8116811461429f575f80fd5b805161437f81614360565b5f60208284031215614aa4575f80fd5b815161429f81614360565b600181811c90821680614ac357607f821691505b602082108103614ae157634e487b7160e01b5f52602260045260245ffd5b50919050565b805161437f816143e9565b5f60208284031215614b02575f80fd5b815161429f816143e9565b601f82111561252257805f5260205f20601f840160051c81016020851015614b325750805b601f840160051c820191505b81811015614b51575f8155600101614b3e565b5050505050565b81516001600160401b03811115614b7157614b71614401565b614b8581614b7f8454614aaf565b84614b0d565b6020601f821160018114614bb7575f8315614ba05750848201515b5f19600385901b1c1916600184901b178455614b51565b5f84815260208120601f198516915b82811015614be65787850151825560209485019460019092019101614bc6565b5084821015614c0357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614c22575f80fd5b815161429f816143b1565b805161437f816143d0565b5f60808284031215614c48575f80fd5b614c50614415565b90508151614c5d816143d0565b8152602082810151908201526040820151614c778161463f565b604082015260609182015191810191909152919050565b5f8060a08385031215614c9f575f80fd5b82519150614cb08460208501614c38565b90509250929050565b5f60a0820190506001600160601b038416825260ff83511660208301526020830151604083015264ffffffffff6040840151166060830152606083015160808301529392505050565b5f60208284031215614d12575f80fd5b815161429f8161463f565b5f60208284031215614d2d575f80fd5b81516001600160401b038116811461429f575f80fd5b5f60208284031215614d53575f80fd5b5051919050565b805161437f816143b1565b5f82601f830112614d74575f80fd5b8151614d826144d78261448f565b818152846020838601011115614d96575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614dc2575f80fd5b81516001600160401b03811115614dd7575f80fd5b820160e08185031215614de8575f80fd5b614df061443d565b614df982614a89565b8152614e0760208301614a89565b6020820152614e1860408301614c2d565b6040820152614e2960608301614ae7565b6060820152614e3a60808301614d5a565b6080820152614e4b60a08301614d5a565b60a082015260c08201516001600160401b03811115614e68575f80fd5b614e7486828501614d65565b60c083015250949350505050565b5f8060a08385031215614e93575f80fd5b8251614e9e8161463f565b9150614cb08460208501614c38565b6001600160a01b0394851681529284166020840152921660408201526001600160601b03909116606082015260800190565b6001600160a01b0393841681529190921660208201526001600160601b03909116604082015260600190565b5f60808284031215614f1b575f80fd5b61429f8383614c38565b6001600160601b03948516815260208101939093526001600160a01b03919091166040830152909116606082015260800190565b5f8060408385031215614f6a575f80fd5b8251614f7581614360565b60208401519092506146f681614360565b5f8085851115614f94575f80fd5b83861115614fa0575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015614fde576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f8060408385031215615035575f80fd5b825161504081614360565b6020939093015192949293505050565b5f805f8060808587031215615063575f80fd5b845161506e816143b1565b602086015190945061507f816143b1565b6040860151909350615090816143b1565b60608601519092506150a1816143b1565b939692955090935050565b5f82518060208501845e5f920191825250919050565b5f80604083850312156150d3575f80fd5b82516150de816143e9565b602084015190925063ffffffff811681146146f6575f80fdfe6080604052348015600e575f80fd5b50604051610525380380610525833981016040819052602b91604e565b5f80546001600160a01b0319166001600160a01b03929092169190911790556079565b5f60208284031215605d575f80fd5b81516001600160a01b03811681146072575f80fd5b9392505050565b61049f806100865f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806321df0da7146100435780638d7271c314610061578063c661667d14610076575b5f80fd5b5f54604080516001600160a01b039092168252519081900360200190f35b61007461006f36600461038c565b610089565b005b6100746100843660046103dd565b610119565b60405163046e44af60e11b81526001600160601b03821660048201526101139085908590859073__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e906024015b602060405180830381865af41580156100ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010e919061041d565b610172565b50505050565b5f5460405163046e44af60e11b81526001600160601b038316600482015261016d916001600160a01b0316908590859073__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e906024016100cf565b505050565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092019092526020810180516001600160e01b03166323b872dd60e01b179052610113918691905f906101d790841683610229565b905080515f141580156101fb5750808060200190518101906101f99190610434565b155b1561016d57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061023683835f61023d565b9392505050565b6060814710156102625760405163cd78605960e01b8152306004820152602401610220565b5f80856001600160a01b0316848660405161027d9190610453565b5f6040518083038185875af1925050503d805f81146102b7576040519150601f19603f3d011682016040523d82523d5f602084013e6102bc565b606091505b50915091506102cc8683836102d6565b9695505050505050565b6060826102eb576102e682610332565b610236565b815115801561030257506001600160a01b0384163b155b1561032b57604051639996b31560e01b81526001600160a01b0385166004820152602401610220565b5080610236565b8051156103425780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114610371575f80fd5b919050565b80356001600160601b0381168114610371575f80fd5b5f805f806080858703121561039f575f80fd5b6103a88561035b565b93506103b66020860161035b565b92506103c46040860161035b565b91506103d260608601610376565b905092959194509250565b5f805f606084860312156103ef575f80fd5b6103f88461035b565b92506104066020850161035b565b915061041460408501610376565b90509250925092565b5f6020828403121561042d575f80fd5b5051919050565b5f60208284031215610444575f80fd5b81518015158114610236575f80fd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220539f547adb392249ed7070a99baf9312312fb2b11f1cc725a2c1af466c2626f064736f6c634300081a003307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122021b677e99246f9d8cc209b86f2e856c3871ea958cd76897dd625b6d79607117d64736f6c634300081a0033",
|
1754
|
-
"deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061037d575f3560e01c80636291423a116101d4578063bae99c9911610109578063deaa59df116100a9578063ea15869f11610079578063ea15869f146107e3578063ea48ce9b146107f7578063f7c34ee01461080a578063f8bf0d9f1461081d575f80fd5b8063deaa59df14610797578063e3a817cd146107aa578063e7f7fb86146107bd578063e8ce883d146107d0575f80fd5b8063caed9897116100e4578063caed989714610736578063d44f8a4b1461073e578063de0eb85f14610751578063dea4ccf214610764575f80fd5b8063bae99c9914610708578063bb1e0e591461071b578063bf7e214f1461072e575f80fd5b8063893d20e811610174578063958697a01161014f578063958697a0146106c65780639a726364146106d9578063ada9652e146106ec578063b423086c14610700575f80fd5b8063893d20e8146106885780638fb360371461069057806390edbd35146106b1575f80fd5b80636c1e9dff116101af5780636c1e9dff14610647578063719f761a1461065a5780637a9e5e4b1461066d57806386c7575414610680575f80fd5b80636291423a1461060f578063644c45e014610617578063675393bf14610634575f80fd5b806331ecc5cc116102b5578063562119ee116102555780635ecf260f116102255780635ecf260f146105b05780635fd1efec146105c3578063614d08f8146105d6578063628937d2146105fc575f80fd5b8063562119ee146105715780635741e5e9146105845780635ab1bd531461058c5780635cbb7d851461059d575f80fd5b806336fc697e1161029057806336fc697e1461053b578063419197fe1461054357806343d752d31461055657806349bb9e4b1461055e575f80fd5b806331ecc5cc14610502578063329d6e741461051557806336644da614610528575f80fd5b806317d7de7c1161032057806321df0da7116102fb57806321df0da7146104cc57806322366844146104d457806327bb7a33146104dc5780632a80f673146104ef575f80fd5b806317d7de7c1461047d5780631eff4b2214610492578063214cdb80146104b9575f80fd5b80630fec111c1161035b5780630fec111c1461041357806310a0638a14610428578063132996041461043d578063138461e01461045d575f80fd5b806301ffc9a714610381578063062c9cdf146103c25780630d8e6e2c146103f7575b5f80fd5b6103ad61038f366004614278565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6103e97fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0081565b6040519081526020016103b9565b6103ff610830565b60405162ffffff90911681526020016103b9565b61041b6108b7565b6040516103b991906142d4565b61043b610436366004614384565b610a75565b005b610445610b5e565b6040516001600160a01b0390911681526020016103b9565b610465610b70565b6040516001600160601b0390911681526020016103b9565b610485610b7a565b6040516103b9919061439f565b6103e97f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61043b6104c7366004614278565b610b8a565b610445610bb6565b6103ad610bc8565b61043b6104ea366004614509565b610cbe565b61043b6104fd36600461459c565b610d63565b61043b6105103660046145c6565b610fcd565b61043b61052336600461460e565b61117b565b61043b610536366004614651565b6112c6565b61043b61130e565b61043b6105513660046146ca565b611353565b610445611513565b61043b61056c366004614701565b61152e565b61043b61057f36600461474d565b61162a565b6103ad61175a565b6001546001600160a01b0316610445565b6104656105ab3660046147a4565b611817565b61043b6105be3660046147c0565b6118d9565b61043b6105d13660046147ec565b611b48565b610485604051806040016040528060078152602001665374616b696e6760c81b81525081565b61043b61060a3660046146ca565b611cad565b610445611d95565b5f8051602061561d833981519152546001600160601b0316610465565b61043b6106423660046147ec565b611db0565b6104656106553660046147a4565b611ebb565b610465610668366004614384565b612045565b61043b61067b3660046147ec565b6122b6565b610445612338565b610445612353565b610698612484565b6040516001600160e01b031990911681526020016103b9565b6106b96124b9565b6040516103b99190614807565b61043b6106d4366004614891565b6124de565b61043b6106e73660046148be565b612527565b6103e95f8051602061561d83398151915281565b6106b9612740565b61043b610716366004614384565b612750565b61043b6107293660046148f3565b61279c565b610445612839565b610445612854565b61046561074c366004614891565b61286f565b61046561075f3660046147a4565b6129fd565b610777610772366004614384565b612a98565b604080516001600160601b039384168152929091166020830152016103b9565b61043b6107a53660046147ec565b612d7f565b61043b6107b83660046146ca565b6130be565b61043b6107cb36600461490f565b61317d565b6104656107de3660046147a4565b61321a565b6103e95f8051602061563d83398151915281565b610465610805366004614891565b613271565b61043b61081836600461493c565b6133b4565b61043b61082b366004614968565b61342a565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af415801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190614a67565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c08101919091525f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610967573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098b9190614a94565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016109d3612353565b6001600160a01b031681526020018260010180546109f090614aaf565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c90614aaf565b8015610a675780601f10610a3e57610100808354040283529160200191610a67565b820191905f5260205f20905b815481529060010190602001808311610a4a57829003601f168201915b505050505081525091505090565b610a81335b5f36613529565b80610a8a613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015610ada573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afe9190614af2565b610b2b57604051632ab4595b60e11b81526001600160601b03821660048201526024015b60405180910390fd5b5f610b34613627565b60048101546003820154919250610b58916001600160a01b0391821691168561364b565b50505050565b5f610b676124b9565b60800151905090565b5f6108b2306137cd565b6060610b846124b9565b51919050565b610b926139c6565b6001600160e01b0319165f908152602081905260409020805460ff19166001179055565b5f610bbf6124b9565b60400151905090565b5f610bdb6001546001600160a01b031690565b604051636939560f60e11b81523060048201526001600160a01b03919091169063d272ac1e90602401602060405180830381865afa158015610c1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c439190614a94565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610c9a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190614af2565b610cc66139c6565b610cd082876133b4565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa301610d598382614b58565b5050505050505050565b610d6c33610a7a565b81610d75613627565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316635cce3fa16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dea9190614c12565b604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa158015610e37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5b9190614af2565b610e83576040516396cff01560e01b81526001600160601b0382166004820152602401610b22565b604051633a39e8ad60e21b81523060048201526001600160601b0384166024820152604481018390525f90819073__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__9063e8e7a2b49060640160a060405180830381865af4158015610eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0e9190614c8e565b91509150610f1a613627565b60030154604051630300f49160e31b81526001600160a01b0390911690631807a48890610f4d9088908590600401614cb9565b5f604051808303815f87803b158015610f64575f80fd5b505af1158015610f76573d5f803e3d5ffd5b5050604080516001600160601b0389168152602081018690529081018790527f3e76c26439d1ec3386e26dfeebf955ea11f5f5f30459052b70e061ade8c9554f925060600190505b60405180910390a15050505050565b610fd633610a7a565b5f610fdf613627565b600481810154604051630e8d845760e31b81526001600160a01b03909116918101919091526001600160601b038086166024830152841660448201529091505f9073__$dbe4bf03c942dc0574f54ee579c90d56ef$__9063746c22b890606401602060405180830381865af415801561105a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107e9190614d02565b60038301546040805160208101825264ffffffffff848116825291516331420df160e11b81526001600160601b038a166004820152905190911660248201529192506001600160a01b0316906362841be2906044015f604051808303815f87803b1580156110ea575f80fd5b505af11580156110fc573d5f803e3d5ffd5b505050506003820154604051633861317f60e01b81526001600160601b0380881660048301528087166024830152851660448201526001600160a01b0390911690633861317f906064015b5f604051808303815f87803b15801561115e575f80fd5b505af1158015611170573d5f803e3d5ffd5b505050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c61119d610830565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156111db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ff9190614d1d565b5f8051602061567d8339815191528054600160401b900460ff1680611231575080546001600160401b03808416911610155b1561124f5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155611279836139fe565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b6112cf33610a7a565b6112d7612353565b6001600160a01b0316336001600160a01b03161461130a5760405163086391f760e31b8152336004820152602401610b22565b5050565b6113166139c6565b6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b61135b612353565b6001600160a01b0316336001600160a01b03161461138e5760405163086391f760e31b8152336004820152602401610b22565b30611397610b5e565b6001600160a01b0316146113be5760405163b6d7537f60e01b815260040160405180910390fd5b816001600160a01b031663095ea7b36113d5611513565b60405163046e44af60e11b81526001600160601b038516600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e90602401602060405180830381865af415801561142b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144f9190614d43565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015611497573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114bb9190614af2565b507ff1220014fdb8b69aee438722b1fe13ee4a807811a472467cee162f7b866e704e6114e5611513565b604080516001600160a01b0390921682526001600160601b0384166020830152015b60405180910390a15050565b5f61151c613627565b600201546001600160a01b0316919050565b5f8051602061567d8339815191528054600160401b810460ff1615906001600160401b03165f8115801561155f5750825b90505f826001600160401b0316600114801561157a5750303b155b905081158015611588575080155b156115a65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156115d057845460ff60401b1916600160401b1785555b6115da8787613a06565b831561162157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b61163333610a7a565b73__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__639ed616cd61165f6001546001600160a01b031690565b611667613627565b60049081015460405160e085901b6001600160e01b03191681526001600160a01b03938416928101929092529190911660248201526001600160601b038816604482015260ff8716606482015264ffffffffff8516608482015260a4810184905260c4015f6040518083038186803b1580156116e1575f80fd5b505af41580156116f3573d5f803e3d5ffd5b505050506116ff613627565b600301546040805160808101825260ff871681526020810186905264ffffffffff851681830152606081018490529051632df8be9b60e01b81526001600160a01b0390921691632df8be9b9161114791899190600401614cb9565b5f611763610bc8565b156117e7576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa1580156117b7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117de9190810190614db2565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0254600160a01b900460ff1690565b5f61182133610a7a565b8261182a613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa15801561187a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061189e9190614af2565b6118c657604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f6118cf613627565b9050505092915050565b6118e233610a7a565b816118eb613627565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316635cce3fa16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561193c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119609190614c12565b604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa1580156119ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d19190614af2565b6119f9576040516396cff01560e01b81526001600160601b0382166004820152602401610b22565b604051635f9c0df360e11b81523060048201526001600160601b038416602482015264ffffffffff831660448201525f90819073__$fb6c7635e3c1acf7e7d82c7d43e7a24671$__9063bf381be69060640160a060405180830381865af4158015611a66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614e82565b91509150611a96613627565b60030154604051630300f49160e31b81526001600160a01b0390911690631807a48890611ac99088908590600401614cb9565b5f604051808303815f87803b158015611ae0575f80fd5b505af1158015611af2573d5f803e3d5ffd5b5050604080516001600160601b038916815264ffffffffff80871660208301528816918101919091527fb847665302c1d8b6f507e07b17145514cea04af84e1665d629d82246992311e792506060019050610fbe565b611b50612353565b6001600160a01b0316336001600160a01b031614611b835760405163086391f760e31b8152336004820152602401610b22565b306001600160a01b0316816001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bed9190614c12565b6001600160a01b031614611c8057806001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b9190614c12565b604051631641c88f60e11b81526001600160a01b039091166004820152602401610b22565b80611c89613627565b60040180546001600160a01b0319166001600160a01b039290921691909117905550565b611cb633610a7a565b5f611cbf611513565b90505f611cca610b5e565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__6382aaf2e7611cee610bb6565b8385876040518563ffffffff1660e01b8152600401611d109493929190614ead565b5f6040518083038186803b158015611d26575f80fd5b505af4158015611d38573d5f803e3d5ffd5b505060405163c661667d60e01b81526001600160a01b038516925063c661667d9150611d6c90849088908890600401614edf565b5f604051808303815f87803b158015611d83575f80fd5b505af1158015610d59573d5f803e3d5ffd5b5f611d9e613627565b600401546001600160a01b0316919050565b611db86139c6565b806001600160a01b03163b5f03611ded5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610b22565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526318788cbb60e11b60048201526301ffc9a790602401602060405180830381865afa925050508015611e67575060408051601f3d908101601f19168201909252611e6491810190614af2565b60015b611e8f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610b22565b8061130a5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610b22565b50565b5f611ec533610a7a565b82611ece613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015611f1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f429190614af2565b611f6a57604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f611f73613627565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__630fcf5d08611fa16001546001600160a01b031690565b600484810154600386015460405160e086901b6001600160e01b03191681526001600160a01b039485169381019390935290831660248301529190911660448201526001600160601b0380891660648301528716608482015260a401602060405180830381865af4158015612018573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203c9190614a94565b95945050505050565b5f61204f33610a7a565b81612058613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa1580156120a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120cc9190614af2565b6120f457604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f6120fd613627565b600481015460038201549192505f91612123916001600160a01b0390811691168761364b565b9050816003015f9054906101000a90046001600160a01b03166001600160a01b0316633fbdfe32868373__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612193573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b79190614a94565b60405160e085901b6001600160e01b03191681526001600160601b039384166004820152918316602483015290911660448201526064016020604051808303815f875af115801561220a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061222e9190614a94565b600383015460405163136cfef760e01b81526001600160601b038085166004830152831660248201529195506001600160a01b03169063136cfef7906044016020604051808303815f875af1158015612289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122ad9190614a94565b50505050919050565b336122bf612839565b6001600160a01b0316816001600160a01b0316146122fa5760405162d1953b60e31b81526001600160a01b0382166004820152602401610b22565b816001600160a01b03163b5f0361232f576040516361798f2f60e11b81526001600160a01b0383166004820152602401610b22565b61130a82613e46565b5f612341613627565b600301546001600160a01b0316919050565b5f805f8051602061561d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156123bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e39190614af2565b1561246e576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612444573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124689190614c12565b91505090565b54600160601b90046001600160a01b0316919050565b5f8051602061565d83398151915280545f9190600160a01b900460ff166124ab575f612468565b638fb3603760e01b91505090565b6124c1614215565b6124c9610bc8565b156124d6576108b2613e9f565b6108b2612740565b6124e733610a7a565b6124ef612353565b6001600160a01b0316336001600160a01b0316146125225760405163086391f760e31b8152336004820152602401610b22565b505050565b61252f612353565b6001600160a01b0316336001600160a01b0316146125625760405163086391f760e31b8152336004820152602401610b22565b5f61256b613627565b6001810154604051631703edc360e31b8152600481018790526001600160a01b03868116602483015292935091169063b81f6e1890604401602060405180830381865afa1580156125be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125e29190614af2565b612611576040516374ddbd6960e01b8152600481018590526001600160a01b0384166024820152604401610b22565b6003810154604051637b21556160e01b8152600481018690526001600160a01b0385811660248301525f921690637b21556190604401602060405180830381865afa158015612662573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126869190614d43565b600383015460405163269c98d960e21b8152600481018890526001600160a01b03878116602483015260448201879052929350911690639a726364906064015f604051808303815f87803b1580156126dc575f80fd5b505af11580156126ee573d5f803e3d5ffd5b5050604080518881526001600160a01b0388166020820152908101849052606081018690527f8075f599388073d04550222731e9c7e00c284a4f858d8a0ffc0657164981c76e92506080019050610fbe565b612748614215565b6108b2613e9f565b612758612353565b6001600160a01b0316336001600160a01b03161461278b5760405163086391f760e31b8152336004820152602401610b22565b611eb8612796610bb6565b82611353565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128079190614c12565b6001600160a01b0316336001600160a01b03161461130a5760405162f0630960e01b8152336004820152602401610b22565b5f8051602061565d833981519152546001600160a01b031690565b5f61285d613627565b600101546001600160a01b0316919050565b5f61287933610a7a565b5f612882613627565b60048181015460405163153d412560e31b81526001600160601b038916928101929092529192505f916001600160a01b03169063a9ea092890602401608060405180830381865afa1580156128d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128fd9190614f0b565b60200151600483810154604051637b21556160e01b81529182018390526001600160a01b0388811660248401529293505f921690637b21556190604401602060405180830381865afa158015612955573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129799190614d43565b6003840154604051633ece552760e21b81529192506001600160a01b03169063fb39549c906129b2908a9085908b908b90600401614f25565b6020604051808303815f875af11580156129ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f29190614a94565b979650505050505050565b5f612a0733610a7a565b5f612a10613627565b600381015460405163d7537c3760e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063d7537c37906044015b6020604051808303815f875af1158015612a6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a909190614a94565b949350505050565b5f80612aa333610a7a565b82612aac613627565b60030154604051634f9c1c0960e01b81526001600160601b03831660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015612afc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b209190614af2565b612b4857604051632ab4595b60e11b81526001600160601b0382166004820152602401610b22565b5f612b51613627565b600481015460038201549192505f91612b77916001600160a01b0390811691168861364b565b9050816003015f9054906101000a90046001600160a01b03166001600160a01b031663eb98e8a0878373__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0b9190614a94565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015612c52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c769190614a94565b60405160e086901b6001600160e01b03191681526001600160601b03948516600482015292841660248401529083166044830152909116606482015260840160408051808303815f875af1158015612cd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cf49190614f59565b600384015460405163136cfef760e01b81526001600160601b038086166004830152831660248201529297509095506001600160a01b03169063136cfef7906044016020604051808303815f875af1158015612d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d769190614a94565b50505050915091565b612d87612353565b6001600160a01b0316336001600160a01b031614612dba5760405163086391f760e31b8152336004820152602401610b22565b5f612dc3610b5e565b90505f612dce610bb6565b6040516370a0823160e01b81526001600160a01b0384811660048301529192505f918316906370a0823190602401602060405180830381865afa158015612e17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e3b9190614d43565b90508015612f1f576001600160a01b0383163014612f1f575f826001600160a01b031663dd62ed3e85612e6c611513565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015612eb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ed99190614d43565b905081811015612f1d576040516372c963b360e11b81526001600160a01b038086166004830152861660248201526044810182905260648101839052608401610b22565b505b612f2884614003565b8015610b5857306001600160a01b03841603612fc557816001600160a01b031663095ea7b3612f55611513565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015612f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fc39190614af2565b505b604080516001600160a01b038086168252861660208201529081018290527f8f925ed35e36754081a3353f30c5686c405280f94d1cfe322ee5707833d898679060600160405180910390a1613018611513565b6001600160a01b031663c661667d848673__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96866040518263ffffffff1660e01b815260040161306191815260200190565b602060405180830381865af415801561307c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130a09190614a94565b6040518463ffffffff1660e01b8152600401611d6c93929190614edf565b6130c733610a7a565b5f6130d0611513565b90505f6130db610b5e565b905073__$dbe4bf03c942dc0574f54ee579c90d56ef$__6382aaf2e76130ff610bb6565b8685876040518563ffffffff1660e01b81526004016131219493929190614ead565b5f6040518083038186803b158015613137575f80fd5b505af4158015613149573d5f803e3d5ffd5b505060405163c661667d60e01b81526001600160a01b038516925063c661667d9150611d6c90879085908890600401614edf565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131e89190614c12565b6001600160a01b0316336001600160a01b0316146125225760405162f0630960e01b8152336004820152602401610b22565b5f61322433610a7a565b5f61322d613627565b600381015460405163136cfef760e01b81526001600160601b038088166004830152861660248201529192506001600160a01b03169063136cfef790604401612a50565b5f61327b33610a7a565b5f613284613627565b60048181015460405163153d412560e31b81526001600160601b038916928101929092529192505f916001600160a01b03169063a9ea092890602401608060405180830381865afa1580156132db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132ff9190614f0b565b60200151600483810154604051637b21556160e01b81529182018390526001600160a01b0388811660248401529293505f921690637b21556190604401602060405180830381865afa158015613357573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061337b9190614d43565b60038401546040516377f9185160e01b81529192506001600160a01b0316906377f91851906129b2908a9085908b908b90600401614f25565b6133bc6139c6565b6133c581611db0565b6133cd61130e565b6001600160a01b0382166133f45760405163f17ef42d60e01b815260040160405180910390fd5b505f8051602061561d83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6134326139c6565b613440898987878787610cbe565b6134498a6140eb565b6001600160a01b038616613470576040516327eab2e360e11b815260040160405180910390fd5b86515f036134915760405163591eebf360e11b815260040160405180910390fd5b5f8051602061563d833981519152806134aa8982614b58565b506001810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160a81b0319163060ff60a01b191617600160a01b87151502179055600381016134fb8382614b58565b5061350c634a531f3360e01b610b8a565b61351c632986755f60e11b610b8a565b5050505050505050505050565b5f8051602061565d8339815191525f80613561613544612839565b873061355360045f8a8c614f86565b61355c91614fad565b6140fc565b915091508161361f5763ffffffff8116156135fc57825460ff60a01b1916600160a01b17835561358f612839565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016135be93929190614fe5565b5f604051808303815f87803b1580156135d5575f80fd5b505af11580156135e7573d5f803e3d5ffd5b5050845460ff60a01b191685555061361f9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610b22565b505050505050565b7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0090565b6040516312b9a5c960e01b81526001600160601b03821660048201525f9081906001600160a01b038616906312b9a5c9906024016040805180830381865afa158015613699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136bd9190615024565b60405163e048754d60e01b81526001600160a01b03881660048201526001600160601b03861660248201526044810182905291935091505f9073__$dbe4bf03c942dc0574f54ee579c90d56ef$__9063e048754d906064016040805180830381865af415801561372f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137539190614f59565b50604051634a2101d160e01b81526001600160601b0380871660048301528086166024830152821660448201529091506001600160a01b03861690634a2101d1906064015f604051808303815f87803b1580156137ae575f80fd5b505af11580156137c0573d5f803e3d5ffd5b5050505050509392505050565b5f805f8051602061561d83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613839573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385d9190614af2565b156138895780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610b22565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa1580156138db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138ff9190614af2565b6139275760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610b22565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa158015613979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061399d9190614a94565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b5f8051602061567d83398151915254600160401b900460ff166139fc57604051631afcd79f60e31b815260040160405180910390fd5b565b61037d6139c6565b5f8051602061567d8339815191528054600160401b810460ff1615906001600160401b03165f81158015613a375750825b90505f826001600160401b03166001148015613a525750303b155b905081158015613a60575080155b15613a7e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315613aa857845460ff60401b1916600160401b1785555b5f805f8089806020019051810190613ac09190615050565b93509350935093505f8490505f816001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b2d9190614c12565b90505f8590505f816001600160a01b031663b201f7096040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b949190614c12565b9050613c418389866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bfb9190614a94565b6040805180820190915260078152665374616b696e6760c81b60208201528560035f8c60405180602001604052805f81525060405180602001604052805f81525061342a565b5f613c4a613627565b9050613c5e6001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cbd9190614a94565b600480830180546001600160601b0393909316600160a01b026001600160a01b03938416179055600383018054928a166001600160a01b0319939093168317905560408051633148a11d60e11b81529051636291423a928281019260209291908290030181865afa158015613d34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d589190614c12565b6004820180546001600160a01b03199081166001600160a01b0393841617909155600183018054909116918a16919091179055613d93610bb6565b604051613d9f9061426b565b6001600160a01b039091168152602001604051809103905ff080158015613dc8573d5f803e3d5ffd5b506002820180546001600160a01b0319166001600160a01b0392909216919091179055613dfb63fef8804160e01b610b8a565b505050505050505050831561162157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001611618565b5f8051602061565d83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001611507565b613ea7614215565b5f5f8051602061563d83398151915290506040518060c00160405280825f018054613ed190614aaf565b80601f0160208091040260200160405190810160405280929190818152602001828054613efd90614aaf565b8015613f485780601f10613f1f57610100808354040283529160200191613f48565b820191905f5260205f20905b815481529060010190602001808311613f2b57829003601f168201915b5050505050815260200173__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015613f99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fbd9190614a94565b6001600160601b0316815260018301546001600160a01b0390811660208301525f604083015260028401541660608201526003830180546080909201916109f090614aaf565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f02545f8051602061563d833981519152906001600160a01b0390811690831661405f5760405163185a690f60e11b815260040160405180910390fd5b806001600160a01b0316836001600160a01b0316036140915760405163ade4578160e01b815260040160405180910390fd5b6002820180546001600160a01b0319166001600160a01b0385811691821790925560408051928416835260208301919091527f610ad1290dceadae2c5ce18bae2eb495be595083a257fac7414e50686f7c265091016112b9565b6140f36139c6565b611eb881614204565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161416a91906150ac565b5f60405180830381855afa9150503d805f81146141a2576040519150601f19603f3d011682016040523d82523d5f602084013e6141a7565b606091505b509150915081156141f95760408151106141d957808060200190518101906141cf91906150c2565b90945092506141f9565b60208151106141f957808060200190518101906141f69190614af2565b93505b505094509492505050565b61420c6139c6565b611eb881613e46565b6040518060c00160405280606081526020015f6001600160601b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b03168152602001606081525090565b610525806150f883390190565b5f60208284031215614288575f80fd5b81356001600160e01b03198116811461429f575f80fd5b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f606083015161431c608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e080840152612a906101008401826142a6565b6001600160601b0381168114611eb8575f80fd5b803561437f81614360565b919050565b5f60208284031215614394575f80fd5b813561429f81614360565b602081525f61429f60208301846142a6565b6001600160a01b0381168114611eb8575f80fd5b803561437f816143b1565b60ff81168114611eb8575f80fd5b803561437f816143d0565b8015158114611eb8575f80fd5b803561437f816143e9565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171561443757614437614401565b60405290565b60405160e081016001600160401b038111828210171561443757614437614401565b604051601f8201601f191681016001600160401b038111828210171561448757614487614401565b604052919050565b5f6001600160401b038211156144a7576144a7614401565b50601f01601f191660200190565b5f82601f8301126144c4575f80fd5b8135602083015f6144dc6144d78461448f565b61445f565b90508281528583830111156144ef575f80fd5b828260208301375f92810160200192909252509392505050565b5f805f805f8060c0878903121561451e575f80fd5b8635614529816143b1565b9550602087013561453981614360565b94506040870135614549816143d0565b93506060870135614559816143e9565b92506080870135614569816143b1565b915060a08701356001600160401b03811115614583575f80fd5b61458f89828a016144b5565b9150509295509295509295565b5f80604083850312156145ad575f80fd5b82356145b881614360565b946020939093013593505050565b5f805f606084860312156145d8575f80fd5b83356145e381614360565b925060208401356145f381614360565b9150604084013561460381614360565b809150509250925092565b5f6020828403121561461e575f80fd5b81356001600160401b03811115614633575f80fd5b612a90848285016144b5565b64ffffffffff81168114611eb8575f80fd5b5f8082840360a0811215614663575f80fd5b833561466e81614360565b92506080601f1982011215614681575f80fd5b5061468a614415565b6020840135614698816143d0565b81526040840135602082015260608401356146b28161463f565b60408201526080939093013560608401525092909150565b5f80604083850312156146db575f80fd5b82356146e6816143b1565b915060208301356146f681614360565b809150509250929050565b5f8060408385031215614712575f80fd5b823561471d816143b1565b915060208301356001600160401b03811115614737575f80fd5b614743858286016144b5565b9150509250929050565b5f805f805f60a08688031215614761575f80fd5b853561476c81614360565b9450602086013561477c816143d0565b93506040860135925060608601356147938161463f565b949793965091946080013592915050565b5f80604083850312156147b5575f80fd5b82356146e681614360565b5f80604083850312156147d1575f80fd5b82356147dc81614360565b915060208301356146f68161463f565b5f602082840312156147fc575f80fd5b813561429f816143b1565b602081525f825160c0602084015261482260e08401826142a6565b90506001600160601b03602085015116604084015260018060a01b03604085015116606084015260018060a01b036060850151166080840152608084015161487560a08501826001600160a01b03169052565b5060a0840151838203601f190160c085015261203c82826142a6565b5f805f606084860312156148a3575f80fd5b83356148ae81614360565b925060208401356145f3816143b1565b5f805f606084860312156148d0575f80fd5b8335925060208401356148e2816143b1565b929592945050506040919091013590565b5f8060408385031215614904575f80fd5b82356145b8816143b1565b5f805f60608486031215614921575f80fd5b833561492c816143b1565b925060208401356148e2816143b1565b5f806040838503121561494d575f80fd5b8235614958816143b1565b915060208301356146f6816143b1565b5f805f805f805f805f806101408b8d031215614982575f80fd5b61498b8b6143c5565b995061499960208c016143c5565b98506149a760408c01614374565b975060608b01356001600160401b038111156149c1575f80fd5b6149cd8d828e016144b5565b9750506149dc60808c016143c5565b95506149ea60a08c016143de565b94506149f860c08c016143f6565b9350614a0660e08c016143c5565b92506101008b01356001600160401b03811115614a21575f80fd5b614a2d8d828e016144b5565b9250506101208b01356001600160401b03811115614a49575f80fd5b614a558d828e016144b5565b9150509295989b9194979a5092959850565b5f60208284031215614a77575f80fd5b815162ffffff8116811461429f575f80fd5b805161437f81614360565b5f60208284031215614aa4575f80fd5b815161429f81614360565b600181811c90821680614ac357607f821691505b602082108103614ae157634e487b7160e01b5f52602260045260245ffd5b50919050565b805161437f816143e9565b5f60208284031215614b02575f80fd5b815161429f816143e9565b601f82111561252257805f5260205f20601f840160051c81016020851015614b325750805b601f840160051c820191505b81811015614b51575f8155600101614b3e565b5050505050565b81516001600160401b03811115614b7157614b71614401565b614b8581614b7f8454614aaf565b84614b0d565b6020601f821160018114614bb7575f8315614ba05750848201515b5f19600385901b1c1916600184901b178455614b51565b5f84815260208120601f198516915b82811015614be65787850151825560209485019460019092019101614bc6565b5084821015614c0357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614c22575f80fd5b815161429f816143b1565b805161437f816143d0565b5f60808284031215614c48575f80fd5b614c50614415565b90508151614c5d816143d0565b8152602082810151908201526040820151614c778161463f565b604082015260609182015191810191909152919050565b5f8060a08385031215614c9f575f80fd5b82519150614cb08460208501614c38565b90509250929050565b5f60a0820190506001600160601b038416825260ff83511660208301526020830151604083015264ffffffffff6040840151166060830152606083015160808301529392505050565b5f60208284031215614d12575f80fd5b815161429f8161463f565b5f60208284031215614d2d575f80fd5b81516001600160401b038116811461429f575f80fd5b5f60208284031215614d53575f80fd5b5051919050565b805161437f816143b1565b5f82601f830112614d74575f80fd5b8151614d826144d78261448f565b818152846020838601011115614d96575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614dc2575f80fd5b81516001600160401b03811115614dd7575f80fd5b820160e08185031215614de8575f80fd5b614df061443d565b614df982614a89565b8152614e0760208301614a89565b6020820152614e1860408301614c2d565b6040820152614e2960608301614ae7565b6060820152614e3a60808301614d5a565b6080820152614e4b60a08301614d5a565b60a082015260c08201516001600160401b03811115614e68575f80fd5b614e7486828501614d65565b60c083015250949350505050565b5f8060a08385031215614e93575f80fd5b8251614e9e8161463f565b9150614cb08460208501614c38565b6001600160a01b0394851681529284166020840152921660408201526001600160601b03909116606082015260800190565b6001600160a01b0393841681529190921660208201526001600160601b03909116604082015260600190565b5f60808284031215614f1b575f80fd5b61429f8383614c38565b6001600160601b03948516815260208101939093526001600160a01b03919091166040830152909116606082015260800190565b5f8060408385031215614f6a575f80fd5b8251614f7581614360565b60208401519092506146f681614360565b5f8085851115614f94575f80fd5b83861115614fa0575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015614fde576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f8060408385031215615035575f80fd5b825161504081614360565b6020939093015192949293505050565b5f805f8060808587031215615063575f80fd5b845161506e816143b1565b602086015190945061507f816143b1565b6040860151909350615090816143b1565b60608601519092506150a1816143b1565b939692955090935050565b5f82518060208501845e5f920191825250919050565b5f80604083850312156150d3575f80fd5b82516150de816143e9565b602084015190925063ffffffff811681146146f6575f80fdfe6080604052348015600e575f80fd5b50604051610525380380610525833981016040819052602b91604e565b5f80546001600160a01b0319166001600160a01b03929092169190911790556079565b5f60208284031215605d575f80fd5b81516001600160a01b03811681146072575f80fd5b9392505050565b61049f806100865f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806321df0da7146100435780638d7271c314610061578063c661667d14610076575b5f80fd5b5f54604080516001600160a01b039092168252519081900360200190f35b61007461006f36600461038c565b610089565b005b6100746100843660046103dd565b610119565b60405163046e44af60e11b81526001600160601b03821660048201526101139085908590859073__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e906024015b602060405180830381865af41580156100ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010e919061041d565b610172565b50505050565b5f5460405163046e44af60e11b81526001600160601b038316600482015261016d916001600160a01b0316908590859073__$3bac17678db7ae928afa209f2f44deec9c$__906308dc895e906024016100cf565b505050565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092019092526020810180516001600160e01b03166323b872dd60e01b179052610113918691905f906101d790841683610229565b905080515f141580156101fb5750808060200190518101906101f99190610434565b155b1561016d57604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b606061023683835f61023d565b9392505050565b6060814710156102625760405163cd78605960e01b8152306004820152602401610220565b5f80856001600160a01b0316848660405161027d9190610453565b5f6040518083038185875af1925050503d805f81146102b7576040519150601f19603f3d011682016040523d82523d5f602084013e6102bc565b606091505b50915091506102cc8683836102d6565b9695505050505050565b6060826102eb576102e682610332565b610236565b815115801561030257506001600160a01b0384163b155b1561032b57604051639996b31560e01b81526001600160a01b0385166004820152602401610220565b5080610236565b8051156103425780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114610371575f80fd5b919050565b80356001600160601b0381168114610371575f80fd5b5f805f806080858703121561039f575f80fd5b6103a88561035b565b93506103b66020860161035b565b92506103c46040860161035b565b91506103d260608601610376565b905092959194509250565b5f805f606084860312156103ef575f80fd5b6103f88461035b565b92506104066020850161035b565b915061041460408501610376565b90509250925092565b5f6020828403121561042d575f80fd5b5051919050565b5f60208284031215610444575f80fd5b81518015158114610236575f80fd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220539f547adb392249ed7070a99baf9312312fb2b11f1cc725a2c1af466c2626f064736f6c634300081a003307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00ffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122021b677e99246f9d8cc209b86f2e856c3871ea958cd76897dd625b6d79607117d64736f6c634300081a0033",
|
2527
|
+
"bytecode": "0x6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6165b3806100d65f395ff3fe608060405234801561000f575f80fd5b506004361061037d575f3560e01c80636c1e9dff116101d4578063b283765d11610109578063d43a2623116100a9578063e8ce883d11610079578063e8ce883d146107df578063ea15869f146107f2578063ea48ce9b14610819578063ec0407d91461082c575f80fd5b8063d43a262314610793578063d44f8a4b146107a6578063de0eb85f146107b9578063dea4ccf2146107cc575f80fd5b8063bf7e214f116100e4578063bf7e214f1461075d578063c813d79114610765578063caed989714610778578063cdf73d5014610780575f80fd5b8063b283765d1461072f578063b423086c14610742578063b47f48881461074a575f80fd5b80638fb3603711610174578063a6bc7cb81161014f578063a6bc7cb8146106e2578063a71bfbb7146106f5578063ad12ad6014610708578063ada9652e1461071b575f80fd5b80638fb360371461069957806390edbd35146106ba578063958697a0146106cf575f80fd5b806376b707b7116101af57806376b707b71461065c5780637a9e5e4b1461067657806386c7575414610689578063893d20e814610691575f80fd5b80636c1e9dff146106235780636d387fe414610636578063719f761a14610649575f80fd5b806322f3e2d4116102b55780635741e5e9116102555780635fd1efec116102255780635fd1efec146105c5578063614d08f8146105d85780636291423a146105fe578063644c45e014610606575f80fd5b80635741e5e9146105665780635ab1bd531461056e5780635cbb7d851461057f5780635ecf260f146105b2575f80fd5b8063419197fe11610290578063419197fe1461052557806343d752d31461053857806344dcf7301461054057806349bb9e4b14610553575f80fd5b806322f3e2d4146104f75780632391b052146104ff578063329d6e7414610512575f80fd5b806313299604116103205780631eff4b22116102fb5780631eff4b22146104ad57806321df0da7146104d457806322366844146104dc57806322e16406146104e4575f80fd5b80631329960414610470578063138461e01461049057806317d7de7c14610498575f80fd5b806309980bfd1161035b57806309980bfd1461040c5780630d8e6e2c146104145780630fec111c1461043057806310a0638a14610445575f80fd5b806301ffc9a7146103815780630345861d146103c2578063062c9cdf146103d7575b5f80fd5b6103ad61038f3660046155c2565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6103d56103d036600461562c565b61083f565b005b6103fe7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0081565b6040519081526020016103b9565b6103d5610917565b61041c610b0d565b60405162ffffff90911681526020016103b9565b610438610b94565b6040516103b99190615691565b610458610453366004615725565b610d4e565b6040516001600160601b0390911681526020016103b9565b610478610d80565b6040516001600160a01b0390911681526020016103b9565b610458610de8565b6104a0610df2565b6040516103b99190615740565b6103fe7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b610478610e02565b6103ad610e46565b6103d56104f236600461562c565b610f3c565b6103ad610f96565b61045861050d366004615752565b61100d565b6103d56105203660046158a1565b611201565b6103d56105333660046158d2565b61135f565b61047861156b565b6103d561054e366004615934565b611586565b6103d561056136600461598d565b6116b8565b6103ad6117c6565b6001546001600160a01b0316610478565b61059261058d3660046159d9565b61187c565b604080516001600160601b039384168152929091166020830152016103b9565b6103d56105c03660046159f5565b611a37565b6103d56105d3366004615a21565b611b2b565b6104a0604051806040016040528060078152602001665374616b696e6760c81b81525081565b610478611ceb565b5f8051602061653e833981519152546001600160601b0316610458565b6104586106313660046159d9565b611d06565b6103d56106443660046159d9565b6121b4565b610458610657366004615725565b61228f565b610664612600565b60405160ff90911681526020016103b9565b6103d5610684366004615a21565b612674565b6104786126f6565b610478612711565b6106a1612842565b6040516001600160e01b031990911681526020016103b9565b6106c2612877565b6040516103b99190615a3c565b6103d56106dd366004615a8a565b61289c565b6103d56106f0366004615ac7565b6128e5565b6103d561070336600461562c565b612a20565b6103d5610716366004615af4565b612b7f565b6103fe5f8051602061653e83398151915281565b6103d561073d366004615a21565b612c22565b6106c2612dbb565b6103d5610758366004615b39565b612dcb565b610478612f6d565b6103d5610773366004615b54565b612f88565b610478612fcc565b6103d561078e366004615c33565b612fe4565b6104586107a1366004615752565b61325a565b6104586107b4366004615a8a565b613286565b6104586107c73660046159d9565b613369565b6105926107da366004615725565b613394565b6104586107ed3660046159d9565b61354a565b6103fe7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0081565b610458610827366004615a8a565b613701565b61045861083a366004615752565b6137d4565b61084b335b5f366138b4565b8161085981601f5b5f6139b2565b5f610862613c42565b60030154604051630345861d60e01b81526001600160a01b0390911690630345861d906108959087908790600401615c4e565b60408051808303815f875af11580156108b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d49190615c86565b5090507ec60e9fa0b11ba4353f1efa957e6380e75820bcf5afd13713f0c7c268b18a5b84848360405161090993929190615cb3565b60405180910390a150505050565b6001546001600160a01b0316331461094957604051632a6e1a8960e01b81523360048201526024015b60405180910390fd5b5f610952613c42565b90505f61095d613c42565b546040805163b201f70960e01b815290516001600160a01b039092169163b201f709916004808201926020929091908290030181865afa1580156109a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c79190615cdd565b905073__$51089c37ca0df1177a910c640c8c5f8165$__6350c6470d6109f56001546001600160a01b031690565b3084610a096001546001600160a01b031690565b6001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190615cdd565b60405160e086901b6001600160e01b03191681526001600160a01b039485166004820152928416602484015290831660448301529091166064820152608401602060405180830381865af4158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190615cdd565b60019290920180546001600160a01b0319166001600160a01b039093169290921790915550565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610b6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615cf8565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190615d25565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610cac612711565b6001600160a01b03168152602001826001018054610cc990615d40565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590615d40565b8015610d405780601f10610d1757610100808354040283529160200191610d40565b820191905f5260205f20905b815481529060010190602001808311610d2357829003601f168201915b505050505081525091505090565b5f610d5833610844565b81610d6481601e610853565b610d75610d6f613c42565b84613c66565b505050505050919050565b5f610d8961156b565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615cdd565b5f610b8f30613dba565b6060610dfc612877565b51919050565b5f610e0b61156b565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b5f610e596001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610e9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec19190615d25565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615d87565b610f4533610844565b610f4d612711565b6001600160a01b0316336001600160a01b031614610f805760405163086391f760e31b8152336004820152602401610940565b610f92610f8b613c42565b8383613ffc565b5050565b5f610f9f612f6d565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610fe3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110079190615d87565b15905090565b5f61101733610844565b8361102381601f610853565b5f61102c613c42565b6002810154604051627c1b7d60e71b81529192506001600160a01b031690633e0dbe80906110609089908890600401615c4e565b6020604051808303815f875af115801561107c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a09190615d25565b6003820154604051630c7b317360e21b81526001600160601b038084166004830152808a166024830152881660448201529194505f916001600160a01b03909116906331ecc5cc906064016020604051808303815f875af1158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190615da0565b604080516001600160601b0387811682528a8116602083015289168183015264ffffffffff831660608201526001600160a01b038816608082015290519192507fd3ee63d0421bec5f3bb2d1f810b978739c31bb1e1f31c7113739eca75026933b919081900360a00190a1600282015460405163f71c4cef60e01b81526001600160a01b039091169063f71c4cef906111ca9089908990600401615c4e565b5f604051808303815f87803b1580156111e1575f80fd5b505af11580156111f3573d5f803e3d5ffd5b505050505050509392505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c611223610b0d565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015611261573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112859190615dbb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b900460ff16806112ca575080546001600160401b03808416911610155b156112e85760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561131283614181565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b61136833610844565b611370612711565b6001600160a01b0316336001600160a01b0316146113a35760405163086391f760e31b8152336004820152602401610940565b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e306113d6613c42565b6001015460405160e084901b6001600160e01b03191681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611423573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114479190615de1565b6040518263ffffffff1660e01b815260040161146591815260200190565b602060405180830381865af4158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190615d25565b90506114b060036141a2565b6040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b0385166024830152919091169063419197fe906044015f604051808303815f87803b158015611501575f80fd5b505af1158015611513573d5f803e3d5ffd5b5050604080516001600160a01b03871681526001600160601b0380871660208301528516918101919091527fd04c7a08e8de83264477350e162e0d3e26406e3eaf786d06d976ea7f229d5c4e92506060019050611352565b5f611574613c42565b600101546001600160a01b0316919050565b61158f33610844565b611597613c42565b60030154604051639a148b7f60e01b81526001600160601b038616600482015260ff8516602482015264ffffffffff841660448201526001600160a01b03838116606483015290911690639a148b7f906084015f604051808303815f87803b158015611601575f80fd5b505af1158015611613573d5f803e3d5ffd5b505050507fc849e103742be0a3f6a0ce76fbdbf4c40caa5cd6eb6bdee9c12c925cff885fa58484848473__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015611683573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a79190615d25565b604051610909959493929190615df8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156116fc5750825b90505f826001600160401b031660011480156117175750303b155b905081158015611725575080155b156117435760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561176d57845460ff60401b1916600160401b1785555b6117778787614239565b83156117bd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f6117cf610e46565b15611853576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa158015611823573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261184a9190810190615e93565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b5f8061188733610844565b8361189681601e5b60016139b2565b836118a281601f610853565b5f6118ab613c42565b9050335f806118bc848b60016144b0565b506002860154604051627c1b7d60e71b81529294509092506001600160a01b031690633e0dbe80906118f4908c908790600401615c4e565b6020604051808303815f875af1158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190615d25565b9750611940828261499b565b6003850154604051630c7b317360e21b81526001600160601b03808c166004830152808d166024830152831660448201529198506001600160a01b0316906331ecc5cc906064016020604051808303815f875af11580156119a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c79190615da0565b50604080516001600160601b038a811682528b81166020830152898116828401526001600160a01b03861660608301528c16608082015290517fb83b505434e350ef4d02aa4d11d8c3bf9903b943ecba24fffa1061de4a109e199181900360a00190a15050505050509250929050565b611a4033610844565b81611a4c81601f610853565b5f611a55613c42565b60030154604051635ecf260f60e01b81526001600160601b038616600482015264ffffffffff851660248201526001600160a01b0390911690635ecf260f9060440160408051808303815f875af1158015611ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad69190615f63565b50604080516001600160601b038716815264ffffffffff80871660208301528316918101919091529091507f30c0fd8161ee020f45ae168e89fb340e68c952a10aad14f7a895dc9393818e4690606001610909565b611b3433610844565b611b3c612711565b6001600160a01b0316336001600160a01b031614611b6f5760405163086391f760e31b8152336004820152602401610940565b306001600160a01b0316816001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd99190615cdd565b6001600160a01b031614611c6c57806001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c479190615cdd565b604051631641c88f60e11b81526001600160a01b039091166004820152602401610940565b5f611c75613c42565b600401546001600160a01b0316905081611c8d613c42565b60040180546001600160a01b0319166001600160a01b0392831617905560408051848316815291831660208301527f8414c1d6352c513484c229579bca3842a94d9c46e1dd28ec9b03c9b3d5a4ae4291015b60405180910390a15050565b5f611cf4613c42565b600401546001600160a01b0316919050565b5f611d1033610844565b82611d1c81601e61188f565b5f611d25613c42565b90505f805f805f611d36868b613c66565b604051630a4d29dd60e31b81526001600160601b038f1660048201529499509297509095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906352694ee890602401602060405180830381865af4158015611d99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dbd9190615d87565b15611e305773__$71e292c09eace9601b3e21e68a1278917a$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611e09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2d9190615da0565b93505b6040516330b8415f60e01b81526001600160601b038316600482015260019073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015611e89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ead9190615d87565b15611f65577f769a282a7cfbc12257593717cd50bf7fdb6ba886b28ec1b701957f50186b3dfb8b611ede858661499b565b8673__$3bac17678db7ae928afa209f2f44deec9c$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4a9190615d25565b86604051611f5c959493929190615f7f565b60405180910390a15b60038701546040516340f04ad160e01b81526001600160601b03808e1660048301528c16602482015264ffffffffff8716604482015282151560648201526001600160a01b03909116906340f04ad1906084016060604051808303815f875af1158015611fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff89190615fb8565b6040516330b8415f60e01b81526001600160601b038e166004820152929650909450925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015612056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061207a9190615d87565b156121a6577f724525ed08d00af90bb56fedc71325440aa3c2492ccb32c15135cf67b6d541598b8b8686866040516120b6959493929190615f7f565b60405180910390a15f6120d16001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038e1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561211e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121429190615cdd565b600289015460405163f71c4cef60e01b81529192506001600160a01b03169063f71c4cef90612177908e908590600401615c4e565b5f604051808303815f87803b15801561218e575f80fd5b505af11580156121a0573d5f803e3d5ffd5b50505050505b505050505050505092915050565b6121bd33610844565b816121c981601f610853565b6121d1613c42565b60030154604051631b4e1ff960e21b81526001600160601b038086166004830152841660248201526001600160a01b0390911690636d387fe49060440160408051808303815f875af1158015612229573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224d9190615ff7565b5050604080516001600160601b038086168252841660208201527ff595ceebb66e043dea95b0b28e85ab6e8200e13aca74757365131310dc01793c9101611352565b5f61229933610844565b816122a581601e610853565b5f6122ae613c42565b90506122ba8185613c66565b50505050505f805f805f80866003015f9054906101000a90046001600160a01b03166001600160a01b031663c271b1628b73__$3bac17678db7ae928afa209f2f44deec9c$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190615d25565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af415801561239d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c19190615d25565b60405160e085901b6001600160e01b03191681526001600160601b039384166004820152918316602483015290911660448201525f606482015260840160c0604051808303815f875af115801561241a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061243e9190616013565b6040516330b8415f60e01b81526001600160601b0385166004820152959b5093995091975095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af41580156124a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c79190615d87565b156125f3577fd72fff1264b481a149114c0267db2f2642f5ec97bdd4739ad8661c3613983c2e8a85858585604051612503959493929190615f7f565b60405180910390a15f61251e6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038d1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561256b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061258f9190615cdd565b6002890154604051630cb9145560e41b81529192506001600160a01b03169063cb914550906125c49088908590600401615c4e565b5f604051808303815f87803b1580156125db575f80fd5b505af11580156125ed573d5f803e3d5ffd5b50505050505b5050505050505050919050565b604051632392b61b60e21b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015612650573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190616096565b3361267d612f6d565b6001600160a01b0316816001600160a01b0316146126b85760405162d1953b60e31b81526001600160a01b0382166004820152602401610940565b816001600160a01b03163b5f036126ed576040516361798f2f60e11b81526001600160a01b0383166004820152602401610940565b610f9282614a26565b5f6126ff613c42565b600301546001600160a01b0316919050565b5f805f8051602061653e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561277d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190615d87565b1561282c576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128269190615cdd565b91505090565b54600160601b90046001600160a01b0316919050565b5f8051602061655e83398151915280545f9190600160a01b900460ff16612869575f612826565b638fb3603760e01b91505090565b61287f615599565b612887610e46565b1561289457610b8f614a7f565b610b8f612dbb565b6128a533610844565b6128ad612711565b6001600160a01b0316336001600160a01b0316146128e05760405163086391f760e31b8152336004820152602401610940565b505050565b6128ee33610844565b6128f6612711565b6001600160a01b0316336001600160a01b0316146129295760405163086391f760e31b8152336004820152602401610940565b5f80612933613c42565b600301546040516314d78f9760e31b81526001600160a01b039091169063a6bc7cb89061296890889088908890600401615cb3565b60408051808303815f875af1158015612983573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a79190615c86565b604080516001600160601b03891681526001600160a01b03808916602083015280881692820192909252908316606082015264ffffffffff8216608082015291935091507f519b91b3c7a09332814e208f4ff950747fd39d6aa537517322893c161f6ac9459060a0015b60405180910390a15050505050565b612a2933610844565b81612a3581601f610853565b5f612a3e613c42565b6040516301f8588560e51b81526001600160601b03861660048201529091505f9073__$dacf551d137a232f87fa09e79113e25430$__90633f0b10a090602401602060405180830381865af4158015612a99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612abd9190615d25565b9050612aca828286613ffc565b600382015460405163a71bfbb760e01b81526001600160a01b039091169063a71bfbb790612afe9088908890600401615c4e565b5f604051808303815f87803b158015612b15575f80fd5b505af1158015612b27573d5f803e3d5ffd5b5050604080516001600160601b03808a168252851660208201526001600160a01b038816918101919091527f7a2e316a9c20094b9155914cb3caab21339f9fc6d45d341144e1c2501103132892506060019050612a11565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190615cdd565b6001600160a01b0316336001600160a01b031614612c1c5760405162f0630960e01b8152336004820152602401610940565b50505050565b612c2b33610844565b612c33612711565b6001600160a01b0316336001600160a01b031614612c665760405163086391f760e31b8152336004820152602401610940565b5f612c796001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd89190615d25565b90505f80612ce4613c42565b60030154604051630345861d60e01b81526001600160a01b0390911690630345861d90612d179086908890600401615c4e565b60408051808303815f875af1158015612d32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d569190615c86565b604080516001600160601b03871681526001600160a01b03808916602083015284169181019190915264ffffffffff8216606082015291935091507f089233199b2878dc789e4ec6789758b5d04a0df1cd1e2f75b8e1077b0ed7806b90608001610909565b612dc3615599565b610b8f614a7f565b612dd433610844565b612ddc612711565b6001600160a01b0316336001600160a01b031614612e0f5760405163086391f760e31b8152336004820152602401610940565b5f612e226001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e819190615d25565b90505f80612e8d613c42565b60030154604051635ecf260f60e01b81526001600160601b038516600482015264ffffffffff861660248201526001600160a01b0390911690635ecf260f9060440160408051808303815f875af1158015612eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0e9190615f63565b604080516001600160601b038716815264ffffffffff808916602083015280851692820192909252908216606082015291935091507f4de81d4f6acfa293451d20e78b7ce05c2e9f676381b7e41b986c75e7ce10491c90608001610909565b5f8051602061655e833981519152546001600160a01b031690565b612f9133610844565b612f99612711565b6001600160a01b0316336001600160a01b031614610f925760405163086391f760e31b8152336004820152602401610940565b5f612fd5613c42565b546001600160a01b0316919050565b612fed33610844565b612ff5612711565b6001600160a01b0316336001600160a01b0316146130285760405163086391f760e31b8152336004820152602401610940565b6001546001600160a01b03166001600160a01b031663dfca01426040518163ffffffff1660e01b8152600401602060405180830381865afa15801561306f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130939190615cdd565b6040516308f6e75560e11b815260ff831660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa1580156130da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130fe9190615d87565b61312057604051630a95ed5b60e31b815260ff82166004820152602401610940565b5f6131336001546001600160a01b031690565b6001600160a01b031663d39e604360036040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015613187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ab9190615cdd565b90506001600160a01b0381166131d957604051637721f11b60e11b815260ff83166004820152602401610940565b5f6131e2613c42565b600201546001600160a01b03169050816131fa613c42565b60020180546001600160a01b0319166001600160a01b0392831617905560408051848316815260ff86166020820152918316908201527f0d3c2937ad932ccd841592977cdeb6dabbfb6fc4df9d7569f35a84f0864ac3c590606001611352565b5f61326433610844565b8361327081601f610853565b3361327c868686614b63565b5050509392505050565b5f61329033610844565b5f613299613c42565b600381015460405163d44f8a4b60e01b81526001600160601b0380891660048301526001600160a01b038881166024840152908716604483015292935091169063d44f8a4b906064016020604051808303815f875af11580156132fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133229190615d25565b91507f7e242460dd6c92d78287e1000e16b4bc99b2e4b3c6377c63c83dd83845302ec48585858560405161335994939291906160b1565b60405180910390a1509392505050565b5f61337333610844565b8261337f81601f610853565b3361338b858583614b63565b50505092915050565b5f8061339f33610844565b826133ab81601e61188f565b5f6133b4613c42565b905060015f6133c48388846144b0565b919750955090505f6133d6878761499b565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561342f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134539190615d87565b15613540575f61346b6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038b1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156134b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134dc9190615cdd565b6002860154604051630cb9145560e41b81529192506001600160a01b03169063cb914550906135119085908590600401615c4e565b5f604051808303815f87803b158015613528575f80fd5b505af115801561353a573d5f803e3d5ffd5b50505050505b5050505050915091565b5f61355433610844565b8261356081601f610853565b6135da846135766001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135d59190615d25565b614cd7565b15613631576135e7612711565b6001600160a01b0316336001600160a01b03161461361857604051631928390360e21b815260040160405180910390fd5b61362a8484613625612711565b614d5b565b91506136fa565b5f6136446001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03871660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613691573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136b59190615cdd565b9050336001600160a01b038216146136eb57604051635520388f60e01b81526001600160601b0386166004820152602401610940565b6136f6858583614d5b565b9250505b5092915050565b5f61370b33610844565b5f613714613c42565b600381015460405163ea48ce9b60e01b81526001600160601b0380891660048301526001600160a01b038881166024840152908716604483015292935091169063ea48ce9b906064016020604051808303815f875af1158015613779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061379d9190615d25565b91507f4bfa3a293bec95a822b40b97aefb460cdc94363179f8636f068f2a569b0790678585858560405161335994939291906160b1565b5f6137de33610844565b836137ea81601f610853565b613800856135766001546001600160a01b031690565b1561381757613810858585614d5b565b91506138ac565b5f61382a6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03881660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061389b9190615cdd565b90506138a8868683614d5b565b9250505b509392505050565b5f8051602061655e8339815191525f806138ec6138cf612f6d565b87306138de60045f8a8c6160e5565b6138e79161610c565b614e9a565b91509150816139aa5763ffffffff81161561398757825460ff60a01b1916600160a01b17835561391a612f6d565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161394993929190616142565b5f604051808303815f87803b158015613960575f80fd5b505af1158015613972573d5f803e3d5ffd5b5050845460ff60a01b19168555506139aa9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610940565b505050505050565b60ff8216601e03613a66576139c5613c42565b60030154604051634f9c1c0960e01b81526001600160601b03851660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015613a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a399190615d87565b613a6157604051632ab4595b60e11b81526001600160601b0384166004820152602401610940565b613b87565b60ff8216601f03613b8757613a79613c42565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316633a208dc76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613aca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613aee9190615cdd565b604051634f9c1c0960e01b81526001600160601b03851660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa158015613b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b5f9190615d87565b613b87576040516396cff01560e01b81526001600160601b0384166004820152602401610940565b80156128e0575f613ba06001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03861660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613bed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c119190615cdd565b9050336001600160a01b03821614612c1c57838133604051630807d41d60e41b815260040161094093929190615cb3565b7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0090565b600382015460405163085031c560e11b81526001600160601b03831660048201525f9182918291829182916001600160a01b0316906310a0638a9060240160a0604051808303815f875af1158015613cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ce49190616181565b6040516330b8415f60e01b81526001600160601b03861660048201529499509297509095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015613d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d6b9190615d87565b15613db0577f13110524751c67caee0cbeb8ea76348f571a2c277f288c11b0aa74ce5592b60d8686858585604051613da7959493929190615f7f565b60405180910390a15b9295509295909350565b5f805f8051602061653e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e4a9190615d87565b15613e765780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610940565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eec9190615d87565b613f145760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610940565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015613f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f8a9190615d25565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490613fd6612711565b604051613fe4929190615c4e565b60405180910390a1546001600160601b031692915050565b6003830154604051635809c85d60e01b81526001600160a01b0390911690635809c85d906140309085908590600401615c4e565b6040805180830381865afa15801561404a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061406e91906161f2565b6020015160405163790a38ad60e01b815264ffffffffff909116600482015273__$f55ca14f1ddce1b88fe30d23ae45f595f4$__9063790a38ad90602401602060405180830381865af41580156140c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140eb9190615d87565b156128e0576003830154604051631170b20360e11b81526001600160a01b03909116906322e16406906141249085908590600401615c4e565b5f604051808303815f87803b15801561413b575f80fd5b505af115801561414d573d5f803e3d5ffd5b505050507e2713bc0b3137ab1236c169e5d41bf95db32cea0a163dc838d6842c6410b99a8282604051611352929190615c4e565b614189614fa2565b60405163502ec37160e01b815260040160405180910390fd5b5f6141b56001546001600160a01b031690565b6001600160a01b031663d39e6043836141cc612600565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561420f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142339190615cdd565b92915050565b614241614fa2565b5f805f838060200190518101906142589190616250565b91945092509050825f614269613c42565b9050816001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156142a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142cb9190615d25565b600480830180546001600160601b0393909316600160a01b026001600160a01b039384161790556003830180549286166001600160a01b0319939093168317905560408051633148a11d60e11b81529051636291423a928281019260209291908290030181865afa158015614342573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143669190615cdd565b600482810180546001600160a01b03199081166001600160a01b0394851617909155835416868316178355604080516307158bc560e51b815290516144989386169263e2b178a0928082019260209290918290030181865afa1580156143ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143f29190615cdd565b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561442f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144539190615d25565b6040805180820190915260078152665374616b696e6760c81b602082015260035f8d60405180602001604052805f81525060405180602001604052805f815250614fed565b6144a06150c9565b6117bd63667de56960e01b615273565b6003830154604051630b9a5c0360e41b81526001600160601b03841660048201525f91829182916001600160a01b03169063b9a5c03090602401602060405180830381865afa158015614505573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145299190615d87565b156145d95760038601546040516301f33ce360e21b81526001600160601b038716600482015286916001600160a01b0316906307ccf38c9060240160c060405180830381865afa15801561457f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145a3919061628f565b604090810151905163187bc0bd60e21b81526001600160601b03909216600483015264ffffffffff166024820152604401610940565b6145e38686613c66565b60038b015460408051636ac5db1960e01b815290519297505f96508695508594506001600160a01b03909116925063c271b162918b9173__$3bac17678db7ae928afa209f2f44deec9c$__91636ac5db19916004808201926020929091908290030181865af4158015614658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061467c9190615d25565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af41580156146c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146e79190615d25565b60405160e085901b6001600160e01b03191681526001600160601b03938416600482015291831660248301529091166044820152891515606482015260840160c0604051808303815f875af1158015614742573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147669190616013565b506040516330b8415f60e01b81526001600160601b0386166004820152939a5091985092955091935090915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af41580156147cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147f09190615d87565b15614847577f769a282a7cfbc12257593717cd50bf7fdb6ba886b28ec1b701957f50186b3dfb8884614822858a61499b565b61482c858a61499b565b8860405161483e959493929190615f7f565b60405180910390a15b6040516330b8415f60e01b81526001600160601b038716600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561489d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148c19190615d87565b8061494157506040516330b8415f60e01b81526001600160601b038616600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561491d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906149419190615d87565b1561498f577f4c5b57a00362e2c9f1ee30f9288b6c458c06bf1b96e03d25954638f7f10ccfa188614972888861499b565b848488604051614986959493929190615f7f565b60405180910390a15b50505093509350939050565b60405163274acb3560e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af41580156149fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a1f9190615d25565b9392505050565b5f8051602061655e83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001611cdf565b614a87615599565b5f7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0090506040518060600160405280825f018054614ac490615d40565b80601f0160208091040260200160405190810160405280929190818152602001828054614af090615d40565b8015614b3b5780601f10614b1257610100808354040283529160200191614b3b565b820191905f5260205f20905b815481529060010190602001808311614b1e57829003601f168201915b505050505081526020015f6001600160a01b03168152602001826002018054610cc990615d40565b5f80614b6d613c42565b600381015460405163de0eb85f60e01b81526001600160601b038089166004830152871660248201529192506001600160a01b03169063de0eb85f906044016020604051808303815f875af1158015614bc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614bec9190615d25565b6040516330b8415f60e01b81526001600160601b038616600482015290925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015614c45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614c699190615d87565b156138ac57600281015460405163f71c4cef60e01b81526001600160a01b039091169063f71c4cef90614ca29087908790600401615c4e565b5f604051808303815f87803b158015614cb9575f80fd5b505af1158015614ccb573d5f803e3d5ffd5b50505050509392505050565b60405163c4cade9d60e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__9063c4cade9d90604401602060405180830381865af4158015614d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a1f9190615d87565b5f80614d65613c42565b600381015460405163e8ce883d60e01b81526001600160601b038089166004830152871660248201529192506001600160a01b03169063e8ce883d906044016020604051808303815f875af1158015614dc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614de49190615d25565b6040516330b8415f60e01b81526001600160601b038616600482015290925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015614e3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614e619190615d87565b156138ac576002810154604051630cb9145560e41b81526001600160a01b039091169063cb91455090614ca29087908790600401615c4e565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251614f089190616339565b5f60405180830381855afa9150503d805f8114614f40576040519150601f19603f3d011682016040523d82523d5f602084013e614f45565b606091505b50915091508115614f97576040815110614f775780806020019051810190614f6d919061634f565b9094509250614f97565b6020815110614f975780806020019051810190614f949190615d87565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16614feb57604051631afcd79f60e31b815260040160405180910390fd5b565b614ff5614fa2565b85515f036150165760405163591eebf360e11b815260040160405180910390fd5b615025898989888888886152a6565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f008061505188826163cc565b5060018101805460ff19168615151790556002810161507083826163cc565b5061507b600b6141a2565b6003820180546001600160a01b0319166001600160a01b03929092169190911790556150ad634a531f3360e01b615273565b6150bd6306e9e5ff60e31b615273565b50505050505050505050565b5f6150d2613c42565b600381015460048083015460405163153d412560e31b8152600160a01b9091046001600160601b0316918101919091529192505f916001600160a01b039091169063a9ea09289060240161012060405180830381865afa158015615138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061515c9190616486565b604080820151905163790a38ad60e01b815264ffffffffff909116600482015290915073__$f55ca14f1ddce1b88fe30d23ae45f595f4$__9063790a38ad90602401602060405180830381865af41580156151b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906151dd9190615d87565b156152155760048281015460405163686c563560e11b8152600160a01b9091046001600160601b031691810191909152602401610940565b7fc849e103742be0a3f6a0ce76fbdbf4c40caa5cd6eb6bdee9c12c925cff885fa58260040160149054906101000a90046001600160601b03168260c001518360a001518460e001518560800151604051611cdf959493929190615df8565b61527b614fa2565b6152a3816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b6152ae614fa2565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015615304573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906153289190615d87565b6153505760405163cf6935e560e01b81526001600160a01b0388166004820152602401610940565b615359876153ed565b61536386836153fe565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016153d283826163cc565b506153e3634a531f3360e01b615273565b5050505050505050565b6153f5614fa2565b6152a381615474565b615406614fa2565b61540e615485565b615417826154cd565b6001600160a01b03811661543e5760405163f17ef42d60e01b815260040160405180910390fd5b5f8051602061653e83398151915280546001600160601b0316600160601b6001600160a01b039093169290920291909117905550565b61547c614fa2565b6152a381614a26565b61548d614fa2565b614feb6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b6154d5614fa2565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af415801561552b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061554f9190615d87565b6155775760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610940565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060600160405280606081526020015f6001600160a01b03168152602001606081525090565b5f602082840312156155d2575f80fd5b81356001600160e01b031981168114614a1f575f80fd5b6001600160601b03811681146152a3575f80fd5b8035615608816155e9565b919050565b6001600160a01b03811681146152a3575f80fd5b80356156088161560d565b5f806040838503121561563d575f80fd5b8235615648816155e9565b915060208301356156588161560d565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f60608301516156d9608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e08084015261571d610100840182615663565b949350505050565b5f60208284031215615735575f80fd5b8135614a1f816155e9565b602081525f614a1f6020830184615663565b5f805f60608486031215615764575f80fd5b833561576f816155e9565b9250602084013561577f816155e9565b9150604084013561578f8161560d565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156157d1576157d161579a565b60405290565b60405160e081016001600160401b03811182821017156157d1576157d161579a565b604051601f8201601f191681016001600160401b03811182821017156158215761582161579a565b604052919050565b5f6001600160401b038211156158415761584161579a565b50601f01601f191660200190565b5f82601f83011261585e575f80fd5b813561587161586c82615829565b6157f9565b818152846020838601011115615885575f80fd5b816020850160208301375f918101602001919091529392505050565b5f602082840312156158b1575f80fd5b81356001600160401b038111156158c6575f80fd5b61571d8482850161584f565b5f80604083850312156158e3575f80fd5b82356158ee8161560d565b91506020830135615658816155e9565b60ff811681146152a3575f80fd5b8035615608816158fe565b64ffffffffff811681146152a3575f80fd5b803561560881615917565b5f805f8060808587031215615947575f80fd5b8435615952816155e9565b93506020850135615962816158fe565b9250604085013561597281615917565b915060608501356159828161560d565b939692955090935050565b5f806040838503121561599e575f80fd5b82356159a98161560d565b915060208301356001600160401b038111156159c3575f80fd5b6159cf8582860161584f565b9150509250929050565b5f80604083850312156159ea575f80fd5b82356158ee816155e9565b5f8060408385031215615a06575f80fd5b8235615a11816155e9565b9150602083013561565881615917565b5f60208284031215615a31575f80fd5b8135614a1f8161560d565b602081525f825160606020840152615a576080840182615663565b60208501516001600160a01b0316604085810191909152850151848203601f190160608601529091506136f68282615663565b5f805f60608486031215615a9c575f80fd5b8335615aa7816155e9565b92506020840135615ab78161560d565b9150604084013561578f816155e9565b5f805f60608486031215615ad9575f80fd5b8335615ae4816155e9565b9250602084013561577f8161560d565b5f805f8060808587031215615b07575f80fd5b8435615b128161560d565b93506020850135615b228161560d565b92506040850135915060608501356159828161560d565b5f60208284031215615b49575f80fd5b8135614a1f81615917565b5f80828403610140811215615b67575f80fd5b8335615b72816155e9565b9250610120601f1982011215615b86575f80fd5b50615b8f6157ae565b615b9b602085016155fd565b8152615ba9604085016155fd565b6020820152615bba60608501615929565b6040820152615bcb608085016155fd565b6060820152615bdc60a085016155fd565b6080820152615bed60c08501615929565b60a0820152615bfe60e0850161590c565b60c0820152615c106101008501615621565b60e0820152615c2261012085016155fd565b610100820152809150509250929050565b5f60208284031215615c43575f80fd5b8135614a1f816158fe565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516156088161560d565b805161560881615917565b5f8060408385031215615c97575f80fd5b8251615ca28161560d565b602084015190925061565881615917565b6001600160601b039390931683526001600160a01b03918216602084015216604082015260600190565b5f60208284031215615ced575f80fd5b8151614a1f8161560d565b5f60208284031215615d08575f80fd5b815162ffffff81168114614a1f575f80fd5b8051615608816155e9565b5f60208284031215615d35575f80fd5b8151614a1f816155e9565b600181811c90821680615d5457607f821691505b602082108103615d7257634e487b7160e01b5f52602260045260245ffd5b50919050565b80518015158114615608575f80fd5b5f60208284031215615d97575f80fd5b614a1f82615d78565b5f60208284031215615db0575f80fd5b8151614a1f81615917565b5f60208284031215615dcb575f80fd5b81516001600160401b0381168114614a1f575f80fd5b5f60208284031215615df1575f80fd5b5051919050565b6001600160601b03958616815260ff94909416602085015264ffffffffff9290921660408401526001600160a01b03166060830152909116608082015260a00190565b8051615608816158fe565b5f82601f830112615e55575f80fd5b8151615e6361586c82615829565b818152846020838601011115615e77575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215615ea3575f80fd5b81516001600160401b03811115615eb8575f80fd5b820160e08185031215615ec9575f80fd5b615ed16157d7565b615eda82615d1a565b8152615ee860208301615d1a565b6020820152615ef960408301615e3b565b6040820152615f0a60608301615d78565b6060820152615f1b60808301615c70565b6080820152615f2c60a08301615c70565b60a082015260c08201516001600160401b03811115615f49575f80fd5b615f5586828501615e46565b60c083015250949350505050565b5f8060408385031215615f74575f80fd5b8251615ca281615917565b6001600160601b03958616815293851660208501529184166040840152909216606082015264ffffffffff909116608082015260a00190565b5f805f60608486031215615fca575f80fd5b8351615fd5816155e9565b6020850151909350615fe6816155e9565b604085015190925061578f81615917565b5f8060408385031215616008575f80fd5b8251615ca2816155e9565b5f805f805f8060c08789031215616028575f80fd5b8651616033816155e9565b6020880151909650616044816155e9565b6040880151909550616055816155e9565b6060880151909450616066816155e9565b6080880151909350616077816155e9565b60a088015190925061608881615917565b809150509295509295509295565b5f602082840312156160a6575f80fd5b8151614a1f816158fe565b6001600160601b0394851681526001600160a01b039390931660208401529083166040830152909116606082015260800190565b5f80858511156160f3575f80fd5b838611156160ff575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156136fa576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f805f60a08688031215616195575f80fd5b85516161a0816155e9565b60208701519095506161b181615917565b60408701519094506161c2816155e9565b60608701519093506161d3816155e9565b60808701519092506161e481615917565b809150509295509295909350565b5f6040828403128015616203575f80fd5b50604080519081016001600160401b03811182821017156162265761622661579a565b60405282516162348161560d565b8152602083015161624481615917565b60208201529392505050565b5f805f60608486031215616262575f80fd5b835161626d8161560d565b602085015190935061627e8161560d565b604085015190925061578f8161560d565b5f60c08284031280156162a0575f80fd5b5060405160c081016001600160401b03811182821017156162c3576162c361579a565b60405282516162d1816155e9565b815260208301516162e1816155e9565b602082015260408301516162f481615917565b60408201526060830151616307816155e9565b6060820152608083015161631a81615917565b608082015260a083015161632d81615917565b60a08201529392505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215616360575f80fd5b61636983615d78565b9150602083015163ffffffff81168114615658575f80fd5b601f8211156128e057805f5260205f20601f840160051c810160208510156163a65750805b601f840160051c820191505b818110156163c5575f81556001016163b2565b5050505050565b81516001600160401b038111156163e5576163e561579a565b6163f9816163f38454615d40565b84616381565b6020601f82116001811461642b575f83156164145750848201515b5f19600385901b1c1916600184901b1784556163c5565b5f84815260208120601f198516915b8281101561645a578785015182556020948501946001909201910161643a565b508482101561647757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f610120828403128015616498575f80fd5b506164a16157ae565b6164aa83615d1a565b81526164b860208401615d1a565b60208201526164c960408401615c7b565b60408201526164da60608401615d1a565b60608201526164eb60808401615d1a565b60808201526164fc60a08401615c7b565b60a082015261650d60c08401615e3b565b60c082015261651e60e08401615c70565b60e08201526165306101008401615d1a565b610100820152939250505056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a26469706673582212209581c7c8831fa991ebeee807c767d2cfeb2caa00ecb8c524f55afd9283c091d164736f6c634300081a0033",
|
2528
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061037d575f3560e01c80636c1e9dff116101d4578063b283765d11610109578063d43a2623116100a9578063e8ce883d11610079578063e8ce883d146107df578063ea15869f146107f2578063ea48ce9b14610819578063ec0407d91461082c575f80fd5b8063d43a262314610793578063d44f8a4b146107a6578063de0eb85f146107b9578063dea4ccf2146107cc575f80fd5b8063bf7e214f116100e4578063bf7e214f1461075d578063c813d79114610765578063caed989714610778578063cdf73d5014610780575f80fd5b8063b283765d1461072f578063b423086c14610742578063b47f48881461074a575f80fd5b80638fb3603711610174578063a6bc7cb81161014f578063a6bc7cb8146106e2578063a71bfbb7146106f5578063ad12ad6014610708578063ada9652e1461071b575f80fd5b80638fb360371461069957806390edbd35146106ba578063958697a0146106cf575f80fd5b806376b707b7116101af57806376b707b71461065c5780637a9e5e4b1461067657806386c7575414610689578063893d20e814610691575f80fd5b80636c1e9dff146106235780636d387fe414610636578063719f761a14610649575f80fd5b806322f3e2d4116102b55780635741e5e9116102555780635fd1efec116102255780635fd1efec146105c5578063614d08f8146105d85780636291423a146105fe578063644c45e014610606575f80fd5b80635741e5e9146105665780635ab1bd531461056e5780635cbb7d851461057f5780635ecf260f146105b2575f80fd5b8063419197fe11610290578063419197fe1461052557806343d752d31461053857806344dcf7301461054057806349bb9e4b14610553575f80fd5b806322f3e2d4146104f75780632391b052146104ff578063329d6e7414610512575f80fd5b806313299604116103205780631eff4b22116102fb5780631eff4b22146104ad57806321df0da7146104d457806322366844146104dc57806322e16406146104e4575f80fd5b80631329960414610470578063138461e01461049057806317d7de7c14610498575f80fd5b806309980bfd1161035b57806309980bfd1461040c5780630d8e6e2c146104145780630fec111c1461043057806310a0638a14610445575f80fd5b806301ffc9a7146103815780630345861d146103c2578063062c9cdf146103d7575b5f80fd5b6103ad61038f3660046155c2565b6001600160e01b0319165f9081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6103d56103d036600461562c565b61083f565b005b6103fe7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0081565b6040519081526020016103b9565b6103d5610917565b61041c610b0d565b60405162ffffff90911681526020016103b9565b610438610b94565b6040516103b99190615691565b610458610453366004615725565b610d4e565b6040516001600160601b0390911681526020016103b9565b610478610d80565b6040516001600160a01b0390911681526020016103b9565b610458610de8565b6104a0610df2565b6040516103b99190615740565b6103fe7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b610478610e02565b6103ad610e46565b6103d56104f236600461562c565b610f3c565b6103ad610f96565b61045861050d366004615752565b61100d565b6103d56105203660046158a1565b611201565b6103d56105333660046158d2565b61135f565b61047861156b565b6103d561054e366004615934565b611586565b6103d561056136600461598d565b6116b8565b6103ad6117c6565b6001546001600160a01b0316610478565b61059261058d3660046159d9565b61187c565b604080516001600160601b039384168152929091166020830152016103b9565b6103d56105c03660046159f5565b611a37565b6103d56105d3366004615a21565b611b2b565b6104a0604051806040016040528060078152602001665374616b696e6760c81b81525081565b610478611ceb565b5f8051602061653e833981519152546001600160601b0316610458565b6104586106313660046159d9565b611d06565b6103d56106443660046159d9565b6121b4565b610458610657366004615725565b61228f565b610664612600565b60405160ff90911681526020016103b9565b6103d5610684366004615a21565b612674565b6104786126f6565b610478612711565b6106a1612842565b6040516001600160e01b031990911681526020016103b9565b6106c2612877565b6040516103b99190615a3c565b6103d56106dd366004615a8a565b61289c565b6103d56106f0366004615ac7565b6128e5565b6103d561070336600461562c565b612a20565b6103d5610716366004615af4565b612b7f565b6103fe5f8051602061653e83398151915281565b6103d561073d366004615a21565b612c22565b6106c2612dbb565b6103d5610758366004615b39565b612dcb565b610478612f6d565b6103d5610773366004615b54565b612f88565b610478612fcc565b6103d561078e366004615c33565b612fe4565b6104586107a1366004615752565b61325a565b6104586107b4366004615a8a565b613286565b6104586107c73660046159d9565b613369565b6105926107da366004615725565b613394565b6104586107ed3660046159d9565b61354a565b6103fe7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0081565b610458610827366004615a8a565b613701565b61045861083a366004615752565b6137d4565b61084b335b5f366138b4565b8161085981601f5b5f6139b2565b5f610862613c42565b60030154604051630345861d60e01b81526001600160a01b0390911690630345861d906108959087908790600401615c4e565b60408051808303815f875af11580156108b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d49190615c86565b5090507ec60e9fa0b11ba4353f1efa957e6380e75820bcf5afd13713f0c7c268b18a5b84848360405161090993929190615cb3565b60405180910390a150505050565b6001546001600160a01b0316331461094957604051632a6e1a8960e01b81523360048201526024015b60405180910390fd5b5f610952613c42565b90505f61095d613c42565b546040805163b201f70960e01b815290516001600160a01b039092169163b201f709916004808201926020929091908290030181865afa1580156109a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c79190615cdd565b905073__$51089c37ca0df1177a910c640c8c5f8165$__6350c6470d6109f56001546001600160a01b031690565b3084610a096001546001600160a01b031690565b6001600160a01b031663e2b178a06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190615cdd565b60405160e086901b6001600160e01b03191681526001600160a01b039485166004820152928416602484015290831660448301529091166064820152608401602060405180830381865af4158015610ac2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae69190615cdd565b60019290920180546001600160a01b0319166001600160a01b039093169290921790915550565b604051632efe011360e01b8152600360048201525f60248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af4158015610b6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615cf8565b905090565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190615d25565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610cac612711565b6001600160a01b03168152602001826001018054610cc990615d40565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf590615d40565b8015610d405780601f10610d1757610100808354040283529160200191610d40565b820191905f5260205f20905b815481529060010190602001808311610d2357829003601f168201915b505050505081525091505090565b5f610d5833610844565b81610d6481601e610853565b610d75610d6f613c42565b84613c66565b505050505050919050565b5f610d8961156b565b6001600160a01b031663132996046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615cdd565b5f610b8f30613dba565b6060610dfc612877565b51919050565b5f610e0b61156b565b6001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b5f610e596001546001600160a01b031690565b604051632f2a35f760e11b81523060048201526001600160a01b039190911690635e546bee90602401602060405180830381865afa158015610e9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec19190615d25565b6040516330b8415f60e01b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015610f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190615d87565b610f4533610844565b610f4d612711565b6001600160a01b0316336001600160a01b031614610f805760405163086391f760e31b8152336004820152602401610940565b610f92610f8b613c42565b8383613ffc565b5050565b5f610f9f612f6d565b60405163a166aa8960e01b81523060048201526001600160a01b03919091169063a166aa8990602401602060405180830381865afa158015610fe3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110079190615d87565b15905090565b5f61101733610844565b8361102381601f610853565b5f61102c613c42565b6002810154604051627c1b7d60e71b81529192506001600160a01b031690633e0dbe80906110609089908890600401615c4e565b6020604051808303815f875af115801561107c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a09190615d25565b6003820154604051630c7b317360e21b81526001600160601b038084166004830152808a166024830152881660448201529194505f916001600160a01b03909116906331ecc5cc906064016020604051808303815f875af1158015611107573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112b9190615da0565b604080516001600160601b0387811682528a8116602083015289168183015264ffffffffff831660608201526001600160a01b038816608082015290519192507fd3ee63d0421bec5f3bb2d1f810b978739c31bb1e1f31c7113739eca75026933b919081900360a00190a1600282015460405163f71c4cef60e01b81526001600160a01b039091169063f71c4cef906111ca9089908990600401615c4e565b5f604051808303815f87803b1580156111e1575f80fd5b505af11580156111f3573d5f803e3d5ffd5b505050505050509392505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c611223610b0d565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015611261573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112859190615dbb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b900460ff16806112ca575080546001600160401b03808416911610155b156112e85760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561131283614181565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a1505050565b61136833610844565b611370612711565b6001600160a01b0316336001600160a01b0316146113a35760405163086391f760e31b8152336004820152602401610940565b5f73__$3bac17678db7ae928afa209f2f44deec9c$__634c41dd96846001600160a01b031663dd62ed3e306113d6613c42565b6001015460405160e084901b6001600160e01b03191681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611423573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114479190615de1565b6040518263ffffffff1660e01b815260040161146591815260200190565b602060405180830381865af4158015611480573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a49190615d25565b90506114b060036141a2565b6040516320c8cbff60e11b81526001600160a01b0385811660048301526001600160601b0385166024830152919091169063419197fe906044015f604051808303815f87803b158015611501575f80fd5b505af1158015611513573d5f803e3d5ffd5b5050604080516001600160a01b03871681526001600160601b0380871660208301528516918101919091527fd04c7a08e8de83264477350e162e0d3e26406e3eaf786d06d976ea7f229d5c4e92506060019050611352565b5f611574613c42565b600101546001600160a01b0316919050565b61158f33610844565b611597613c42565b60030154604051639a148b7f60e01b81526001600160601b038616600482015260ff8516602482015264ffffffffff841660448201526001600160a01b03838116606483015290911690639a148b7f906084015f604051808303815f87803b158015611601575f80fd5b505af1158015611613573d5f803e3d5ffd5b505050507fc849e103742be0a3f6a0ce76fbdbf4c40caa5cd6eb6bdee9c12c925cff885fa58484848473__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af4158015611683573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a79190615d25565b604051610909959493929190615df8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156116fc5750825b90505f826001600160401b031660011480156117175750303b155b905081158015611725575080155b156117435760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561176d57845460ff60401b1916600160401b1785555b6117778787614239565b83156117bd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f6117cf610e46565b15611853576001546001600160a01b03166040516308b09a5f60e41b81523060048201526001600160a01b039190911690638b09a5f0906024015f60405180830381865afa158015611823573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261184a9190810190615e93565b60600151905090565b507fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f015460ff1690565b5f8061188733610844565b8361189681601e5b60016139b2565b836118a281601f610853565b5f6118ab613c42565b9050335f806118bc848b60016144b0565b506002860154604051627c1b7d60e71b81529294509092506001600160a01b031690633e0dbe80906118f4908c908790600401615c4e565b6020604051808303815f875af1158015611910573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119349190615d25565b9750611940828261499b565b6003850154604051630c7b317360e21b81526001600160601b03808c166004830152808d166024830152831660448201529198506001600160a01b0316906331ecc5cc906064016020604051808303815f875af11580156119a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c79190615da0565b50604080516001600160601b038a811682528b81166020830152898116828401526001600160a01b03861660608301528c16608082015290517fb83b505434e350ef4d02aa4d11d8c3bf9903b943ecba24fffa1061de4a109e199181900360a00190a15050505050509250929050565b611a4033610844565b81611a4c81601f610853565b5f611a55613c42565b60030154604051635ecf260f60e01b81526001600160601b038616600482015264ffffffffff851660248201526001600160a01b0390911690635ecf260f9060440160408051808303815f875af1158015611ab2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad69190615f63565b50604080516001600160601b038716815264ffffffffff80871660208301528316918101919091529091507f30c0fd8161ee020f45ae168e89fb340e68c952a10aad14f7a895dc9393818e4690606001610909565b611b3433610844565b611b3c612711565b6001600160a01b0316336001600160a01b031614611b6f5760405163086391f760e31b8152336004820152602401610940565b306001600160a01b0316816001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd99190615cdd565b6001600160a01b031614611c6c57806001600160a01b0316637b1391a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c479190615cdd565b604051631641c88f60e11b81526001600160a01b039091166004820152602401610940565b5f611c75613c42565b600401546001600160a01b0316905081611c8d613c42565b60040180546001600160a01b0319166001600160a01b0392831617905560408051848316815291831660208301527f8414c1d6352c513484c229579bca3842a94d9c46e1dd28ec9b03c9b3d5a4ae4291015b60405180910390a15050565b5f611cf4613c42565b600401546001600160a01b0316919050565b5f611d1033610844565b82611d1c81601e61188f565b5f611d25613c42565b90505f805f805f611d36868b613c66565b604051630a4d29dd60e31b81526001600160601b038f1660048201529499509297509095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906352694ee890602401602060405180830381865af4158015611d99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dbd9190615d87565b15611e305773__$71e292c09eace9601b3e21e68a1278917a$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611e09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2d9190615da0565b93505b6040516330b8415f60e01b81526001600160601b038316600482015260019073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015611e89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ead9190615d87565b15611f65577f769a282a7cfbc12257593717cd50bf7fdb6ba886b28ec1b701957f50186b3dfb8b611ede858661499b565b8673__$3bac17678db7ae928afa209f2f44deec9c$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611f26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4a9190615d25565b86604051611f5c959493929190615f7f565b60405180910390a15b60038701546040516340f04ad160e01b81526001600160601b03808e1660048301528c16602482015264ffffffffff8716604482015282151560648201526001600160a01b03909116906340f04ad1906084016060604051808303815f875af1158015611fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff89190615fb8565b6040516330b8415f60e01b81526001600160601b038e166004820152929650909450925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015612056573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061207a9190615d87565b156121a6577f724525ed08d00af90bb56fedc71325440aa3c2492ccb32c15135cf67b6d541598b8b8686866040516120b6959493929190615f7f565b60405180910390a15f6120d16001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038e1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561211e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121429190615cdd565b600289015460405163f71c4cef60e01b81529192506001600160a01b03169063f71c4cef90612177908e908590600401615c4e565b5f604051808303815f87803b15801561218e575f80fd5b505af11580156121a0573d5f803e3d5ffd5b50505050505b505050505050505092915050565b6121bd33610844565b816121c981601f610853565b6121d1613c42565b60030154604051631b4e1ff960e21b81526001600160601b038086166004830152841660248201526001600160a01b0390911690636d387fe49060440160408051808303815f875af1158015612229573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224d9190615ff7565b5050604080516001600160601b038086168252841660208201527ff595ceebb66e043dea95b0b28e85ab6e8200e13aca74757365131310dc01793c9101611352565b5f61229933610844565b816122a581601e610853565b5f6122ae613c42565b90506122ba8185613c66565b50505050505f805f805f80866003015f9054906101000a90046001600160a01b03166001600160a01b031663c271b1628b73__$3bac17678db7ae928afa209f2f44deec9c$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612332573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123569190615d25565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af415801561239d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c19190615d25565b60405160e085901b6001600160e01b03191681526001600160601b039384166004820152918316602483015290911660448201525f606482015260840160c0604051808303815f875af115801561241a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061243e9190616013565b6040516330b8415f60e01b81526001600160601b0385166004820152959b5093995091975095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af41580156124a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124c79190615d87565b156125f3577fd72fff1264b481a149114c0267db2f2642f5ec97bdd4739ad8661c3613983c2e8a85858585604051612503959493929190615f7f565b60405180910390a15f61251e6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038d1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801561256b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061258f9190615cdd565b6002890154604051630cb9145560e41b81529192506001600160a01b03169063cb914550906125c49088908590600401615c4e565b5f604051808303815f87803b1580156125db575f80fd5b505af11580156125ed573d5f803e3d5ffd5b50505050505b5050505050505050919050565b604051632392b61b60e21b8152600360048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af4158015612650573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8f9190616096565b3361267d612f6d565b6001600160a01b0316816001600160a01b0316146126b85760405162d1953b60e31b81526001600160a01b0382166004820152602401610940565b816001600160a01b03163b5f036126ed576040516361798f2f60e11b81526001600160a01b0383166004820152602401610940565b610f9282614a26565b5f6126ff613c42565b600301546001600160a01b0316919050565b5f805f8051602061653e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801561277d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a19190615d87565b1561282c576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015612802573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128269190615cdd565b91505090565b54600160601b90046001600160a01b0316919050565b5f8051602061655e83398151915280545f9190600160a01b900460ff16612869575f612826565b638fb3603760e01b91505090565b61287f615599565b612887610e46565b1561289457610b8f614a7f565b610b8f612dbb565b6128a533610844565b6128ad612711565b6001600160a01b0316336001600160a01b0316146128e05760405163086391f760e31b8152336004820152602401610940565b505050565b6128ee33610844565b6128f6612711565b6001600160a01b0316336001600160a01b0316146129295760405163086391f760e31b8152336004820152602401610940565b5f80612933613c42565b600301546040516314d78f9760e31b81526001600160a01b039091169063a6bc7cb89061296890889088908890600401615cb3565b60408051808303815f875af1158015612983573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a79190615c86565b604080516001600160601b03891681526001600160a01b03808916602083015280881692820192909252908316606082015264ffffffffff8216608082015291935091507f519b91b3c7a09332814e208f4ff950747fd39d6aa537517322893c161f6ac9459060a0015b60405180910390a15050505050565b612a2933610844565b81612a3581601f610853565b5f612a3e613c42565b6040516301f8588560e51b81526001600160601b03861660048201529091505f9073__$dacf551d137a232f87fa09e79113e25430$__90633f0b10a090602401602060405180830381865af4158015612a99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612abd9190615d25565b9050612aca828286613ffc565b600382015460405163a71bfbb760e01b81526001600160a01b039091169063a71bfbb790612afe9088908890600401615c4e565b5f604051808303815f87803b158015612b15575f80fd5b505af1158015612b27573d5f803e3d5ffd5b5050604080516001600160601b03808a168252851660208201526001600160a01b038816918101919091527f7a2e316a9c20094b9155914cb3caab21339f9fc6d45d341144e1c2501103132892506060019050612a11565b6001546001600160a01b03166001600160a01b031663120726c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bea9190615cdd565b6001600160a01b0316336001600160a01b031614612c1c5760405162f0630960e01b8152336004820152602401610940565b50505050565b612c2b33610844565b612c33612711565b6001600160a01b0316336001600160a01b031614612c665760405163086391f760e31b8152336004820152602401610940565b5f612c796001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd89190615d25565b90505f80612ce4613c42565b60030154604051630345861d60e01b81526001600160a01b0390911690630345861d90612d179086908890600401615c4e565b60408051808303815f875af1158015612d32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d569190615c86565b604080516001600160601b03871681526001600160a01b03808916602083015284169181019190915264ffffffffff8216606082015291935091507f089233199b2878dc789e4ec6789758b5d04a0df1cd1e2f75b8e1077b0ed7806b90608001610909565b612dc3615599565b610b8f614a7f565b612dd433610844565b612ddc612711565b6001600160a01b0316336001600160a01b031614612e0f5760405163086391f760e31b8152336004820152602401610940565b5f612e226001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e819190615d25565b90505f80612e8d613c42565b60030154604051635ecf260f60e01b81526001600160601b038516600482015264ffffffffff861660248201526001600160a01b0390911690635ecf260f9060440160408051808303815f875af1158015612eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0e9190615f63565b604080516001600160601b038716815264ffffffffff808916602083015280851692820192909252908216606082015291935091507f4de81d4f6acfa293451d20e78b7ce05c2e9f676381b7e41b986c75e7ce10491c90608001610909565b5f8051602061655e833981519152546001600160a01b031690565b612f9133610844565b612f99612711565b6001600160a01b0316336001600160a01b031614610f925760405163086391f760e31b8152336004820152602401610940565b5f612fd5613c42565b546001600160a01b0316919050565b612fed33610844565b612ff5612711565b6001600160a01b0316336001600160a01b0316146130285760405163086391f760e31b8152336004820152602401610940565b6001546001600160a01b03166001600160a01b031663dfca01426040518163ffffffff1660e01b8152600401602060405180830381865afa15801561306f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130939190615cdd565b6040516308f6e75560e11b815260ff831660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa1580156130da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130fe9190615d87565b61312057604051630a95ed5b60e31b815260ff82166004820152602401610940565b5f6131336001546001600160a01b031690565b6001600160a01b031663d39e604360036040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa158015613187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ab9190615cdd565b90506001600160a01b0381166131d957604051637721f11b60e11b815260ff83166004820152602401610940565b5f6131e2613c42565b600201546001600160a01b03169050816131fa613c42565b60020180546001600160a01b0319166001600160a01b0392831617905560408051848316815260ff86166020820152918316908201527f0d3c2937ad932ccd841592977cdeb6dabbfb6fc4df9d7569f35a84f0864ac3c590606001611352565b5f61326433610844565b8361327081601f610853565b3361327c868686614b63565b5050509392505050565b5f61329033610844565b5f613299613c42565b600381015460405163d44f8a4b60e01b81526001600160601b0380891660048301526001600160a01b038881166024840152908716604483015292935091169063d44f8a4b906064016020604051808303815f875af11580156132fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133229190615d25565b91507f7e242460dd6c92d78287e1000e16b4bc99b2e4b3c6377c63c83dd83845302ec48585858560405161335994939291906160b1565b60405180910390a1509392505050565b5f61337333610844565b8261337f81601f610853565b3361338b858583614b63565b50505092915050565b5f8061339f33610844565b826133ab81601e61188f565b5f6133b4613c42565b905060015f6133c48388846144b0565b919750955090505f6133d6878761499b565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561342f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134539190615d87565b15613540575f61346b6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b038b1660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa1580156134b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134dc9190615cdd565b6002860154604051630cb9145560e41b81529192506001600160a01b03169063cb914550906135119085908590600401615c4e565b5f604051808303815f87803b158015613528575f80fd5b505af115801561353a573d5f803e3d5ffd5b50505050505b5050505050915091565b5f61355433610844565b8261356081601f610853565b6135da846135766001546001600160a01b031690565b6001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135d59190615d25565b614cd7565b15613631576135e7612711565b6001600160a01b0316336001600160a01b03161461361857604051631928390360e21b815260040160405180910390fd5b61362a8484613625612711565b614d5b565b91506136fa565b5f6136446001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03871660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613691573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136b59190615cdd565b9050336001600160a01b038216146136eb57604051635520388f60e01b81526001600160601b0386166004820152602401610940565b6136f6858583614d5b565b9250505b5092915050565b5f61370b33610844565b5f613714613c42565b600381015460405163ea48ce9b60e01b81526001600160601b0380891660048301526001600160a01b038881166024840152908716604483015292935091169063ea48ce9b906064016020604051808303815f875af1158015613779573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061379d9190615d25565b91507f4bfa3a293bec95a822b40b97aefb460cdc94363179f8636f068f2a569b0790678585858560405161335994939291906160b1565b5f6137de33610844565b836137ea81601f610853565b613800856135766001546001600160a01b031690565b1561381757613810858585614d5b565b91506138ac565b5f61382a6001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03881660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613877573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061389b9190615cdd565b90506138a8868683614d5b565b9250505b509392505050565b5f8051602061655e8339815191525f806138ec6138cf612f6d565b87306138de60045f8a8c6160e5565b6138e79161610c565b614e9a565b91509150816139aa5763ffffffff81161561398757825460ff60a01b1916600160a01b17835561391a612f6d565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161394993929190616142565b5f604051808303815f87803b158015613960575f80fd5b505af1158015613972573d5f803e3d5ffd5b5050845460ff60a01b19168555506139aa9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610940565b505050505050565b60ff8216601e03613a66576139c5613c42565b60030154604051634f9c1c0960e01b81526001600160601b03851660048201526001600160a01b0390911690634f9c1c0990602401602060405180830381865afa158015613a15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a399190615d87565b613a6157604051632ab4595b60e11b81526001600160601b0384166004820152602401610940565b613b87565b60ff8216601f03613b8757613a79613c42565b6003015f9054906101000a90046001600160a01b03166001600160a01b0316633a208dc76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613aca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613aee9190615cdd565b604051634f9c1c0960e01b81526001600160601b03851660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa158015613b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b5f9190615d87565b613b87576040516396cff01560e01b81526001600160601b0384166004820152602401610940565b80156128e0575f613ba06001546001600160a01b031690565b604051631c5da14d60e11b81526001600160601b03861660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015613bed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c119190615cdd565b9050336001600160a01b03821614612c1c57838133604051630807d41d60e41b815260040161094093929190615cb3565b7fafe8d4462b2ed26a47154f4b8f6d1497d2f772496965791d25bd456e342b7f0090565b600382015460405163085031c560e11b81526001600160601b03831660048201525f9182918291829182916001600160a01b0316906310a0638a9060240160a0604051808303815f875af1158015613cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ce49190616181565b6040516330b8415f60e01b81526001600160601b03861660048201529499509297509095509350915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015613d47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d6b9190615d87565b15613db0577f13110524751c67caee0cbeb8ea76348f571a2c277f288c11b0aa74ce5592b60d8686858585604051613da7959493929190615f7f565b60405180910390a15b9295509295909350565b5f805f8051602061653e83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015613e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e4a9190615d87565b15613e765780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610940565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015613ec8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eec9190615d87565b613f145760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610940565b6001546001600160a01b0316604051632f2a35f760e11b81526001600160a01b0385811660048301529190911690635e546bee90602401602060405180830381865afa158015613f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f8a9190615d25565b81546bffffffffffffffffffffffff19166001600160601b039190911690811782557f88857b75cbef7f257c9d5a473e28aaf6a91cc28f717f60f2cda3bcf5623d7b5490613fd6612711565b604051613fe4929190615c4e565b60405180910390a1546001600160601b031692915050565b6003830154604051635809c85d60e01b81526001600160a01b0390911690635809c85d906140309085908590600401615c4e565b6040805180830381865afa15801561404a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061406e91906161f2565b6020015160405163790a38ad60e01b815264ffffffffff909116600482015273__$f55ca14f1ddce1b88fe30d23ae45f595f4$__9063790a38ad90602401602060405180830381865af41580156140c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140eb9190615d87565b156128e0576003830154604051631170b20360e11b81526001600160a01b03909116906322e16406906141249085908590600401615c4e565b5f604051808303815f87803b15801561413b575f80fd5b505af115801561414d573d5f803e3d5ffd5b505050507e2713bc0b3137ab1236c169e5d41bf95db32cea0a163dc838d6842c6410b99a8282604051611352929190615c4e565b614189614fa2565b60405163502ec37160e01b815260040160405180910390fd5b5f6141b56001546001600160a01b031690565b6001600160a01b031663d39e6043836141cc612600565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561420f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142339190615cdd565b92915050565b614241614fa2565b5f805f838060200190518101906142589190616250565b91945092509050825f614269613c42565b9050816001600160a01b031663fff74f6c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156142a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142cb9190615d25565b600480830180546001600160601b0393909316600160a01b026001600160a01b039384161790556003830180549286166001600160a01b0319939093168317905560408051633148a11d60e11b81529051636291423a928281019260209291908290030181865afa158015614342573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143669190615cdd565b600482810180546001600160a01b03199081166001600160a01b0394851617909155835416868316178355604080516307158bc560e51b815290516144989386169263e2b178a0928082019260209290918290030181865afa1580156143ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143f29190615cdd565b83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561442f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144539190615d25565b6040805180820190915260078152665374616b696e6760c81b602082015260035f8d60405180602001604052805f81525060405180602001604052805f815250614fed565b6144a06150c9565b6117bd63667de56960e01b615273565b6003830154604051630b9a5c0360e41b81526001600160601b03841660048201525f91829182916001600160a01b03169063b9a5c03090602401602060405180830381865afa158015614505573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145299190615d87565b156145d95760038601546040516301f33ce360e21b81526001600160601b038716600482015286916001600160a01b0316906307ccf38c9060240160c060405180830381865afa15801561457f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145a3919061628f565b604090810151905163187bc0bd60e21b81526001600160601b03909216600483015264ffffffffff166024820152604401610940565b6145e38686613c66565b60038b015460408051636ac5db1960e01b815290519297505f96508695508594506001600160a01b03909116925063c271b162918b9173__$3bac17678db7ae928afa209f2f44deec9c$__91636ac5db19916004808201926020929091908290030181865af4158015614658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061467c9190615d25565b73__$3bac17678db7ae928afa209f2f44deec9c$__636ac5db196040518163ffffffff1660e01b8152600401602060405180830381865af41580156146c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146e79190615d25565b60405160e085901b6001600160e01b03191681526001600160601b03938416600482015291831660248301529091166044820152891515606482015260840160c0604051808303815f875af1158015614742573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147669190616013565b506040516330b8415f60e01b81526001600160601b0386166004820152939a5091985092955091935090915073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af41580156147cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147f09190615d87565b15614847577f769a282a7cfbc12257593717cd50bf7fdb6ba886b28ec1b701957f50186b3dfb8884614822858a61499b565b61482c858a61499b565b8860405161483e959493929190615f7f565b60405180910390a15b6040516330b8415f60e01b81526001600160601b038716600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561489d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148c19190615d87565b8061494157506040516330b8415f60e01b81526001600160601b038616600482015273__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af415801561491d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906149419190615d87565b1561498f577f4c5b57a00362e2c9f1ee30f9288b6c458c06bf1b96e03d25954638f7f10ccfa188614972888861499b565b848488604051614986959493929190615f7f565b60405180910390a15b50505093509350939050565b60405163274acb3560e01b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063274acb3590604401602060405180830381865af41580156149fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a1f9190615d25565b9392505050565b5f8051602061655e83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001611cdf565b614a87615599565b5f7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f0090506040518060600160405280825f018054614ac490615d40565b80601f0160208091040260200160405190810160405280929190818152602001828054614af090615d40565b8015614b3b5780601f10614b1257610100808354040283529160200191614b3b565b820191905f5260205f20905b815481529060010190602001808311614b1e57829003601f168201915b505050505081526020015f6001600160a01b03168152602001826002018054610cc990615d40565b5f80614b6d613c42565b600381015460405163de0eb85f60e01b81526001600160601b038089166004830152871660248201529192506001600160a01b03169063de0eb85f906044016020604051808303815f875af1158015614bc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614bec9190615d25565b6040516330b8415f60e01b81526001600160601b038616600482015290925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015614c45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614c699190615d87565b156138ac57600281015460405163f71c4cef60e01b81526001600160a01b039091169063f71c4cef90614ca29087908790600401615c4e565b5f604051808303815f87803b158015614cb9575f80fd5b505af1158015614ccb573d5f803e3d5ffd5b50505050509392505050565b60405163c4cade9d60e01b81526001600160601b038084166004830152821660248201525f9073__$94a2c899be079b00d952d0d84fffaa5c34$__9063c4cade9d90604401602060405180830381865af4158015614d37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a1f9190615d87565b5f80614d65613c42565b600381015460405163e8ce883d60e01b81526001600160601b038089166004830152871660248201529192506001600160a01b03169063e8ce883d906044016020604051808303815f875af1158015614dc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614de49190615d25565b6040516330b8415f60e01b81526001600160601b038616600482015290925073__$3bac17678db7ae928afa209f2f44deec9c$__906330b8415f90602401602060405180830381865af4158015614e3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614e619190615d87565b156138ac576002810154604051630cb9145560e41b81526001600160a01b039091169063cb91455090614ca29087908790600401615c4e565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251614f089190616339565b5f60405180830381855afa9150503d805f8114614f40576040519150601f19603f3d011682016040523d82523d5f602084013e614f45565b606091505b50915091508115614f97576040815110614f775780806020019051810190614f6d919061634f565b9094509250614f97565b6020815110614f975780806020019051810190614f949190615d87565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16614feb57604051631afcd79f60e31b815260040160405180910390fd5b565b614ff5614fa2565b85515f036150165760405163591eebf360e11b815260040160405180910390fd5b615025898989888888886152a6565b7fffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f008061505188826163cc565b5060018101805460ff19168615151790556002810161507083826163cc565b5061507b600b6141a2565b6003820180546001600160a01b0319166001600160a01b03929092169190911790556150ad634a531f3360e01b615273565b6150bd6306e9e5ff60e31b615273565b50505050505050505050565b5f6150d2613c42565b600381015460048083015460405163153d412560e31b8152600160a01b9091046001600160601b0316918101919091529192505f916001600160a01b039091169063a9ea09289060240161012060405180830381865afa158015615138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061515c9190616486565b604080820151905163790a38ad60e01b815264ffffffffff909116600482015290915073__$f55ca14f1ddce1b88fe30d23ae45f595f4$__9063790a38ad90602401602060405180830381865af41580156151b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906151dd9190615d87565b156152155760048281015460405163686c563560e11b8152600160a01b9091046001600160601b031691810191909152602401610940565b7fc849e103742be0a3f6a0ce76fbdbf4c40caa5cd6eb6bdee9c12c925cff885fa58260040160149054906101000a90046001600160601b03168260c001518360a001518460e001518560800151604051611cdf959493929190615df8565b61527b614fa2565b6152a3816001600160e01b0319165f908152602081905260409020805460ff19166001179055565b50565b6152ae614fa2565b604051632330f24760e01b81526001600160a01b038816600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90632330f24790602401602060405180830381865af4158015615304573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906153289190615d87565b6153505760405163cf6935e560e01b81526001600160a01b0388166004820152602401610940565b615359876153ed565b61536386836153fe565b5f7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016153d283826163cc565b506153e3634a531f3360e01b615273565b5050505050505050565b6153f5614fa2565b6152a381615474565b615406614fa2565b61540e615485565b615417826154cd565b6001600160a01b03811661543e5760405163f17ef42d60e01b815260040160405180910390fd5b5f8051602061653e83398151915280546001600160601b0316600160601b6001600160a01b039093169290920291909117905550565b61547c614fa2565b6152a381614a26565b61548d614fa2565b614feb6301ffc9a760e01b5f9081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b6154d5614fa2565b604051633334d16b60e01b81526001600160a01b038216600482015273__$fb599632d08395912d9d70eb2f0f93b5e2$__90633334d16b90602401602060405180830381865af415801561552b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061554f9190615d87565b6155775760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610940565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060600160405280606081526020015f6001600160a01b03168152602001606081525090565b5f602082840312156155d2575f80fd5b81356001600160e01b031981168114614a1f575f80fd5b6001600160601b03811681146152a3575f80fd5b8035615608816155e9565b919050565b6001600160a01b03811681146152a3575f80fd5b80356156088161560d565b5f806040838503121561563d575f80fd5b8235615648816155e9565b915060208301356156588161560d565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b0382511660208201526001600160601b03602083015116604082015260ff60408301511660608201525f60608301516156d9608084018215159052565b5060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e08084015261571d610100840182615663565b949350505050565b5f60208284031215615735575f80fd5b8135614a1f816155e9565b602081525f614a1f6020830184615663565b5f805f60608486031215615764575f80fd5b833561576f816155e9565b9250602084013561577f816155e9565b9150604084013561578f8161560d565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156157d1576157d161579a565b60405290565b60405160e081016001600160401b03811182821017156157d1576157d161579a565b604051601f8201601f191681016001600160401b03811182821017156158215761582161579a565b604052919050565b5f6001600160401b038211156158415761584161579a565b50601f01601f191660200190565b5f82601f83011261585e575f80fd5b813561587161586c82615829565b6157f9565b818152846020838601011115615885575f80fd5b816020850160208301375f918101602001919091529392505050565b5f602082840312156158b1575f80fd5b81356001600160401b038111156158c6575f80fd5b61571d8482850161584f565b5f80604083850312156158e3575f80fd5b82356158ee8161560d565b91506020830135615658816155e9565b60ff811681146152a3575f80fd5b8035615608816158fe565b64ffffffffff811681146152a3575f80fd5b803561560881615917565b5f805f8060808587031215615947575f80fd5b8435615952816155e9565b93506020850135615962816158fe565b9250604085013561597281615917565b915060608501356159828161560d565b939692955090935050565b5f806040838503121561599e575f80fd5b82356159a98161560d565b915060208301356001600160401b038111156159c3575f80fd5b6159cf8582860161584f565b9150509250929050565b5f80604083850312156159ea575f80fd5b82356158ee816155e9565b5f8060408385031215615a06575f80fd5b8235615a11816155e9565b9150602083013561565881615917565b5f60208284031215615a31575f80fd5b8135614a1f8161560d565b602081525f825160606020840152615a576080840182615663565b60208501516001600160a01b0316604085810191909152850151848203601f190160608601529091506136f68282615663565b5f805f60608486031215615a9c575f80fd5b8335615aa7816155e9565b92506020840135615ab78161560d565b9150604084013561578f816155e9565b5f805f60608486031215615ad9575f80fd5b8335615ae4816155e9565b9250602084013561577f8161560d565b5f805f8060808587031215615b07575f80fd5b8435615b128161560d565b93506020850135615b228161560d565b92506040850135915060608501356159828161560d565b5f60208284031215615b49575f80fd5b8135614a1f81615917565b5f80828403610140811215615b67575f80fd5b8335615b72816155e9565b9250610120601f1982011215615b86575f80fd5b50615b8f6157ae565b615b9b602085016155fd565b8152615ba9604085016155fd565b6020820152615bba60608501615929565b6040820152615bcb608085016155fd565b6060820152615bdc60a085016155fd565b6080820152615bed60c08501615929565b60a0820152615bfe60e0850161590c565b60c0820152615c106101008501615621565b60e0820152615c2261012085016155fd565b610100820152809150509250929050565b5f60208284031215615c43575f80fd5b8135614a1f816158fe565b6001600160601b039290921682526001600160a01b0316602082015260400190565b80516156088161560d565b805161560881615917565b5f8060408385031215615c97575f80fd5b8251615ca28161560d565b602084015190925061565881615917565b6001600160601b039390931683526001600160a01b03918216602084015216604082015260600190565b5f60208284031215615ced575f80fd5b8151614a1f8161560d565b5f60208284031215615d08575f80fd5b815162ffffff81168114614a1f575f80fd5b8051615608816155e9565b5f60208284031215615d35575f80fd5b8151614a1f816155e9565b600181811c90821680615d5457607f821691505b602082108103615d7257634e487b7160e01b5f52602260045260245ffd5b50919050565b80518015158114615608575f80fd5b5f60208284031215615d97575f80fd5b614a1f82615d78565b5f60208284031215615db0575f80fd5b8151614a1f81615917565b5f60208284031215615dcb575f80fd5b81516001600160401b0381168114614a1f575f80fd5b5f60208284031215615df1575f80fd5b5051919050565b6001600160601b03958616815260ff94909416602085015264ffffffffff9290921660408401526001600160a01b03166060830152909116608082015260a00190565b8051615608816158fe565b5f82601f830112615e55575f80fd5b8151615e6361586c82615829565b818152846020838601011115615e77575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215615ea3575f80fd5b81516001600160401b03811115615eb8575f80fd5b820160e08185031215615ec9575f80fd5b615ed16157d7565b615eda82615d1a565b8152615ee860208301615d1a565b6020820152615ef960408301615e3b565b6040820152615f0a60608301615d78565b6060820152615f1b60808301615c70565b6080820152615f2c60a08301615c70565b60a082015260c08201516001600160401b03811115615f49575f80fd5b615f5586828501615e46565b60c083015250949350505050565b5f8060408385031215615f74575f80fd5b8251615ca281615917565b6001600160601b03958616815293851660208501529184166040840152909216606082015264ffffffffff909116608082015260a00190565b5f805f60608486031215615fca575f80fd5b8351615fd5816155e9565b6020850151909350615fe6816155e9565b604085015190925061578f81615917565b5f8060408385031215616008575f80fd5b8251615ca2816155e9565b5f805f805f8060c08789031215616028575f80fd5b8651616033816155e9565b6020880151909650616044816155e9565b6040880151909550616055816155e9565b6060880151909450616066816155e9565b6080880151909350616077816155e9565b60a088015190925061608881615917565b809150509295509295509295565b5f602082840312156160a6575f80fd5b8151614a1f816158fe565b6001600160601b0394851681526001600160a01b039390931660208401529083166040830152909116606082015260800190565b5f80858511156160f3575f80fd5b838611156160ff575f80fd5b5050820193919092039150565b80356001600160e01b031981169060048410156136fa576001600160e01b031960049490940360031b84901b1690921692915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f805f805f60a08688031215616195575f80fd5b85516161a0816155e9565b60208701519095506161b181615917565b60408701519094506161c2816155e9565b60608701519093506161d3816155e9565b60808701519092506161e481615917565b809150509295509295909350565b5f6040828403128015616203575f80fd5b50604080519081016001600160401b03811182821017156162265761622661579a565b60405282516162348161560d565b8152602083015161624481615917565b60208201529392505050565b5f805f60608486031215616262575f80fd5b835161626d8161560d565b602085015190935061627e8161560d565b604085015190925061578f8161560d565b5f60c08284031280156162a0575f80fd5b5060405160c081016001600160401b03811182821017156162c3576162c361579a565b60405282516162d1816155e9565b815260208301516162e1816155e9565b602082015260408301516162f481615917565b60408201526060830151616307816155e9565b6060820152608083015161631a81615917565b608082015260a083015161632d81615917565b60a08201529392505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215616360575f80fd5b61636983615d78565b9150602083015163ffffffff81168114615658575f80fd5b601f8211156128e057805f5260205f20601f840160051c810160208510156163a65750805b601f840160051c820191505b818110156163c5575f81556001016163b2565b5050505050565b81516001600160401b038111156163e5576163e561579a565b6163f9816163f38454615d40565b84616381565b6020601f82116001811461642b575f83156164145750848201515b5f19600385901b1c1916600184901b1784556163c5565b5f84815260208120601f198516915b8281101561645a578785015182556020948501946001909201910161643a565b508482101561647757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f610120828403128015616498575f80fd5b506164a16157ae565b6164aa83615d1a565b81526164b860208401615d1a565b60208201526164c960408401615c7b565b60408201526164da60608401615d1a565b60608201526164eb60808401615d1a565b60808201526164fc60a08401615c7b565b60a082015261650d60c08401615e3b565b60c082015261651e60e08401615c70565b60e08201526165306101008401615d1a565b610100820152939250505056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a26469706673582212209581c7c8831fa991ebeee807c767d2cfeb2caa00ecb8c524f55afd9283c091d164736f6c634300081a0033",
|
1755
2529
|
"linkReferences": {
|
1756
|
-
"contracts/
|
1757
|
-
"
|
2530
|
+
"contracts/shared/ContractLib.sol": {
|
2531
|
+
"ContractLib": [
|
1758
2532
|
{
|
1759
2533
|
"length": 20,
|
1760
|
-
"start":
|
2534
|
+
"start": 21410
|
1761
2535
|
},
|
1762
2536
|
{
|
1763
2537
|
"length": 20,
|
1764
|
-
"start":
|
2538
|
+
"start": 21961
|
2539
|
+
}
|
2540
|
+
]
|
2541
|
+
},
|
2542
|
+
"contracts/shared/TokenHandlerDeployerLib.sol": {
|
2543
|
+
"TokenHandlerDeployerLib": [
|
2544
|
+
{
|
2545
|
+
"length": 20,
|
2546
|
+
"start": 2721
|
2547
|
+
}
|
2548
|
+
]
|
2549
|
+
},
|
2550
|
+
"contracts/type/Amount.sol": {
|
2551
|
+
"AmountLib": [
|
2552
|
+
{
|
2553
|
+
"length": 20,
|
2554
|
+
"start": 5244
|
1765
2555
|
},
|
1766
2556
|
{
|
1767
2557
|
"length": 20,
|
1768
|
-
"start":
|
2558
|
+
"start": 5908
|
1769
2559
|
},
|
1770
2560
|
{
|
1771
2561
|
"length": 20,
|
1772
|
-
"start":
|
2562
|
+
"start": 7735
|
1773
2563
|
},
|
1774
2564
|
{
|
1775
2565
|
"length": 20,
|
1776
|
-
"start":
|
1777
|
-
}
|
1778
|
-
]
|
1779
|
-
},
|
1780
|
-
"contracts/staking/TargetManagerLib.sol": {
|
1781
|
-
"TargetManagerLib": [
|
2566
|
+
"start": 7975
|
2567
|
+
},
|
1782
2568
|
{
|
1783
2569
|
"length": 20,
|
1784
|
-
"start":
|
2570
|
+
"start": 8119
|
1785
2571
|
},
|
1786
2572
|
{
|
1787
2573
|
"length": 20,
|
1788
|
-
"start":
|
2574
|
+
"start": 8436
|
1789
2575
|
},
|
1790
2576
|
{
|
1791
2577
|
"length": 20,
|
1792
|
-
"start":
|
1793
|
-
}
|
1794
|
-
]
|
1795
|
-
},
|
1796
|
-
"contracts/type/Amount.sol": {
|
1797
|
-
"AmountLib": [
|
2578
|
+
"start": 9155
|
2579
|
+
},
|
1798
2580
|
{
|
1799
2581
|
"length": 20,
|
1800
|
-
"start":
|
2582
|
+
"start": 9262
|
1801
2583
|
},
|
1802
2584
|
{
|
1803
2585
|
"length": 20,
|
1804
|
-
"start":
|
2586
|
+
"start": 9537
|
1805
2587
|
},
|
1806
2588
|
{
|
1807
2589
|
"length": 20,
|
1808
|
-
"start":
|
2590
|
+
"start": 13517
|
1809
2591
|
},
|
1810
2592
|
{
|
1811
2593
|
"length": 20,
|
1812
|
-
"start":
|
2594
|
+
"start": 15845
|
1813
2595
|
},
|
1814
2596
|
{
|
1815
2597
|
"length": 20,
|
1816
|
-
"start":
|
2598
|
+
"start": 18161
|
1817
2599
|
},
|
1818
2600
|
{
|
1819
2601
|
"length": 20,
|
1820
|
-
"start":
|
2602
|
+
"start": 18260
|
1821
2603
|
},
|
1822
2604
|
{
|
1823
2605
|
"length": 20,
|
1824
|
-
"start":
|
2606
|
+
"start": 18538
|
2607
|
+
},
|
2608
|
+
{
|
2609
|
+
"length": 20,
|
2610
|
+
"start": 18747
|
2611
|
+
},
|
2612
|
+
{
|
2613
|
+
"length": 20,
|
2614
|
+
"start": 18875
|
2615
|
+
},
|
2616
|
+
{
|
2617
|
+
"length": 20,
|
2618
|
+
"start": 19097
|
2619
|
+
},
|
2620
|
+
{
|
2621
|
+
"length": 20,
|
2622
|
+
"start": 19683
|
2623
|
+
},
|
2624
|
+
{
|
2625
|
+
"length": 20,
|
2626
|
+
"start": 20187
|
2627
|
+
}
|
2628
|
+
]
|
2629
|
+
},
|
2630
|
+
"contracts/type/Blocknumber.sol": {
|
2631
|
+
"BlocknumberLib": [
|
2632
|
+
{
|
2633
|
+
"length": 20,
|
2634
|
+
"start": 16741
|
2635
|
+
},
|
2636
|
+
{
|
2637
|
+
"length": 20,
|
2638
|
+
"start": 21079
|
2639
|
+
}
|
2640
|
+
]
|
2641
|
+
},
|
2642
|
+
"contracts/type/ChainId.sol": {
|
2643
|
+
"ChainIdLib": [
|
2644
|
+
{
|
2645
|
+
"length": 20,
|
2646
|
+
"start": 11063
|
1825
2647
|
}
|
1826
2648
|
]
|
1827
2649
|
},
|
@@ -1829,23 +2651,31 @@
|
|
1829
2651
|
"NftIdLib": [
|
1830
2652
|
{
|
1831
2653
|
"length": 20,
|
1832
|
-
"start":
|
2654
|
+
"start": 3281
|
1833
2655
|
},
|
1834
2656
|
{
|
1835
2657
|
"length": 20,
|
1836
|
-
"start":
|
2658
|
+
"start": 4022
|
1837
2659
|
},
|
1838
2660
|
{
|
1839
2661
|
"length": 20,
|
1840
|
-
"start":
|
2662
|
+
"start": 10267
|
1841
2663
|
},
|
1842
2664
|
{
|
1843
2665
|
"length": 20,
|
1844
|
-
"start":
|
2666
|
+
"start": 16068
|
1845
2667
|
},
|
1846
2668
|
{
|
1847
2669
|
"length": 20,
|
1848
|
-
"start":
|
2670
|
+
"start": 19925
|
2671
|
+
}
|
2672
|
+
]
|
2673
|
+
},
|
2674
|
+
"contracts/type/Seconds.sol": {
|
2675
|
+
"SecondsLib": [
|
2676
|
+
{
|
2677
|
+
"length": 20,
|
2678
|
+
"start": 7834
|
1849
2679
|
}
|
1850
2680
|
]
|
1851
2681
|
},
|
@@ -1853,85 +2683,139 @@
|
|
1853
2683
|
"VersionLib": [
|
1854
2684
|
{
|
1855
2685
|
"length": 20,
|
1856
|
-
"start":
|
2686
|
+
"start": 3081
|
1857
2687
|
},
|
1858
2688
|
{
|
1859
2689
|
"length": 20,
|
1860
|
-
"start":
|
2690
|
+
"start": 4825
|
2691
|
+
}
|
2692
|
+
],
|
2693
|
+
"VersionPartLib": [
|
2694
|
+
{
|
2695
|
+
"length": 20,
|
2696
|
+
"start": 9966
|
1861
2697
|
}
|
1862
2698
|
]
|
1863
2699
|
}
|
1864
2700
|
},
|
1865
2701
|
"deployedLinkReferences": {
|
1866
|
-
"contracts/
|
1867
|
-
"
|
2702
|
+
"contracts/shared/ContractLib.sol": {
|
2703
|
+
"ContractLib": [
|
2704
|
+
{
|
2705
|
+
"length": 20,
|
2706
|
+
"start": 21196
|
2707
|
+
},
|
2708
|
+
{
|
2709
|
+
"length": 20,
|
2710
|
+
"start": 21747
|
2711
|
+
}
|
2712
|
+
]
|
2713
|
+
},
|
2714
|
+
"contracts/shared/TokenHandlerDeployerLib.sol": {
|
2715
|
+
"TokenHandlerDeployerLib": [
|
2716
|
+
{
|
2717
|
+
"length": 20,
|
2718
|
+
"start": 2507
|
2719
|
+
}
|
2720
|
+
]
|
2721
|
+
},
|
2722
|
+
"contracts/type/Amount.sol": {
|
2723
|
+
"AmountLib": [
|
1868
2724
|
{
|
1869
2725
|
"length": 20,
|
1870
|
-
"start":
|
2726
|
+
"start": 5030
|
1871
2727
|
},
|
1872
2728
|
{
|
1873
2729
|
"length": 20,
|
1874
|
-
"start":
|
2730
|
+
"start": 5694
|
1875
2731
|
},
|
1876
2732
|
{
|
1877
2733
|
"length": 20,
|
1878
|
-
"start":
|
2734
|
+
"start": 7521
|
1879
2735
|
},
|
1880
2736
|
{
|
1881
2737
|
"length": 20,
|
1882
|
-
"start":
|
2738
|
+
"start": 7761
|
1883
2739
|
},
|
1884
2740
|
{
|
1885
2741
|
"length": 20,
|
1886
|
-
"start":
|
1887
|
-
}
|
1888
|
-
]
|
1889
|
-
},
|
1890
|
-
"contracts/staking/TargetManagerLib.sol": {
|
1891
|
-
"TargetManagerLib": [
|
2742
|
+
"start": 7905
|
2743
|
+
},
|
1892
2744
|
{
|
1893
2745
|
"length": 20,
|
1894
|
-
"start":
|
2746
|
+
"start": 8222
|
1895
2747
|
},
|
1896
2748
|
{
|
1897
2749
|
"length": 20,
|
1898
|
-
"start":
|
2750
|
+
"start": 8941
|
1899
2751
|
},
|
1900
2752
|
{
|
1901
2753
|
"length": 20,
|
1902
|
-
"start":
|
1903
|
-
}
|
1904
|
-
|
1905
|
-
|
1906
|
-
|
1907
|
-
|
2754
|
+
"start": 9048
|
2755
|
+
},
|
2756
|
+
{
|
2757
|
+
"length": 20,
|
2758
|
+
"start": 9323
|
2759
|
+
},
|
2760
|
+
{
|
2761
|
+
"length": 20,
|
2762
|
+
"start": 13303
|
2763
|
+
},
|
2764
|
+
{
|
2765
|
+
"length": 20,
|
2766
|
+
"start": 15631
|
2767
|
+
},
|
2768
|
+
{
|
2769
|
+
"length": 20,
|
2770
|
+
"start": 17947
|
2771
|
+
},
|
2772
|
+
{
|
2773
|
+
"length": 20,
|
2774
|
+
"start": 18046
|
2775
|
+
},
|
1908
2776
|
{
|
1909
2777
|
"length": 20,
|
1910
|
-
"start":
|
2778
|
+
"start": 18324
|
1911
2779
|
},
|
1912
2780
|
{
|
1913
2781
|
"length": 20,
|
1914
|
-
"start":
|
2782
|
+
"start": 18533
|
1915
2783
|
},
|
1916
2784
|
{
|
1917
2785
|
"length": 20,
|
1918
|
-
"start":
|
2786
|
+
"start": 18661
|
1919
2787
|
},
|
1920
2788
|
{
|
1921
2789
|
"length": 20,
|
1922
|
-
"start":
|
2790
|
+
"start": 18883
|
1923
2791
|
},
|
1924
2792
|
{
|
1925
2793
|
"length": 20,
|
1926
|
-
"start":
|
2794
|
+
"start": 19469
|
1927
2795
|
},
|
1928
2796
|
{
|
1929
2797
|
"length": 20,
|
1930
|
-
"start":
|
2798
|
+
"start": 19973
|
2799
|
+
}
|
2800
|
+
]
|
2801
|
+
},
|
2802
|
+
"contracts/type/Blocknumber.sol": {
|
2803
|
+
"BlocknumberLib": [
|
2804
|
+
{
|
2805
|
+
"length": 20,
|
2806
|
+
"start": 16527
|
1931
2807
|
},
|
1932
2808
|
{
|
1933
2809
|
"length": 20,
|
1934
|
-
"start":
|
2810
|
+
"start": 20865
|
2811
|
+
}
|
2812
|
+
]
|
2813
|
+
},
|
2814
|
+
"contracts/type/ChainId.sol": {
|
2815
|
+
"ChainIdLib": [
|
2816
|
+
{
|
2817
|
+
"length": 20,
|
2818
|
+
"start": 10849
|
1935
2819
|
}
|
1936
2820
|
]
|
1937
2821
|
},
|
@@ -1939,23 +2823,31 @@
|
|
1939
2823
|
"NftIdLib": [
|
1940
2824
|
{
|
1941
2825
|
"length": 20,
|
1942
|
-
"start":
|
2826
|
+
"start": 3067
|
1943
2827
|
},
|
1944
2828
|
{
|
1945
2829
|
"length": 20,
|
1946
|
-
"start":
|
2830
|
+
"start": 3808
|
1947
2831
|
},
|
1948
2832
|
{
|
1949
2833
|
"length": 20,
|
1950
|
-
"start":
|
2834
|
+
"start": 10053
|
1951
2835
|
},
|
1952
2836
|
{
|
1953
2837
|
"length": 20,
|
1954
|
-
"start":
|
2838
|
+
"start": 15854
|
1955
2839
|
},
|
1956
2840
|
{
|
1957
2841
|
"length": 20,
|
1958
|
-
"start":
|
2842
|
+
"start": 19711
|
2843
|
+
}
|
2844
|
+
]
|
2845
|
+
},
|
2846
|
+
"contracts/type/Seconds.sol": {
|
2847
|
+
"SecondsLib": [
|
2848
|
+
{
|
2849
|
+
"length": 20,
|
2850
|
+
"start": 7620
|
1959
2851
|
}
|
1960
2852
|
]
|
1961
2853
|
},
|
@@ -1963,11 +2855,17 @@
|
|
1963
2855
|
"VersionLib": [
|
1964
2856
|
{
|
1965
2857
|
"length": 20,
|
1966
|
-
"start":
|
2858
|
+
"start": 2867
|
1967
2859
|
},
|
1968
2860
|
{
|
1969
2861
|
"length": 20,
|
1970
|
-
"start":
|
2862
|
+
"start": 4611
|
2863
|
+
}
|
2864
|
+
],
|
2865
|
+
"VersionPartLib": [
|
2866
|
+
{
|
2867
|
+
"length": 20,
|
2868
|
+
"start": 9752
|
1971
2869
|
}
|
1972
2870
|
]
|
1973
2871
|
}
|