@decaf-ts/integrations 0.3.5 → 0.3.6
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/dist/integrations.cjs +2 -48
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -49
- package/dist/integrations.js.map +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs.map +1 -0
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/index.cjs +2 -2
- package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs.map +1 -0
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/docker/index.cjs.map +1 -0
- package/lib/cjs/graph/constants.cjs +2 -2
- package/lib/cjs/graph/constants.cjs.map +1 -0
- package/lib/cjs/graph/decorators.cjs +2 -2
- package/lib/cjs/graph/decorators.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphCycleError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphInputError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPinningError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPortError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphStoreError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +1 -0
- package/lib/cjs/graph/errors/index.cjs +2 -2
- package/lib/cjs/graph/errors/index.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +1 -0
- package/lib/cjs/graph/events/index.cjs +2 -2
- package/lib/cjs/graph/events/index.cjs.map +1 -0
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +2 -2
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +13 -5
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/execution/index.cjs +2 -2
- package/lib/cjs/graph/execution/index.cjs.map +1 -0
- package/lib/cjs/graph/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs.map +1 -0
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +2 -2
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +2 -2
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/index.cjs +2 -2
- package/lib/cjs/graph/loops/index.cjs.map +1 -0
- package/lib/cjs/graph/nodes/agent.cjs +2 -2
- package/lib/cjs/graph/nodes/agent.cjs.map +1 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +2 -2
- package/lib/cjs/graph/nodes/category-styles.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control.cjs.map +1 -0
- package/lib/cjs/graph/nodes/index.cjs +2 -2
- package/lib/cjs/graph/nodes/index.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +1 -0
- package/lib/cjs/graph/pinning/index.cjs +2 -2
- package/lib/cjs/graph/pinning/index.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
- package/lib/cjs/graph/planning/GraphTopology.cjs.map +1 -0
- package/lib/cjs/graph/planning/index.cjs +2 -2
- package/lib/cjs/graph/planning/index.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +1 -0
- package/lib/cjs/graph/registry/index.cjs +2 -2
- package/lib/cjs/graph/registry/index.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/index.cjs +2 -2
- package/lib/cjs/graph/snapshots/index.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
- package/lib/cjs/graph/store/GraphCachedValue.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueKey.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStore.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/index.cjs +2 -2
- package/lib/cjs/graph/store/index.cjs.map +1 -0
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/graph/types.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
- package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/index.cjs +2 -2
- package/lib/cjs/graph/validation/index.cjs.map +1 -0
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs.map +1 -0
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs.map +1 -0
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/kibana/types.cjs.map +1 -0
- package/lib/cjs/nest/authService.cjs +5 -2
- package/lib/cjs/nest/authService.cjs.map +1 -0
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/index.cjs.map +1 -0
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/logging.cjs.map +1 -0
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/types.cjs.map +1 -0
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/nest/utils.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs.map +1 -0
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs.map +1 -0
- package/lib/cjs/utils.cjs +2 -2
- package/lib/cjs/utils.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/azure/index.js.map +1 -0
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js.map +1 -0
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobKey.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js.map +1 -0
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/BlobValue.js.map +1 -0
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/core/index.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/gcp/index.js.map +1 -0
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/index.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/index.js +1 -1
- package/lib/esm/blob/ipfs/index.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/local/index.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/memory/index.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/blob/s3/index.js.map +1 -0
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/DockerComposeService.js.map +1 -0
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/docker/index.js.map +1 -0
- package/lib/esm/graph/constants.js +1 -1
- package/lib/esm/graph/constants.js.map +1 -0
- package/lib/esm/graph/decorators.js +1 -1
- package/lib/esm/graph/decorators.js.map +1 -0
- package/lib/esm/graph/errors/GraphCycleError.js +1 -1
- package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
- package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
- package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
- package/lib/esm/graph/errors/GraphInputError.js +1 -1
- package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
- package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
- package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPinningError.js +1 -1
- package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPortError.js +1 -1
- package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
- package/lib/esm/graph/errors/GraphStoreError.js +1 -1
- package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
- package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
- package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
- package/lib/esm/graph/errors/index.js +1 -1
- package/lib/esm/graph/errors/index.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
- package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
- package/lib/esm/graph/events/index.js +1 -1
- package/lib/esm/graph/events/index.js.map +1 -0
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +1 -1
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
- package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
- package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +12 -4
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/execution/index.js +1 -1
- package/lib/esm/graph/execution/index.js.map +1 -0
- package/lib/esm/graph/index.js +1 -1
- package/lib/esm/graph/index.js.map +1 -0
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +1 -1
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +1 -0
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +1 -1
- package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/index.js +1 -1
- package/lib/esm/graph/loops/index.js.map +1 -0
- package/lib/esm/graph/nodes/agent.js +1 -1
- package/lib/esm/graph/nodes/agent.js.map +1 -0
- package/lib/esm/graph/nodes/category-styles.js +1 -1
- package/lib/esm/graph/nodes/category-styles.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control.js +1 -1
- package/lib/esm/graph/nodes/flow-control.js.map +1 -0
- package/lib/esm/graph/nodes/index.js +1 -1
- package/lib/esm/graph/nodes/index.js.map +1 -0
- package/lib/esm/graph/nodes/triggers.js +1 -1
- package/lib/esm/graph/nodes/triggers.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
- package/lib/esm/graph/pinning/index.js +1 -1
- package/lib/esm/graph/pinning/index.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
- package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
- package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
- package/lib/esm/graph/planning/GraphTopology.js +1 -1
- package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
- package/lib/esm/graph/planning/index.js +1 -1
- package/lib/esm/graph/planning/index.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
- package/lib/esm/graph/registry/index.js +1 -1
- package/lib/esm/graph/registry/index.js.map +1 -0
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
- package/lib/esm/graph/snapshots/index.js +1 -1
- package/lib/esm/graph/snapshots/index.js.map +1 -0
- package/lib/esm/graph/store/GraphCachedValue.js +1 -1
- package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
- package/lib/esm/graph/store/GraphValueKey.js +1 -1
- package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStore.js +1 -1
- package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/index.js +1 -1
- package/lib/esm/graph/store/index.js.map +1 -0
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/graph/types.js.map +1 -0
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
- package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
- package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
- package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
- package/lib/esm/graph/validation/index.js +1 -1
- package/lib/esm/graph/validation/index.js.map +1 -0
- package/lib/esm/index.js +4 -4
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/index.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/index.js.map +1 -0
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/services/runtime.js.map +1 -0
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/keycloak/types.js.map +1 -0
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/helpers.js.map +1 -0
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/index.js.map +1 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/index.js.map +1 -0
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/services/runtime.js.map +1 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/kibana/types.js.map +1 -0
- package/lib/esm/nest/authService.js +4 -1
- package/lib/esm/nest/authService.js.map +1 -0
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/index.js.map +1 -0
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -0
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/logging.js.map +1 -0
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/types.js.map +1 -0
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/nest/utils.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/aws/index.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/azure/index.js.map +1 -0
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretName.js.map +1 -0
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js.map +1 -0
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/core/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/gcp/index.js.map +1 -0
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/index.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/Secret.js.map +1 -0
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/model/index.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/onepassword/index.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/secrets/vault/index.js.map +1 -0
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/shared/runtime.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/nest/authService.d.cts +1 -0
- package/lib/types/nest/authService.d.mts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/execution/index.cjs","sourceRoot":"","sources":["graph/execution/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,6DAA2C;AAC3C,yDAAuC;AACvC,4DAA0C;AAC1C,2DAAyC;AACzC,4DAA0C;AAC1C,4DAA0C;AAC1C,+DAA6C;AAC7C,iCAAiC"}
|
package/lib/cjs/graph/index.cjs
CHANGED
|
@@ -75,5 +75,5 @@ __exportStar(require("./pinning/GraphPinningService.cjs"), exports);
|
|
|
75
75
|
__exportStar(require("./snapshots/GraphExecutionSnapshotMapper.cjs"), exports);
|
|
76
76
|
// Production node kind declarations (TASK-228 / §22.2)
|
|
77
77
|
__exportStar(require("./nodes/index.cjs"), exports);
|
|
78
|
-
//# sourceMappingURL=
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILGlEQUErQjtBQUMvQiw2Q0FBMkI7QUFDM0Isa0RBQWdDO0FBQ2hDLGtFQUFnRDtBQUNoRCw4REFBNEM7QUFDNUMsOERBQTRDO0FBQzVDLGtFQUFnRDtBQUNoRCxnRUFBOEM7QUFDOUMsNkRBQTJDO0FBQzNDLDhEQUE0QztBQUM1QyxpRUFBK0M7QUFDL0Msa0VBQWdEO0FBQ2hELHFFQUFtRDtBQUNuRCx5RUFBdUQ7QUFDdkQseUVBQXVEO0FBQ3ZELHVFQUFxRDtBQUNyRCxtRUFBaUQ7QUFDakQscUVBQW1EO0FBQ25ELHNFQUFvRDtBQUNwRCxzRUFBb0Q7QUFDcEQsc0VBQW9EO0FBQ3BELHlFQUF1RDtBQUN2RCwwRUFBd0Q7QUFDeEQsMEVBQXdEO0FBQ3hELDJEQUF5QztBQUN6Qyw4REFBNEM7QUFDNUMsb0VBQWtEO0FBQ2xELDRFQUEwRDtBQUMxRCw2REFBMkM7QUFDM0MsdUVBQXFEO0FBQ3JELHVFQUFxRDtBQUNyRCx3RUFBc0Q7QUFDdEQsbUVBQWlEO0FBQ2pELHNFQUFvRDtBQUNwRCxzRUFBb0Q7QUFDcEQsOERBQTRDO0FBQzVDLHdCQUF3QjtBQUN4QiwyRUFBeUQ7QUFDekQsMEVBQXdEO0FBQ3hELHNFQUFvRDtBQUNwRCxtQkFBbUI7QUFDbkIscUVBQW1EO0FBQ25ELDBFQUF3RDtBQUN4RCx1RUFBcUQ7QUFDckQsc0VBQW9EO0FBQ3BELG9FQUFrRDtBQUNsRCxvRUFBa0Q7QUFDbEQseUJBQXlCO0FBQ3pCLG9FQUFrRDtBQUNsRCxrRUFBZ0Q7QUFDaEQsOEVBQTREO0FBQzVELG1FQUFpRDtBQUNqRCx1QkFBdUI7QUFDdkIsOEVBQTREO0FBQzVELHVEQUF1RDtBQUN2RCxtREFBaUM7QUFDakMsa3RLQUFrdEsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoXG4gKiBAc3VtbWFyeSBEZWNhZiBHcmFwaCBFeGVjdXRpb24gRW5naW5lLlxuICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZSBpbnRlcnByZXRlciBmb3IgRGVjYWYgZ3JhcGggd29ya2Zsb3dzLiBFeGVjdXRlcyB3b3JrZmxvd3MgZGVjbGFyZWQgd2l0aCBgQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhgLCBlbWl0cyBldmVudHMgdGhyb3VnaCBEZWNhZidzIE9ic2VydmFibGUgcGlwZWxpbmUsIHN1cHBvcnRzIHN0cnVjdHVyZWQgbG9vcHMsIGNvbmZpZ3VyYWJsZSB2YWx1ZSBzdG9yZXMsIGFuZCBwaW5uYWJsZS9jYWNoZWFibGUgbm9kZXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaEV4ZWN1dGlvbkVycm9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMvR3JhcGhDeWNsZUVycm9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMvR3JhcGhMb29wTGltaXRFcnJvci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzL0dyYXBoUGlubmluZ0Vycm9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMvR3JhcGhQb3J0RXJyb3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaFN0b3JlRXJyb3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9ycy9HcmFwaFRvcG9sb2d5RXJyb3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50cy9HcmFwaEV4ZWN1dGlvbkV2ZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudHMvR3JhcGhFeGVjdXRpb25PYnNlcnZlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXZlbnRzL0dyYXBoRXhlY3V0aW9uRXZlbnRFbWl0dGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudHMvR3JhcGhFeGVjdXRpb25FdmVudEZhY3RvcnkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkNvbnRleHQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRnJhbWUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvblJlc3VsdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uRW5naW5lLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leGVjdXRpb24vQ29kZVNhbmRib3hFdmFsdWF0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4ZWN1dGlvbi9Td2l0Y2hHcmFwaE5vZGVFeGVjdXRvci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVnaXN0cnkvR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVnaXN0cnkvR3JhcGhOb2RlRXhlY3V0b3JSZXNvbHZlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhWYWx1ZUtleS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhDYWNoZWRWYWx1ZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS9HcmFwaFZhbHVlU3RvcmUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbk5vZGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbkVkZ2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbkxheWVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW4uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYW5uaW5nL0dyYXBoUmVsYXRpb25SZXNvbHZlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFubmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFubmluZy9HcmFwaFRvcG9sb2d5LmpzXCI7XG4vLyBWYWxpZGF0aW9uIChUQVNLLTIxNSlcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb24vR3JhcGhEZWZpbml0aW9uVmFsaWRhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0aW9uL0dyYXBoUG9ydFNjaGVtYVJlc29sdmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0aW9uL0dyYXBoVmFsdWVWYWxpZGF0b3IuanNcIjtcbi8vIExvb3BzIChUQVNLLTIxNilcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb29wcy9Db25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb29wcy9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb29wcy9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL1doaWxlR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb3BzL1VudGlsR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbi8vIFBpbm5pbmcgKFRBU0stMjE3LzIxOClcbmV4cG9ydCAqIGZyb20gXCIuL3Bpbm5pbmcvR3JhcGhQaW5uaW5nTWV0YWRhdGEuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Bpbm5pbmcvR3JhcGhQaW5uaW5nUG9saWN5LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9waW5uaW5nL0dyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGlubmluZy9HcmFwaFBpbm5pbmdTZXJ2aWNlLmpzXCI7XG4vLyBTbmFwc2hvdHMgKFRBU0stMjE5KVxuZXhwb3J0ICogZnJvbSBcIi4vc25hcHNob3RzL0dyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIuanNcIjtcbi8vIFByb2R1Y3Rpb24gbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoVEFTSy0yMjggLyDCpzIyLjIpXG5leHBvcnQgKiBmcm9tIFwiLi9ub2Rlcy9pbmRleC5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmFXNWtaWGd1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3UjBGSlJ6dEJRVVZJTEN0Q1FVRTBRanRCUVVNMVFpd3lRa0ZCZDBJN1FVRkRlRUlzWjBOQlFUWkNPMEZCUlRkQ0xHZEVRVUUyUXp0QlFVTTNReXcwUTBGQmVVTTdRVUZEZWtNc05FTkJRWGxETzBGQlEzcERMR2RFUVVFMlF6dEJRVU0zUXl3NFEwRkJNa003UVVGRE0wTXNNa05CUVhkRE8wRkJRM2hETERSRFFVRjVRenRCUVVONlF5d3JRMEZCTkVNN1FVRkZOVU1zWjBSQlFUWkRPMEZCUXpkRExHMUVRVUZuUkR0QlFVTm9SQ3gxUkVGQmIwUTdRVUZEY0VRc2RVUkJRVzlFTzBGQlJYQkVMSEZFUVVGclJEdEJRVU5zUkN4cFJFRkJPRU03UVVGRE9VTXNiVVJCUVdkRU8wRkJRMmhFTEc5RVFVRnBSRHRCUVVOcVJDeHZSRUZCYVVRN1FVRkRha1FzYjBSQlFXbEVPMEZCUTJwRUxIVkVRVUZ2UkR0QlFVVndSQ3gzUkVGQmNVUTdRVUZEY2tRc2QwUkJRWEZFTzBGQlJYSkVMSGxEUVVGelF6dEJRVU4wUXl3MFEwRkJlVU03UVVGRGVrTXNhMFJCUVN0RE8wRkJReTlETERCRVFVRjFSRHRCUVVOMlJDd3lRMEZCZDBNN1FVRkZlRU1zY1VSQlFXdEVPMEZCUTJ4RUxIRkVRVUZyUkR0QlFVTnNSQ3h6UkVGQmJVUTdRVUZEYmtRc2FVUkJRVGhETzBGQlF6bERMRzlFUVVGcFJEdEJRVU5xUkN4dlJFRkJhVVE3UVVGRGFrUXNORU5CUVhsRE8wRkJSWHBETEhkQ1FVRjNRanRCUVVONFFpeDVSRUZCYzBRN1FVRkRkRVFzZDBSQlFYRkVPMEZCUTNKRUxHOUVRVUZwUkR0QlFVVnFSQ3h0UWtGQmJVSTdRVUZEYmtJc2JVUkJRV2RFTzBGQlEyaEVMSGRFUVVGeFJEdEJRVU55UkN4eFJFRkJhMFE3UVVGRGJFUXNiMFJCUVdsRU8wRkJRMnBFTEd0RVFVRXJRenRCUVVNdlF5eHJSRUZCSzBNN1FVRkZMME1zZVVKQlFYbENPMEZCUTNwQ0xHdEVRVUVyUXp0QlFVTXZReXhuUkVGQk5rTTdRVUZETjBNc05FUkJRWGxFTzBGQlEzcEVMR2xFUVVFNFF6dEJRVVU1UXl4MVFrRkJkVUk3UVVGRGRrSXNORVJCUVhsRU8wRkJSWHBFTEhWRVFVRjFSRHRCUVVOMlJDeHBRMEZCZDBJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMMmR5WVhCb1hHNGdLaUJBYzNWdGJXRnllU0JFWldOaFppQkhjbUZ3YUNCRmVHVmpkWFJwYjI0Z1JXNW5hVzVsTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZKbFptVnlaVzVqWlNCcGJuUmxjbkJ5WlhSbGNpQm1iM0lnUkdWallXWWdaM0poY0dnZ2QyOXlhMlpzYjNkekxpQkZlR1ZqZFhSbGN5QjNiM0pyWm14dmQzTWdaR1ZqYkdGeVpXUWdkMmwwYUNCZ1FHUmxZMkZtTFhSekwzVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHaGdMQ0JsYldsMGN5QmxkbVZ1ZEhNZ2RHaHliM1ZuYUNCRVpXTmhaaWR6SUU5aWMyVnlkbUZpYkdVZ2NHbHdaV3hwYm1Vc0lITjFjSEJ2Y25SeklITjBjblZqZEhWeVpXUWdiRzl2Y0hNc0lHTnZibVpwWjNWeVlXSnNaU0IyWVd4MVpTQnpkRzl5WlhNc0lHRnVaQ0J3YVc1dVlXSnNaUzlqWVdOb1pXRmliR1VnYm05a1pYTXVYRzRnS2k5Y2JseHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5MGVYQmxjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlpHVmpiM0poZEc5eWMxd2lPMXh1WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGNuSnZjbk12UjNKaGNHaEZlR1ZqZFhScGIyNUZjbkp2Y2x3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWEp5YjNKekwwZHlZWEJvUTNsamJHVkZjbkp2Y2x3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWEp5YjNKekwwZHlZWEJvU1c1d2RYUkZjbkp2Y2x3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWEp5YjNKekwwZHlZWEJvVEc5dmNFeHBiV2wwUlhKeWIzSmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDJWeWNtOXljeTlIY21Gd2FGQnBibTVwYm1kRmNuSnZjbHdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlpYSnliM0p6TDBkeVlYQm9VRzl5ZEVWeWNtOXlYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGNuSnZjbk12UjNKaGNHaFRkRzl5WlVWeWNtOXlYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGNuSnZjbk12UjNKaGNHaFViM0J2Ykc5bmVVVnljbTl5WENJN1hHNWNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMlYyWlc1MGN5OUhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGRtVnVkSE12UjNKaGNHaEZlR1ZqZFhScGIyNVBZbk5sY25abGNsd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2WlhabGJuUnpMMGR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJGYldsMGRHVnlYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGRtVnVkSE12UjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEVaaFkzUnZjbmxjSWp0Y2JseHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZEZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1RtOWtaVVY0WldOMWRHOXlYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGVHVmpkWFJwYjI0dlIzSmhjR2hGZUdWamRYUnBiMjVHY21GdFpWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2WlhobFkzVjBhVzl1TDBkeVlYQm9SWGhsWTNWMGFXOXVVbVZ6ZFd4MFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlsZUdWamRYUnBiMjR2UjNKaGNHaEZlR1ZqZFhScGIyNUZibWRwYm1WY0lqdGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMlY0WldOMWRHbHZiaTlEYjJSbFUyRnVaR0p2ZUVWMllXeDFZWFJ2Y2x3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaWGhsWTNWMGFXOXVMMU4zYVhSamFFZHlZWEJvVG05a1pVVjRaV04xZEc5eVhDSTdYRzVjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDNKbFoybHpkSEo1TDBkeVlYQm9UbTlrWlVWNFpXTjFkRzl5VW1WbmFYTjBjbmxjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwzSmxaMmx6ZEhKNUwwZHlZWEJvVG05a1pVVjRaV04xZEc5eVVtVnpiMngyWlhKY0lqdGNibHh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2YzNSdmNtVXZSM0poY0doV1lXeDFaVXRsZVZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjM1J2Y21VdlIzSmhjR2hEWVdOb1pXUldZV3gxWlZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjM1J2Y21VdlIzSmhjR2hXWVd4MVpWTjBiM0psUVdSaGNIUmxjbHdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmMzUnZjbVV2U1c1TlpXMXZjbmxIY21Gd2FGWmhiSFZsVTNSdmNtVkJaR0Z3ZEdWeVhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTl6ZEc5eVpTOUhjbUZ3YUZaaGJIVmxVM1J2Y21WY0lqdGNibHh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Y0d4aGJtNXBibWN2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VG05a1pWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Y0d4aGJtNXBibWN2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1UldSblpWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Y0d4aGJtNXBibWN2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VEdGNVpYSmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYmx3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjR3hoYm01cGJtY3ZSM0poY0doU1pXeGhkR2x2YmxKbGMyOXNkbVZ5WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOXdiR0Z1Ym1sdVp5OUhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNXVaWEpjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwzQnNZVzV1YVc1bkwwZHlZWEJvVkc5d2IyeHZaM2xjSWp0Y2JseHVMeThnVm1Gc2FXUmhkR2x2YmlBb1ZFRlRTeTB5TVRVcFhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOTJZV3hwWkdGMGFXOXVMMGR5WVhCb1JHVm1hVzVwZEdsdmJsWmhiR2xrWVhSdmNsd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2ZG1Gc2FXUmhkR2x2Ymk5SGNtRndhRkJ2Y25SVFkyaGxiV0ZTWlhOdmJIWmxjbHdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmRtRnNhV1JoZEdsdmJpOUhjbUZ3YUZaaGJIVmxWbUZzYVdSaGRHOXlYQ0k3WEc1Y2JpOHZJRXh2YjNCeklDaFVRVk5MTFRJeE5pbGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMnh2YjNCekwwZHlZWEJvUTI5dVpHbDBhVzl1UlhaaGJIVmhkRzl5WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOXNiMjl3Y3k5RGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVJYWmhiSFZoZEc5eVhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlzYjI5d2N5OUhjbUZ3YUV4dmIzQkZlR1ZqZFhScGIyNURiMjUwWlhoMFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlzYjI5d2N5OUdiM0psWVdOb1IzSmhjR2hPYjJSbFJYaGxZM1YwYjNKY0lqdGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMnh2YjNCekwxZG9hV3hsUjNKaGNHaE9iMlJsUlhobFkzVjBiM0pjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwyeHZiM0J6TDFWdWRHbHNSM0poY0doT2IyUmxSWGhsWTNWMGIzSmNJanRjYmx4dUx5OGdVR2x1Ym1sdVp5QW9WRUZUU3kweU1UY3ZNakU0S1Z4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmNHbHVibWx1Wnk5SGNtRndhRkJwYm01cGJtZE5aWFJoWkdGMFlWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Y0dsdWJtbHVaeTlIY21Gd2FGQnBibTVwYm1kUWIyeHBZM2xjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwzQnBibTVwYm1jdlIzSmhjR2hRYVc1dWFXNW5SR1Z3Wlc1a1pXNWplVkpsYzI5c2RtVnlYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5d2FXNXVhVzVuTDBkeVlYQm9VR2x1Ym1sdVoxTmxjblpwWTJWY0lqdGNibHh1THk4Z1UyNWhjSE5vYjNSeklDaFVRVk5MTFRJeE9TbGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMM051WVhCemFHOTBjeTlIY21Gd2FFVjRaV04xZEdsdmJsTnVZWEJ6YUc5MFRXRndjR1Z5WENJN1hHNWNiaTh2SUZCeWIyUjFZM1JwYjI0Z2JtOWtaU0JyYVc1a0lHUmxZMnhoY21GMGFXOXVjeUFvVkVGVFN5MHlNamdnTHlEQ3B6SXlMaklwWEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5dWIyUmxjMXdpTzF4dUlsMTkiXX0=
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
79
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/index.cjs","sourceRoot":"","sources":["graph/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,iDAA+B;AAC/B,6CAA2B;AAC3B,kDAAgC;AAChC,kEAAgD;AAChD,8DAA4C;AAC5C,8DAA4C;AAC5C,kEAAgD;AAChD,gEAA8C;AAC9C,6DAA2C;AAC3C,8DAA4C;AAC5C,iEAA+C;AAC/C,kEAAgD;AAChD,qEAAmD;AACnD,yEAAuD;AACvD,yEAAuD;AACvD,uEAAqD;AACrD,mEAAiD;AACjD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,sEAAoD;AACpD,yEAAuD;AACvD,0EAAwD;AACxD,0EAAwD;AACxD,2DAAyC;AACzC,8DAA4C;AAC5C,oEAAkD;AAClD,4EAA0D;AAC1D,6DAA2C;AAC3C,uEAAqD;AACrD,uEAAqD;AACrD,wEAAsD;AACtD,mEAAiD;AACjD,sEAAoD;AACpD,sEAAoD;AACpD,8DAA4C;AAC5C,wBAAwB;AACxB,2EAAyD;AACzD,0EAAwD;AACxD,sEAAoD;AACpD,mBAAmB;AACnB,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,oEAAkD;AAClD,yBAAyB;AACzB,oEAAkD;AAClD,kEAAgD;AAChD,8EAA4D;AAC5D,mEAAiD;AACjD,uBAAuB;AACvB,8EAA4D;AAC5D,uDAAuD;AACvD,mDAAiC;AACjC,iCAAiC"}
|
|
@@ -83,5 +83,5 @@ class ConditionExpressionEvaluator {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
exports.ConditionExpressionEvaluator = ConditionExpressionEvaluator;
|
|
86
|
-
//# sourceMappingURL=
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZGl0aW9uRXhwcmVzc2lvbkV2YWx1YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0VBQXlFO0FBQ3pFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsNEJBQTRCO0lBQ3JDOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSztRQUNoQixRQUFRLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNkLEtBQUssSUFBSTtnQkFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEYsS0FBSyxLQUFLO2dCQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RixLQUFLLElBQUk7Z0JBQ0wsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLEtBQUssS0FBSztnQkFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkcsS0FBSyxJQUFJO2dCQUNM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QUFDO1FBQzlCLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxJQUFJLElBQUk7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7WUFDckIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKO0FBckVELG9FQXFFQztBQUNELDB0U0FBMHRTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuLy4uL2Vycm9ycy9HcmFwaEV4ZWN1dGlvbkVycm9yLmpzXCI7XG4vKipcbiAqIEV2YWx1YXRlcyBhIHtAbGluayBDb25kaXRpb25FeHByZXNzaW9ufSBhZ2FpbnN0IHRoZSBnaXZlbiBzdGF0ZS5cbiAqXG4gKiBgRXhwclZhbHVlYCByZXNvbHV0aW9uOlxuICogLSBgeyBjb25zdDogeCB9YCDihpIgdGhlIGxpdGVyYWwgdmFsdWUgYHhgLlxuICogLSBgeyBwYXRoOiBcImEuYlwiIH1gIOKGkiBkb3R0ZWQtcGF0aCBsb29rdXAgaW50byBgc3RhdGVgLlxuICogLSBgeyBzdGVwOiBcIm5vZGVJZFwiLCBwYXRoOiBcIm91dFwiIH1gIOKGkiBjcm9zcy1ub2RlIHJlZmVyZW5jZTsgaW4gdjEgdGhlIHN0YXRlXG4gKiAgIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gYSBgbm9kZXNgIG1hcCBrZXllZCBieSBub2RlIGlkIChyZXNlcnZlZCBmb3IgZnV0dXJlXG4gKiAgIG11bHRpLXN0ZXAgZXZhbHVhdGlvbjsgZmFsbHMgYmFjayB0byBgc3RhdGVgIGxvb2t1cCB3aGVuIGFic2VudCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yIHtcbiAgICAvKipcbiAgICAgKiBFdmFsdWF0ZXMgYSBjb25kaXRpb24gZXhwcmVzc2lvbiB0byBhIGJvb2xlYW4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXhwciAtIFRoZSBjb25kaXRpb24gZXhwcmVzc2lvbi5cbiAgICAgKiBAcGFyYW0gc3RhdGUgLSBUaGUgY3VycmVudCBldmFsdWF0aW9uIHN0YXRlIChsb29wIHN0YXRlIG9yIGV4ZWN1dGlvbiB2YWx1ZXMpLlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBleHByZXNzaW9uIGV2YWx1YXRlcyB0byBhIHRydXRoeS9wb3NpdGl2ZSByZXN1bHQuXG4gICAgICovXG4gICAgZXZhbHVhdGUoZXhwciwgc3RhdGUpIHtcbiAgICAgICAgc3dpdGNoIChleHByLm9wKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXFcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlVmFsdWUoZXhwci5sZWZ0LCBzdGF0ZSkgPT09IHRoaXMucmVzb2x2ZVZhbHVlKGV4cHIucmlnaHQsIHN0YXRlKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZXFcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlVmFsdWUoZXhwci5sZWZ0LCBzdGF0ZSkgIT09IHRoaXMucmVzb2x2ZVZhbHVlKGV4cHIucmlnaHQsIHN0YXRlKTtcbiAgICAgICAgICAgIGNhc2UgXCJndFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5yZXNvbHZlVmFsdWUoZXhwci5sZWZ0LCBzdGF0ZSkpID4gTnVtYmVyKHRoaXMucmVzb2x2ZVZhbHVlKGV4cHIucmlnaHQsIHN0YXRlKSk7XG4gICAgICAgICAgICBjYXNlIFwiZ3RlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLnJlc29sdmVWYWx1ZShleHByLmxlZnQsIHN0YXRlKSkgPj0gTnVtYmVyKHRoaXMucmVzb2x2ZVZhbHVlKGV4cHIucmlnaHQsIHN0YXRlKSk7XG4gICAgICAgICAgICBjYXNlIFwibHRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMucmVzb2x2ZVZhbHVlKGV4cHIubGVmdCwgc3RhdGUpKSA8IE51bWJlcih0aGlzLnJlc29sdmVWYWx1ZShleHByLnJpZ2h0LCBzdGF0ZSkpO1xuICAgICAgICAgICAgY2FzZSBcImx0ZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5yZXNvbHZlVmFsdWUoZXhwci5sZWZ0LCBzdGF0ZSkpIDw9IE51bWJlcih0aGlzLnJlc29sdmVWYWx1ZShleHByLnJpZ2h0LCBzdGF0ZSkpO1xuICAgICAgICAgICAgY2FzZSBcImFuZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBleHByLmNvbmRpdGlvbnMuZXZlcnkoKGMpID0+IHRoaXMuZXZhbHVhdGUoYywgc3RhdGUpKTtcbiAgICAgICAgICAgIGNhc2UgXCJvclwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBleHByLmNvbmRpdGlvbnMuc29tZSgoYykgPT4gdGhpcy5ldmFsdWF0ZShjLCBzdGF0ZSkpO1xuICAgICAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAhdGhpcy5ldmFsdWF0ZShleHByLmNvbmRpdGlvbiwgc3RhdGUpO1xuICAgICAgICAgICAgY2FzZSBcImV4aXN0c1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVWYWx1ZShleHByLnZhbHVlLCBzdGF0ZSkgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnJlc29sdmVWYWx1ZShleHByLnZhbHVlLCBzdGF0ZSkgIT09IG51bGw7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKGBVbmtub3duIENvbmRpdGlvbkV4cHJlc3Npb24gb3AgJyR7ZXhwci5vcH0nYCwgXCJHUkFQSF9VTktOT1dOX0NPTkRJVElPTl9PUFwiLCB7IGV4cHIgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYW4ge0BsaW5rIEV4cHJWYWx1ZX0gYWdhaW5zdCB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICAgKi9cbiAgICByZXNvbHZlVmFsdWUocmVmLCBzdGF0ZSkge1xuICAgICAgICBpZiAoXCJjb25zdFwiIGluIHJlZikge1xuICAgICAgICAgICAgcmV0dXJuIHJlZi5jb25zdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXCJwYXRoXCIgaW4gcmVmICYmICEoXCJzdGVwXCIgaW4gcmVmKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVBhdGgocmVmLnBhdGgsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXCJzdGVwXCIgaW4gcmVmICYmIFwicGF0aFwiIGluIHJlZikge1xuICAgICAgICAgICAgY29uc3Qgbm9kZXMgPSBzdGF0ZT8uW1wibm9kZXNcIl07XG4gICAgICAgICAgICBpZiAobm9kZXMgJiYgdHlwZW9mIG5vZGVzID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZVN0YXRlID0gbm9kZXNbcmVmLnN0ZXBdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVQYXRoKHJlZi5wYXRoLCBub2RlU3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVBhdGgocmVmLnBhdGgsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgR3JhcGhFeGVjdXRpb25FcnJvcihcIkludmFsaWQgRXhwclZhbHVlOiBtdXN0IGhhdmUgYGNvbnN0YCwgYHBhdGhgLCBvciBgc3RlcGArYHBhdGhgXCIsIFwiR1JBUEhfSU5WQUxJRF9FWFBSX1ZBTFVFXCIsIHsgcmVmIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlcyBhIGRvdHRlZCBwYXRoIGludG8gYSB0YXJnZXQgb2JqZWN0LlxuICAgICAqL1xuICAgIHJlc29sdmVQYXRoKHBhdGgsIHRhcmdldCkge1xuICAgICAgICBpZiAoIXBhdGgpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgICAgICBsZXQgY3VycmVudCA9IHRhcmdldDtcbiAgICAgICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudCA9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjdXJyZW50ID0gY3VycmVudFtwYXJ0XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZia1YyWVd4MVlYUnZjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlzYjI5d2N5OURiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZGQkxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3d5UTBGQmMwTTdRVUZGY0VVN096czdPenM3T3p0SFFWTkhPMEZCUTBnc1RVRkJUU3hQUVVGUExEUkNRVUUwUWp0SlFVTjJRenM3T3pzN08wOUJUVWM3U1VGRFNDeFJRVUZSTEVOQlFVTXNTVUZCZVVJc1JVRkJSU3hMUVVGak8xRkJRMmhFTEZGQlFWRXNTVUZCU1N4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRMmhDTEV0QlFVc3NTVUZCU1R0blFrRkRVQ3hQUVVGUExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdXVUZEZEVZc1MwRkJTeXhMUVVGTE8yZENRVU5TTEU5QlFVOHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMFJpeExRVUZMTEVsQlFVazdaMEpCUTFBc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM0JITEV0QlFVc3NTMEZCU3p0blFrRkRVaXhQUVVGUExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGNrY3NTMEZCU3l4SlFVRkpPMmRDUVVOUUxFOUJRVThzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU53Unl4TFFVRkxMRXRCUVVzN1owSkJRMUlzVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEzSkhMRXRCUVVzc1MwRkJTenRuUWtGRFVpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXk5RUxFdEJRVXNzU1VGQlNUdG5Ra0ZEVUN4UFFVRlBMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRemxFTEV0QlFVc3NTMEZCU3p0blFrRkRVaXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFsQlF5OURMRXRCUVVzc1VVRkJVVHRuUWtGRFdDeFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3l4VFFVRlRMRWxCUVVrc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTExFbEJRVWtzUTBGQlF6dFpRVU0zUnp0blFrRkRSU3hOUVVGTkxFbEJRVWtzYlVKQlFXMUNMRU5CUXpOQ0xHMURRVUZ2UXl4SlFVRjFRaXhEUVVGRExFVkJRVVVzUjBGQlJ5eEZRVU5xUlN3MFFrRkJORUlzUlVGRE5VSXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkRWQ3hEUVVGRE8xRkJRMDRzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOTExGbEJRVmtzUTBGQlF5eEhRVUZqTEVWQlFVVXNTMEZCWXp0UlFVTnFSQ3hKUVVGSkxFOUJRVThzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTnVRaXhQUVVGUExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEYmtJc1EwRkJRenRSUVVORUxFbEJRVWtzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTTdXVUZEZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE0wTXNRMEZCUXp0UlFVTkVMRWxCUVVrc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeE5RVUZOTEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkRia01zVFVGQlRTeExRVUZMTEVkQlFVa3NTMEZCZDBNc1JVRkJSU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlEyNUZMRWxCUVVrc1MwRkJTeXhKUVVGSkxFOUJRVThzUzBGQlN5eExRVUZMTEZGQlFWRXNSVUZCUlN4RFFVRkRPMmRDUVVOMlF5eE5RVUZOTEZOQlFWTXNSMEZCU1N4TFFVRnBReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0blFrRkRMMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdXVUZETDBNc1EwRkJRenRaUVVORUxFOUJRVThzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6TkRMRU5CUVVNN1VVRkRSQ3hOUVVGTkxFbEJRVWtzYlVKQlFXMUNMRU5CUXpOQ0xHZEZRVUZuUlN4RlFVTm9SU3d3UWtGQk1FSXNSVUZETVVJc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGRFVpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMHNzVjBGQlZ5eERRVUZETEVsQlFWa3NSVUZCUlN4TlFVRmxPMUZCUXk5RExFbEJRVWtzUTBGQlF5eEpRVUZKTzFsQlFVVXNUMEZCVHl4TlFVRk5MRU5CUVVNN1VVRkRla0lzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU01UWl4SlFVRkpMRTlCUVU4c1IwRkJXU3hOUVVGTkxFTkJRVU03VVVGRE9VSXNTMEZCU3l4TlFVRk5MRWxCUVVrc1NVRkJTU3hMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU42UWl4SlFVRkpMRTlCUVU4c1NVRkJTU3hKUVVGSk8yZENRVUZGTEU5QlFVOHNVMEZCVXl4RFFVRkRPMWxCUTNSRExFOUJRVThzUjBGQlNTeFBRVUZ0UXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM1pFTEVOQlFVTTdVVUZEUkN4UFFVRlBMRTlCUVU4c1EwRkJRenRKUVVOcVFpeERRVUZETzBOQlEwWWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDJkeVlYQm9MMnh2YjNCekwwTnZibVJwZEdsdmJrVjRjSEpsYzNOcGIyNUZkbUZzZFdGMGIzSmNiaUFxSUVCemRXMXRZWEo1SUVWMllXeDFZWFJ2Y2lCbWIzSWdkR2hsSUVGTVJsSkZSQzAxSUdCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVlDQkVVMHdnS0VSRlEwRkdMVE15SU1Lbk1qSXVNeWt1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUlhaaGJIVmhkR1Z6SUdSbFkyeGhjbUYwYVhabExDQnpaWEpwWVd4cGVtRmliR1VnWTI5dVpHbDBhVzl1SUdWNGNISmxjM05wYjI1eklIZHBkR2hjYmlBcUlHQmxjV0F2WUc1bGNXQXZZR2QwWUM5Z1ozUmxZQzlnYkhSZ0wyQnNkR1ZnTDJCaGJtUmdMMkJ2Y21BdllHNXZkR0F2WUdWNGFYTjBjMkFnYjNCbGNtRjBiM0p6SUdGdVpGeHVJQ29nWUVWNGNISldZV3gxWldBZ2NtVm1aWEpsYm1ObGN5QW9ZSHRqYjI1emRIMWdMQ0JnZTNCaGRHaDlZQ3dnWUh0emRHVndMQ0J3WVhSb2ZXQXBMbHh1SUNvdlhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI0c0lFVjRjSEpXWVd4MVpTQjlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJSHNnUjNKaGNHaEZlR1ZqZFhScGIyNUZjbkp2Y2lCOUlHWnliMjBnWENJdUxpOWxjbkp2Y25NdlIzSmhjR2hGZUdWamRYUnBiMjVGY25KdmNsd2lPMXh1WEc0dktpcGNiaUFxSUVWMllXeDFZWFJsY3lCaElIdEFiR2x1YXlCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dWZTQmhaMkZwYm5OMElIUm9aU0JuYVhabGJpQnpkR0YwWlM1Y2JpQXFYRzRnS2lCZ1JYaHdjbFpoYkhWbFlDQnlaWE52YkhWMGFXOXVPbHh1SUNvZ0xTQmdleUJqYjI1emREb2dlQ0I5WUNEaWhwSWdkR2hsSUd4cGRHVnlZV3dnZG1Gc2RXVWdZSGhnTGx4dUlDb2dMU0JnZXlCd1lYUm9PaUJjSW1FdVlsd2lJSDFnSU9LR2tpQmtiM1IwWldRdGNHRjBhQ0JzYjI5cmRYQWdhVzUwYnlCZ2MzUmhkR1ZnTGx4dUlDb2dMU0JnZXlCemRHVndPaUJjSW01dlpHVkpaRndpTENCd1lYUm9PaUJjSW05MWRGd2lJSDFnSU9LR2tpQmpjbTl6Y3kxdWIyUmxJSEpsWm1WeVpXNWpaVHNnYVc0Z2RqRWdkR2hsSUhOMFlYUmxYRzRnS2lBZ0lHbHpJR1Y0Y0dWamRHVmtJSFJ2SUdOdmJuUmhhVzRnWVNCZ2JtOWtaWE5nSUcxaGNDQnJaWGxsWkNCaWVTQnViMlJsSUdsa0lDaHlaWE5sY25abFpDQm1iM0lnWm5WMGRYSmxYRzRnS2lBZ0lHMTFiSFJwTFhOMFpYQWdaWFpoYkhWaGRHbHZianNnWm1Gc2JITWdZbUZqYXlCMGJ5QmdjM1JoZEdWZ0lHeHZiMnQxY0NCM2FHVnVJR0ZpYzJWdWRDa3VYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1UlhaaGJIVmhkRzl5SUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRVYyWVd4MVlYUmxjeUJoSUdOdmJtUnBkR2x2YmlCbGVIQnlaWE56YVc5dUlIUnZJR0VnWW05dmJHVmhiaTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdWNGNISWdMU0JVYUdVZ1kyOXVaR2wwYVc5dUlHVjRjSEpsYzNOcGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCemRHRjBaU0F0SUZSb1pTQmpkWEp5Wlc1MElHVjJZV3gxWVhScGIyNGdjM1JoZEdVZ0tHeHZiM0FnYzNSaGRHVWdiM0lnWlhobFkzVjBhVzl1SUhaaGJIVmxjeWt1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJR0IwY25WbFlDQjNhR1Z1SUhSb1pTQmxlSEJ5WlhOemFXOXVJR1YyWVd4MVlYUmxjeUIwYnlCaElIUnlkWFJvZVM5d2IzTnBkR2wyWlNCeVpYTjFiSFF1WEc0Z0lDQXFMMXh1SUNCbGRtRnNkV0YwWlNobGVIQnlPaUJEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1TENCemRHRjBaVG9nZFc1cmJtOTNiaWs2SUdKdmIyeGxZVzRnZTF4dUlDQWdJSE4zYVhSamFDQW9aWGh3Y2k1dmNDa2dlMXh1SUNBZ0lDQWdZMkZ6WlNCY0ltVnhYQ0k2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxjMjlzZG1WV1lXeDFaU2hsZUhCeUxteGxablFzSUhOMFlYUmxLU0E5UFQwZ2RHaHBjeTV5WlhOdmJIWmxWbUZzZFdVb1pYaHdjaTV5YVdkb2RDd2djM1JoZEdVcE8xeHVJQ0FnSUNBZ1kyRnpaU0JjSW01bGNWd2lPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpYTnZiSFpsVm1Gc2RXVW9aWGh3Y2k1c1pXWjBMQ0J6ZEdGMFpTa2dJVDA5SUhSb2FYTXVjbVZ6YjJ4MlpWWmhiSFZsS0dWNGNISXVjbWxuYUhRc0lITjBZWFJsS1R0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0puZEZ3aU9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RuVnRZbVZ5S0hSb2FYTXVjbVZ6YjJ4MlpWWmhiSFZsS0dWNGNISXViR1ZtZEN3Z2MzUmhkR1VwS1NBK0lFNTFiV0psY2loMGFHbHpMbkpsYzI5c2RtVldZV3gxWlNobGVIQnlMbkpwWjJoMExDQnpkR0YwWlNrcE8xeHVJQ0FnSUNBZ1kyRnpaU0JjSW1kMFpWd2lPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUblZ0WW1WeUtIUm9hWE11Y21WemIyeDJaVlpoYkhWbEtHVjRjSEl1YkdWbWRDd2djM1JoZEdVcEtTQStQU0JPZFcxaVpYSW9kR2hwY3k1eVpYTnZiSFpsVm1Gc2RXVW9aWGh3Y2k1eWFXZG9kQ3dnYzNSaGRHVXBLVHRjYmlBZ0lDQWdJR05oYzJVZ1hDSnNkRndpT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVG5WdFltVnlLSFJvYVhNdWNtVnpiMngyWlZaaGJIVmxLR1Y0Y0hJdWJHVm1kQ3dnYzNSaGRHVXBLU0E4SUU1MWJXSmxjaWgwYUdsekxuSmxjMjlzZG1WV1lXeDFaU2hsZUhCeUxuSnBaMmgwTENCemRHRjBaU2twTzF4dUlDQWdJQ0FnWTJGelpTQmNJbXgwWlZ3aU9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RuVnRZbVZ5S0hSb2FYTXVjbVZ6YjJ4MlpWWmhiSFZsS0dWNGNISXViR1ZtZEN3Z2MzUmhkR1VwS1NBOFBTQk9kVzFpWlhJb2RHaHBjeTV5WlhOdmJIWmxWbUZzZFdVb1pYaHdjaTV5YVdkb2RDd2djM1JoZEdVcEtUdGNiaUFnSUNBZ0lHTmhjMlVnWENKaGJtUmNJanBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1Y0Y0hJdVkyOXVaR2wwYVc5dWN5NWxkbVZ5ZVNnb1l5a2dQVDRnZEdocGN5NWxkbUZzZFdGMFpTaGpMQ0J6ZEdGMFpTa3BPMXh1SUNBZ0lDQWdZMkZ6WlNCY0ltOXlYQ0k2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJsZUhCeUxtTnZibVJwZEdsdmJuTXVjMjl0WlNnb1l5a2dQVDRnZEdocGN5NWxkbUZzZFdGMFpTaGpMQ0J6ZEdGMFpTa3BPMXh1SUNBZ0lDQWdZMkZ6WlNCY0ltNXZkRndpT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnSVhSb2FYTXVaWFpoYkhWaGRHVW9aWGh3Y2k1amIyNWthWFJwYjI0c0lITjBZWFJsS1R0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0psZUdsemRITmNJanBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVnpiMngyWlZaaGJIVmxLR1Y0Y0hJdWRtRnNkV1VzSUhOMFlYUmxLU0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JSFJvYVhNdWNtVnpiMngyWlZaaGJIVmxLR1Y0Y0hJdWRtRnNkV1VzSUhOMFlYUmxLU0FoUFQwZ2JuVnNiRHRjYmlBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQlZibXR1YjNkdUlFTnZibVJwZEdsdmJrVjRjSEpsYzNOcGIyNGdiM0FnSnlSN0tHVjRjSElnWVhNZ2V5QnZjRG9nYzNSeWFXNW5JSDBwTG05d2ZTZGdMRnh1SUNBZ0lDQWdJQ0FnSUZ3aVIxSkJVRWhmVlU1TFRrOVhUbDlEVDA1RVNWUkpUMDVmVDFCY0lpeGNiaUFnSUNBZ0lDQWdJQ0I3SUdWNGNISWdmVnh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYTnZiSFpsY3lCaGJpQjdRR3hwYm1zZ1JYaHdjbFpoYkhWbGZTQmhaMkZwYm5OMElIUm9aU0JqZFhKeVpXNTBJSE4wWVhSbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnlaWE52YkhabFZtRnNkV1VvY21WbU9pQkZlSEJ5Vm1Gc2RXVXNJSE4wWVhSbE9pQjFibXR1YjNkdUtUb2dkVzVyYm05M2JpQjdYRzRnSUNBZ2FXWWdLRndpWTI5dWMzUmNJaUJwYmlCeVpXWXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV1l1WTI5dWMzUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGNJbkJoZEdoY0lpQnBiaUJ5WldZZ0ppWWdJU2hjSW5OMFpYQmNJaUJwYmlCeVpXWXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpYTnZiSFpsVUdGMGFDaHlaV1l1Y0dGMGFDd2djM1JoZEdVcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1hDSnpkR1Z3WENJZ2FXNGdjbVZtSUNZbUlGd2ljR0YwYUZ3aUlHbHVJSEpsWmlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYm05a1pYTWdQU0FvYzNSaGRHVWdZWE1nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNGdmQ0J1ZFd4c0tUOHVXMXdpYm05a1pYTmNJbDA3WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaWE1nSmlZZ2RIbHdaVzltSUc1dlpHVnpJRDA5UFNCY0ltOWlhbVZqZEZ3aUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1ZUZEdGMFpTQTlJQ2h1YjJSbGN5QmhjeUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBpbGJjbVZtTG5OMFpYQmRPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpYTnZiSFpsVUdGMGFDaHlaV1l1Y0dGMGFDd2dibTlrWlZOMFlYUmxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGMyOXNkbVZRWVhSb0tISmxaaTV3WVhSb0xDQnpkR0YwWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5S0Z4dUlDQWdJQ0FnWENKSmJuWmhiR2xrSUVWNGNISldZV3gxWlRvZ2JYVnpkQ0JvWVhabElHQmpiMjV6ZEdBc0lHQndZWFJvWUN3Z2IzSWdZSE4wWlhCZ0syQndZWFJvWUZ3aUxGeHVJQ0FnSUNBZ1hDSkhVa0ZRU0Y5SlRsWkJURWxFWDBWWVVGSmZWa0ZNVlVWY0lpeGNiaUFnSUNBZ0lIc2djbVZtSUgxY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjMjlzZG1WeklHRWdaRzkwZEdWa0lIQmhkR2dnYVc1MGJ5QmhJSFJoY21kbGRDQnZZbXBsWTNRdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElISmxjMjlzZG1WUVlYUm9LSEJoZEdnNklITjBjbWx1Wnl3Z2RHRnlaMlYwT2lCMWJtdHViM2R1S1RvZ2RXNXJibTkzYmlCN1hHNGdJQ0FnYVdZZ0tDRndZWFJvS1NCeVpYUjFjbTRnZEdGeVoyVjBPMXh1SUNBZ0lHTnZibk4wSUhCaGNuUnpJRDBnY0dGMGFDNXpjR3hwZENoY0lpNWNJaWs3WEc0Z0lDQWdiR1YwSUdOMWNuSmxiblE2SUhWdWEyNXZkMjRnUFNCMFlYSm5aWFE3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0J3WVhKMElHOW1JSEJoY25SektTQjdYRzRnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0E5UFNCdWRXeHNLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdZM1Z5Y21WdWRDQTlJQ2hqZFhKeVpXNTBJR0Z6SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtLVnR3WVhKMFhUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJR04xY25KbGJuUTdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
86
|
+
//# sourceMappingURL=ConditionExpressionEvaluator.js.map
|
|
87
|
+
//# sourceMappingURL=ConditionExpressionEvaluator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/ConditionExpressionEvaluator.cjs","sourceRoot":"","sources":["graph/loops/ConditionExpressionEvaluator.js"],"names":[],"mappings":"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"}
|
|
@@ -80,5 +80,5 @@ class ForeachGraphNodeExecutor {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
exports.ForeachGraphNodeExecutor = ForeachGraphNodeExecutor;
|
|
83
|
-
//# sourceMappingURL=
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFrRztBQUNsRyx1RUFBaUU7QUFDakUsK0VBQXlFO0FBQ3pFOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSx3QkFBd0I7SUFDakMsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLElBQUksbURBQW9DLENBQUM7UUFDckYsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksb0NBQWUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLDRDQUFtQixDQUFDLG9DQUFvQyxLQUFLLENBQUMsTUFBTSxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDMUcsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHNCQUFzQjtnQkFDcEQsU0FBUyxFQUFFLENBQUM7YUFDZixDQUFDLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRztnQkFDaEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixLQUFLLEVBQUUsQ0FBQzthQUNYLENBQUM7WUFDRixJQUFJLEtBQUssS0FBSyxTQUFTO2dCQUNuQixXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ25DLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRTtnQkFDckUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQzthQUM1QyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUyxFQUFFLENBQUM7YUFDZixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUc7WUFDWCxPQUFPO1lBQ1AsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQzNCLENBQUM7UUFDRixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQ25CLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELGVBQWUsQ0FBQyxPQUFPO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1lBQzFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNQLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKO0FBOURELDREQThEQztBQUNELDh2UUFBOHZRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9NQVhfRk9SRUFDSF9JVEVSQVRJT05TLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLy4uL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgR3JhcGhJbnB1dEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoSW5wdXRFcnJvci5qc1wiO1xuaW1wb3J0IHsgR3JhcGhMb29wTGltaXRFcnJvciB9IGZyb20gXCIuLy4uL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yLmpzXCI7XG4vKipcbiAqIEV4ZWN1dG9yIGZvciBgY29yZS5sb29wLmZvcmVhY2hgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBpdGVtc2A6IGFycmF5IG9mIHZhbHVlcyB0byBpdGVyYXRlIG92ZXJcbiAqIC0gYHN0YXRlP2A6IG9wdGlvbmFsIGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGByZXN1bHRzYDogYXJyYXkgb2YgYm9keSBvdXRwdXRzIChpbiBpdGVtIG9yZGVyKVxuICogLSBgc3RhdGU/YDogZmluYWwgc3RhdGVcbiAqIC0gYGl0ZXJhdGlvbnNgOiBudW1iZXIgb2YgaXRlcmF0aW9ucyBleGVjdXRlZFxuICovXG5leHBvcnQgY2xhc3MgRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yIHtcbiAgICBjb25zdHJ1Y3RvcihlbmdpbmUpIHtcbiAgICAgICAgdGhpcy5lbmdpbmUgPSBlbmdpbmU7XG4gICAgfVxuICAgIGFzeW5jIGV4ZWN1dGUoaW5wdXQsIGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4dHJhY3RNZXRhZGF0YShjb250ZXh0KTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBpbnB1dC5pdGVtcztcbiAgICAgICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9IG1ldGFkYXRhLm1heEl0ZXJhdGlvbnMgPz8gR1JBUEhfREVGQVVMVF9NQVhfRk9SRUFDSF9JVEVSQVRJT05TO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhJbnB1dEVycm9yKFwiZm9yZWFjaCBpbnB1dCAnaXRlbXMnIG11c3QgYmUgYW4gYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaExvb3BMaW1pdEVycm9yKGBmb3JlYWNoIGV4Y2VlZGVkIG1heCBpdGVyYXRpb25zICgke2l0ZW1zLmxlbmd0aH0gPiAke21heEl0ZXJhdGlvbnN9KWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1Qb3J0ID0gbWV0YWRhdGEuaXRlbVBvcnQgPz8gXCJpdGVtXCI7XG4gICAgICAgIGNvbnN0IHJlc3VsdFBvcnQgPSBtZXRhZGF0YS5yZXN1bHRQb3J0ID8/IFwicmVzdWx0XCI7XG4gICAgICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgbGV0IHN0YXRlID0gaW5wdXQuc3RhdGU7XG4gICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfU1RBUlRFRCB9KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9TVEFSVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRJbnB1dHMgPSB7XG4gICAgICAgICAgICAgICAgW2l0ZW1Qb3J0XTogaXRlbXNbaV0sXG4gICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHN0YXRlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgY2hpbGRJbnB1dHNbc3RhdGVQb3J0XSA9IHN0YXRlO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRSZXN1bHQgPSBhd2FpdCB0aGlzLmVuZ2luZS5leGVjdXRlKGJvZHlXb3JrZmxvdywgY2hpbGRJbnB1dHMsIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogY29udGV4dC5ydW5JZCxcbiAgICAgICAgICAgICAgICBwYXRoOiBbLi4uY29udGV4dC5wYXRoLCBgaXRlcmF0aW9uOiR7aX1gXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKGNoaWxkUmVzdWx0Lm91dHB1dHNbcmVzdWx0UG9ydF0pO1xuICAgICAgICAgICAgaWYgKGNoaWxkUmVzdWx0Lm91dHB1dHNbc3RhdGVQb3J0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb246IGksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0ge1xuICAgICAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgICAgIGl0ZXJhdGlvbnM6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHN0YXRlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBvdXRwdXRbc3RhdGVQb3J0XSA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbiAgICBleHRyYWN0TWV0YWRhdGEoY29udGV4dCkge1xuICAgICAgICBjb25zdCByYXcgPSBjb250ZXh0Lm5vZGUuZ3JhcGg/Lm1ldGFkYXRhPy5sb29wID8/XG4gICAgICAgICAgICBjb250ZXh0Lm1ldGFkYXRhPy5sb29wO1xuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcImZvcmVhY2ggbm9kZSBpcyBtaXNzaW5nIGxvb3AgbWV0YWRhdGFcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJhdztcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSbTl5WldGamFFZHlZWEJvVG05a1pVVjRaV04xZEc5eUxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wyeHZiM0J6TDBadmNtVmhZMmhIY21Gd2FFNXZaR1ZGZUdWamRYUnZjaTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWFFTeFBRVUZQTEVWQlFVVXNiME5CUVc5RExFVkJRVVVzZFVKQlFYVkNMRVZCUVVVc01FSkJRWEZDTzBGQlF6ZEdMRTlCUVU4c1JVRkJSU3hsUVVGbExFVkJRVVVzZFVOQlFXdERPMEZCUXpWRUxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3d5UTBGQmMwTTdRVUZGY0VVN096czdPenM3T3pzN08wZEJWMGM3UVVGRFNDeE5RVUZOTEU5QlFVOHNkMEpCUVhkQ08wbEJRMjVETEZsQlFUWkNMRTFCUVRSQ08xRkJRVFZDTEZkQlFVMHNSMEZCVGl4TlFVRk5MRU5CUVhOQ08wbEJRVWNzUTBGQlF6dEpRVVUzUkN4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVOWUxFdEJRVEpDTEVWQlF6TkNMRTlCUVRoQ08xRkJSVGxDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZETDBNc1RVRkJUU3hMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTXhRaXhOUVVGTkxHRkJRV0VzUjBGRGFrSXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1NVRkJTU3h2UTBGQmIwTXNRMEZCUXp0UlFVVnFSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRekZDTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc2QwTkJRWGRETEVOQlFVTXNRMEZCUXp0UlFVTjBSU3hEUVVGRE8xRkJRMFFzU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFN4SFFVRkhMR0ZCUVdFc1JVRkJSU3hEUVVGRE8xbEJRMnBETEUxQlFVMHNTVUZCU1N4dFFrRkJiVUlzUTBGRE0wSXNiME5CUVc5RExFdEJRVXNzUTBGQlF5eE5RVUZOTEUxQlFVMHNZVUZCWVN4SFFVRkhMRU5CUTNaRkxFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRExGRkJRVkVzU1VGQlNTeE5RVUZOTEVOQlFVTTdVVUZETjBNc1RVRkJUU3hWUVVGVkxFZEJRVWNzVVVGQlVTeERRVUZETEZWQlFWVXNTVUZCU1N4UlFVRlJMRU5CUVVNN1VVRkRia1FzVFVGQlRTeFRRVUZUTEVkQlFVY3NVVUZCVVN4RFFVRkRMRk5CUVZNc1NVRkJTU3hQUVVGUExFTkJRVU03VVVGRGFFUXNUVUZCVFN4WlFVRlpMRWRCUVVjc1VVRkJVU3hEUVVGRExFbEJRU3RDTEVOQlFVTTdVVUZGT1VRc1RVRkJUU3hQUVVGUExFZEJRV01zUlVGQlJTeERRVUZETzFGQlF6bENMRWxCUVVrc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZGZUVJc1RVRkJUU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkZia1VzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOMFF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJRMnBDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eHpRa0ZCYzBJN1owSkJRM0JFTEZOQlFWTXNSVUZCUlN4RFFVRkRPMkZCUTJJc1EwRkJReXhEUVVGRE8xbEJSVWdzVFVGQlRTeFhRVUZYTEVkQlFYbENPMmRDUVVONFF5eERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzQkNMRXRCUVVzc1JVRkJSU3hEUVVGRE8yRkJRMVFzUTBGQlF6dFpRVU5HTEVsQlFVa3NTMEZCU3l4TFFVRkxMRk5CUVZNN1owSkJRVVVzVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVWNFJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVU16UXl4WlFVRlpMRVZCUTFvc1YwRkJWeXhGUVVOWU8yZENRVU5GTEZkQlFWY3NSVUZCUlN4UFFVRlBMRU5CUVVNc1MwRkJTenRuUWtGRE1VSXNTVUZCU1N4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4RlFVRkZMRU5CUVVNN1lVRkRNVU1zUTBGRFJpeERRVUZETzFsQlJVWXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRPVU1zU1VGQlNTeFhRVUZYTEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExGTkJRVk1zUlVGQlJTeERRVUZETzJkQ1FVTnFSQ3hMUVVGTExFZEJRVWNzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVONlF5eERRVUZETzFsQlJVUXNUVUZCVFN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8yZENRVU5xUWl4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNkMEpCUVhkQ08yZENRVU4wUkN4VFFVRlRMRVZCUVVVc1EwRkJRenRoUVVOaUxFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTTdVVUZGUkN4TlFVRk5MRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnlSU3hOUVVGTkxFMUJRVTBzUjBGQmVVSTdXVUZEYmtNc1QwRkJUenRaUVVOUUxGVkJRVlVzUlVGQlJTeExRVUZMTEVOQlFVTXNUVUZCVFR0VFFVTjZRaXhEUVVGRE8xRkJRMFlzU1VGQlNTeExRVUZMTEV0QlFVc3NVMEZCVXp0WlFVRkZMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdVVUZEYmtRc1QwRkJUeXhOUVVGTkxFTkJRVU03U1VGRGFFSXNRMEZCUXp0SlFVVlBMR1ZCUVdVc1EwRkJReXhQUVVFNFFqdFJRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJTU3hQUVVGUExFTkJRVU1zU1VGQldTeERRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTVHRaUVVOd1JDeFBRVUZQTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xbEJRMVFzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4MVEwRkJkVU1zUTBGQlF5eERRVUZETzFGQlEzSkZMRU5CUVVNN1VVRkRSQ3hQUVVGUExFZEJRWGRDTEVOQlFVTTdTVUZEYkVNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXNiMjl3Y3k5R2IzSmxZV05vUjNKaGNHaE9iMlJsUlhobFkzVjBiM0pjYmlBcUlFQnpkVzF0WVhKNUlFWnZjbVZoWTJnZ2JHOXZjQ0J1YjJSbElHVjRaV04xZEc5eUxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFVjRaV04xZEdWeklHRWdZbTlrZVNCM2IzSnJabXh2ZHlCdmJtTmxJSEJsY2lCcGRHVnRJR2x1SUhSb1pTQnBibkIxZENCaGNuSmhlU3dnWTI5c2JHVmpkR2x1WnlCeVpYTjFiSFJ6SUdsdUlHOXlaR1Z5TGx4dUlDb3ZYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlIMGdabkp2YlNCY0lpNHVMMlY0WldOMWRHbHZiaTlIY21Gd2FFNXZaR1ZGZUdWamRYUnZjbHdpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FFVjRaV04xZEdsdmJrTnZiblJsZUhRZ2ZTQm1jbTl0SUZ3aUxpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZEZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZia1Z1WjJsdVpTQjlJR1p5YjIwZ1hDSXVMaTlsZUdWamRYUnBiMjR2UjNKaGNHaEZlR1ZqZFhScGIyNUZibWRwYm1WY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTXNJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1YyOXlhMlpzYjNkRVpXWnBibWwwYVc5dUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OTFhUzFrWldOdmNtRjBiM0p6TDJkeVlYQm9YQ0k3WEc1Y2JtbHRjRzl5ZENCN0lFZFNRVkJJWDBSRlJrRlZURlJmVFVGWVgwWlBVa1ZCUTBoZlNWUkZVa0ZVU1U5T1V5d2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRlI1Y0dVZ2ZTQm1jbTl0SUZ3aUxpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRWx1Y0hWMFJYSnliM0lnZlNCbWNtOXRJRndpTGk0dlpYSnliM0p6TDBkeVlYQm9TVzV3ZFhSRmNuSnZjbHdpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hNYjI5d1RHbHRhWFJGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXZSM0poY0doTWIyOXdUR2x0YVhSRmNuSnZjbHdpTzF4dVhHNHZLaXBjYmlBcUlFVjRaV04xZEc5eUlHWnZjaUJnWTI5eVpTNXNiMjl3TG1admNtVmhZMmhnSUc1dlpHVnpMbHh1SUNwY2JpQXFJRVY0Y0dWamRITWdhVzV3ZFhRNlhHNGdLaUF0SUdCcGRHVnRjMkE2SUdGeWNtRjVJRzltSUhaaGJIVmxjeUIwYnlCcGRHVnlZWFJsSUc5MlpYSmNiaUFxSUMwZ1lITjBZWFJsUDJBNklHOXdkR2x2Ym1Gc0lHbHVhWFJwWVd3Z2MzUmhkR1ZjYmlBcVhHNGdLaUJRY205a2RXTmxjeUJ2ZFhSd2RYUTZYRzRnS2lBdElHQnlaWE4xYkhSellEb2dZWEp5WVhrZ2IyWWdZbTlrZVNCdmRYUndkWFJ6SUNocGJpQnBkR1Z0SUc5eVpHVnlLVnh1SUNvZ0xTQmdjM1JoZEdVL1lEb2dabWx1WVd3Z2MzUmhkR1ZjYmlBcUlDMGdZR2wwWlhKaGRHbHZibk5nT2lCdWRXMWlaWElnYjJZZ2FYUmxjbUYwYVc5dWN5QmxlR1ZqZFhSbFpGeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSbTl5WldGamFFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlHbHRjR3hsYldWdWRITWdSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaHdjbWwyWVhSbElISmxZV1J2Ym14NUlHVnVaMmx1WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVGYm1kcGJtVXBJSHQ5WEc1Y2JpQWdZWE41Ym1NZ1pYaGxZM1YwWlNoY2JpQWdJQ0JwYm5CMWREb2dSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE1zWEc0Z0lDQWdZMjl1ZEdWNGREb2dSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwWEc0Z0lDazZJRkJ5YjIxcGMyVThSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE0rSUh0Y2JpQWdJQ0JqYjI1emRDQnRaWFJoWkdGMFlTQTlJSFJvYVhNdVpYaDBjbUZqZEUxbGRHRmtZWFJoS0dOdmJuUmxlSFFwTzF4dUlDQWdJR052Ym5OMElHbDBaVzF6SUQwZ2FXNXdkWFF1YVhSbGJYTTdYRzRnSUNBZ1kyOXVjM1FnYldGNFNYUmxjbUYwYVc5dWN5QTlYRzRnSUNBZ0lDQnRaWFJoWkdGMFlTNXRZWGhKZEdWeVlYUnBiMjV6SUQ4L0lFZFNRVkJJWDBSRlJrRlZURlJmVFVGWVgwWlBVa1ZCUTBoZlNWUkZVa0ZVU1U5T1V6dGNibHh1SUNBZ0lHbG1JQ2doUVhKeVlYa3VhWE5CY25KaGVTaHBkR1Z0Y3lrcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUVsdWNIVjBSWEp5YjNJb1hDSm1iM0psWVdOb0lHbHVjSFYwSUNkcGRHVnRjeWNnYlhWemRDQmlaU0JoYmlCaGNuSmhlVndpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dsMFpXMXpMbXhsYm1kMGFDQStJRzFoZUVsMFpYSmhkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUV4dmIzQk1hVzFwZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JnWm05eVpXRmphQ0JsZUdObFpXUmxaQ0J0WVhnZ2FYUmxjbUYwYVc5dWN5QW9KSHRwZEdWdGN5NXNaVzVuZEdoOUlENGdKSHR0WVhoSmRHVnlZWFJwYjI1emZTbGdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsMFpXMVFiM0owSUQwZ2JXVjBZV1JoZEdFdWFYUmxiVkJ2Y25RZ1B6OGdYQ0pwZEdWdFhDSTdYRzRnSUNBZ1kyOXVjM1FnY21WemRXeDBVRzl5ZENBOUlHMWxkR0ZrWVhSaExuSmxjM1ZzZEZCdmNuUWdQejhnWENKeVpYTjFiSFJjSWp0Y2JpQWdJQ0JqYjI1emRDQnpkR0YwWlZCdmNuUWdQU0J0WlhSaFpHRjBZUzV6ZEdGMFpWQnZjblFnUHo4Z1hDSnpkR0YwWlZ3aU8xeHVJQ0FnSUdOdmJuTjBJR0p2WkhsWGIzSnJabXh2ZHlBOUlHMWxkR0ZrWVhSaExtSnZaSGtnWVhNZ1IzSmhjR2hYYjNKclpteHZkMFJsWm1sdWFYUnBiMjQ3WEc1Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhSek9pQjFibXR1YjNkdVcxMGdQU0JiWFR0Y2JpQWdJQ0JzWlhRZ2MzUmhkR1VnUFNCcGJuQjFkQzV6ZEdGMFpUdGNibHh1SUNBZ0lHRjNZV2wwSUdOdmJuUmxlSFF1WlcxcGRDaDdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZVMVJCVWxSRlJDQjlLVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVhSbGJYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlNWUkZVa0ZVU1U5T1gxTlVRVkpVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJqb2dhU3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0JqYUdsc1pFbHVjSFYwY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTWdQU0I3WEc0Z0lDQWdJQ0FnSUZ0cGRHVnRVRzl5ZEYwNklHbDBaVzF6VzJsZExGeHVJQ0FnSUNBZ0lDQnBibVJsZURvZ2FTeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ0lDQnBaaUFvYzNSaGRHVWdJVDA5SUhWdVpHVm1hVzVsWkNrZ1kyaHBiR1JKYm5CMWRITmJjM1JoZEdWUWIzSjBYU0E5SUhOMFlYUmxPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQmphR2xzWkZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVpXNW5hVzVsTG1WNFpXTjFkR1VvWEc0Z0lDQWdJQ0FnSUdKdlpIbFhiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdZMmhwYkdSSmJuQjFkSE1zWEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQndZWEpsYm5SU2RXNUpaRG9nWTI5dWRHVjRkQzV5ZFc1SlpDeGNiaUFnSUNBZ0lDQWdJQ0J3WVhSb09pQmJMaTR1WTI5dWRHVjRkQzV3WVhSb0xDQmdhWFJsY21GMGFXOXVPaVI3YVgxZ1hTeGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdLVHRjYmx4dUlDQWdJQ0FnY21WemRXeDBjeTV3ZFhOb0tHTm9hV3hrVW1WemRXeDBMbTkxZEhCMWRITmJjbVZ6ZFd4MFVHOXlkRjBwTzF4dUlDQWdJQ0FnYVdZZ0tHTm9hV3hrVW1WemRXeDBMbTkxZEhCMWRITmJjM1JoZEdWUWIzSjBYU0FoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJSE4wWVhSbElEMGdZMmhwYkdSU1pYTjFiSFF1YjNWMGNIVjBjMXR6ZEdGMFpWQnZjblJkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwbFVSVkpCVkVsUFRsOURUMDFRVEVWVVJVUXNYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHbHZiam9nYVN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlEwOU5VRXhGVkVWRUlIMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2IzVjBjSFYwT2lCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN5QTlJSHRjYmlBZ0lDQWdJSEpsYzNWc2RITXNYRzRnSUNBZ0lDQnBkR1Z5WVhScGIyNXpPaUJwZEdWdGN5NXNaVzVuZEdnc1hHNGdJQ0FnZlR0Y2JpQWdJQ0JwWmlBb2MzUmhkR1VnSVQwOUlIVnVaR1ZtYVc1bFpDa2diM1YwY0hWMFczTjBZWFJsVUc5eWRGMGdQU0J6ZEdGMFpUdGNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JsZUhSeVlXTjBUV1YwWVdSaGRHRW9ZMjl1ZEdWNGREb2dSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwS1RvZ1IzSmhjR2hNYjI5d1RXVjBZV1JoZEdFZ2UxeHVJQ0FnSUdOdmJuTjBJSEpoZHlBOUlDaGpiMjUwWlhoMExtNXZaR1VnWVhNZ1lXNTVLUzVuY21Gd2FEOHViV1YwWVdSaGRHRS9MbXh2YjNBZ1B6OWNiaUFnSUNBZ0lDaGpiMjUwWlhoMExtMWxkR0ZrWVhSaElHRnpJR0Z1ZVNrL0xteHZiM0E3WEc0Z0lDQWdhV1lnS0NGeVlYY3BJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFbHVjSFYwUlhKeWIzSW9YQ0ptYjNKbFlXTm9JRzV2WkdVZ2FYTWdiV2x6YzJsdVp5QnNiMjl3SUcxbGRHRmtZWFJoWENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbUYzSUdGeklFZHlZWEJvVEc5dmNFMWxkR0ZrWVhSaE8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
83
|
+
//# sourceMappingURL=ForeachGraphNodeExecutor.js.map
|
|
84
|
+
//# sourceMappingURL=ForeachGraphNodeExecutor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/ForeachGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/loops/ForeachGraphNodeExecutor.js"],"names":[],"mappings":"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"}
|
|
@@ -81,5 +81,5 @@ class GraphConditionEvaluator {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
exports.GraphConditionEvaluator = GraphConditionEvaluator;
|
|
84
|
-
//# sourceMappingURL=
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaENvbmRpdGlvbkV2YWx1YXRvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBdUQ7QUFDdkQsK0VBQXlFO0FBQ3pFLHVGQUFpRjtBQUNqRjs7O0dBR0c7QUFDSCxNQUFhLHVCQUF1QjtJQUNoQztRQUNJLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLDhEQUE0QixFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUNEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLO1FBQ3JCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxpQ0FBa0IsQ0FBQyxNQUFNO2dCQUMxQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsS0FBSyxpQ0FBa0IsQ0FBQyxLQUFLO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEtBQUssaUNBQWtCLENBQUMsTUFBTTtnQkFDMUIsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQzFCLEtBQUssaUNBQWtCLENBQUMsVUFBVTtnQkFDOUIsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQzFCLEtBQUssaUNBQWtCLENBQUMsWUFBWTtnQkFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLEtBQUssaUNBQWtCLENBQUMscUJBQXFCO2dCQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsS0FBSyxpQ0FBa0IsQ0FBQyxTQUFTO2dCQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsS0FBSyxpQ0FBa0IsQ0FBQyxrQkFBa0I7Z0JBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxLQUFLLGlDQUFrQixDQUFDLE1BQU07Z0JBQzFCLE9BQU8sSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQy9DLEtBQUssaUNBQWtCLENBQUMsTUFBTTtnQkFDMUIsTUFBTSxJQUFJLDRDQUFtQixDQUFDLHFEQUFxRCxFQUFFLG9DQUFvQyxDQUFDLENBQUM7WUFDL0g7Z0JBQ0ksTUFBTSxJQUFJLDRDQUFtQixDQUFDLDJCQUEyQixTQUFTLENBQUMsSUFBSSxHQUFHLEVBQUUsOEJBQThCLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25JLENBQUM7SUFDTCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDcEIsSUFBSSxDQUFDLElBQUk7WUFDTCxPQUFPLEtBQUssQ0FBQztRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxJQUFJLElBQUk7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7WUFDckIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsU0FBUztRQUMzQixPQUFPLE9BQU8sU0FBUyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBdkVELDBEQXVFQztBQUNELGt5UEFBa3lQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhDb25kaXRpb25UeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3IuanNcIjtcbmltcG9ydCB7IENvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3IgfSBmcm9tIFwiLi9Db25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yLmpzXCI7XG4vKipcbiAqIEV2YWx1YXRlcyBsb29wIGNvbmRpdGlvbnMgdXNpbmcgYnVpbHQtaW4gY29tcGFyaXNvbiB0eXBlcyBvciB0aGVcbiAqIGBDb25kaXRpb25FeHByZXNzaW9uYCBEU0wuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbkV2YWx1YXRvciA9IG5ldyBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV2YWx1YXRlcyBhIGNvbmRpdGlvbiBhZ2FpbnN0IHRoZSBnaXZlbiBzdGF0ZS5cbiAgICAgKlxuICAgICAqIFdoZW4gdGhlIGNvbmRpdGlvbiBvYmplY3QgY2FycmllcyBhbiBgb3BgIGZpZWxkLCBpdCBpcyB0cmVhdGVkIGFzIGFcbiAgICAgKiBgQ29uZGl0aW9uRXhwcmVzc2lvbmAgKMKnMjIuMykgYW5kIGRpc3BhdGNoZWQgdG8gdGhlXG4gICAgICoge0BsaW5rIENvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3J9LiBPdGhlcndpc2UgdGhlIGJ1aWx0LWluIGB0eXBlYC1iYXNlZFxuICAgICAqIHN3aXRjaCBpcyB1c2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmRpdGlvbiAtIFRoZSBjb25kaXRpb24gZGVmaW5pdGlvbi5cbiAgICAgKiBAcGFyYW0gc3RhdGUgLSBUaGUgY3VycmVudCBsb29wIHN0YXRlLlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBjb25kaXRpb24gcGFzc2VzLlxuICAgICAqL1xuICAgIGV2YWx1YXRlKGNvbmRpdGlvbiwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb25kaXRpb25FeHByZXNzaW9uKGNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3IuZXZhbHVhdGUoY29uZGl0aW9uLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVmdCA9IHRoaXMucmVzb2x2ZVZhbHVlKGNvbmRpdGlvbi5sZWZ0LCBzdGF0ZSk7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gY29uZGl0aW9uLnJpZ2h0O1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5UUlVUSFk6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbGVmdDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkZBTFNZOlxuICAgICAgICAgICAgICAgIHJldHVybiAhbGVmdDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkVRVUFMUzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5OT1RfRVFVQUxTOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0ICE9PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID4gTnVtYmVyKHJpZ2h0KTtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID49IE51bWJlcihyaWdodCk7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5MRVNTX1RIQU46XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8IE51bWJlcihyaWdodCk7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5MRVNTX1RIQU5fT1JfRVFVQUw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8PSBOdW1iZXIocmlnaHQpO1xuICAgICAgICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRVhJU1RTOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0ICE9PSB1bmRlZmluZWQgJiYgbGVmdCAhPT0gbnVsbDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkNVU1RPTTpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhFeGVjdXRpb25FcnJvcihcIkN1c3RvbSBjb25kaXRpb24gZXZhbHVhdG9ycyBhcmUgbm90IHN1cHBvcnRlZCBpbiB2MVwiLCBcIkdSQVBIX0NVU1RPTV9DT05ESVRJT05fVU5TVVBQT1JURURcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKGBVbmtub3duIGNvbmRpdGlvbiB0eXBlICcke2NvbmRpdGlvbi50eXBlfSdgLCBcIkdSQVBIX1VOS05PV05fQ09ORElUSU9OX1RZUEVcIiwgeyBjb25kaXRpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSB2YWx1ZSB0aGF0IG1heSBiZSBhIGRvdHRlZCBwYXRoIGludG8gdGhlIHN0YXRlIG9iamVjdC5cbiAgICAgKi9cbiAgICByZXNvbHZlVmFsdWUocGF0aCwgc3RhdGUpIHtcbiAgICAgICAgaWYgKCFwYXRoKVxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgICAgICBsZXQgY3VycmVudCA9IHN0YXRlO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZXRlY3RzIHdoZXRoZXIgYSBjb25kaXRpb24gb2JqZWN0IGlzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gICjCpzIyLjMpIGJ5XG4gICAgICogY2hlY2tpbmcgZm9yIHRoZSBwcmVzZW5jZSBvZiBhbiBgb3BgIGZpZWxkLiBXaGVuIHRydWUsIHRoZSBvYmplY3QgaXNcbiAgICAgKiB0cmVhdGVkIGFzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gIGFuZCBkaXNwYXRjaGVkIHRvIHRoZVxuICAgICAqIHtAbGluayBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yfS5cbiAgICAgKi9cbiAgICBpc0NvbmRpdGlvbkV4cHJlc3Npb24oY29uZGl0aW9uKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgY29uZGl0aW9uLm9wID09PSBcInN0cmluZ1wiO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hEYjI1a2FYUnBiMjVGZG1Gc2RXRjBiM0l1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ykc5dmNITXZSM0poY0doRGIyNWthWFJwYjI1RmRtRnNkV0YwYjNJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJVVUVzVDBGQlR5eEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxEQkNRVUZ4UWp0QlFVTnNSQ3hQUVVGUExFVkJRVVVzYlVKQlFXMUNMRVZCUVVVc01rTkJRWE5ETzBGQlEzQkZMRTlCUVU4c1JVRkJSU3cwUWtGQk5FSXNSVUZCUlN3d1EwRkJkVU03UVVGRk9VVTdPenRIUVVkSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEhWQ1FVRjFRanRKUVVGd1F6dFJRVU50UWl4M1FrRkJiVUlzUjBGQlJ5eEpRVUZKTERSQ1FVRTBRaXhGUVVGRkxFTkJRVU03U1VFNFJUVkZMRU5CUVVNN1NVRTFSVU03T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4UlFVRlJMRU5CUVVNc1UwRkJlVVFzUlVGQlJTeExRVUZqTzFGQlEyaEdMRWxCUVVrc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRE1VTXNUMEZCVHl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMUZCUlVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEzUkVMRTFCUVUwc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZGT1VJc1VVRkJVU3hUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZEZGtJc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4TlFVRk5PMmRDUVVNMVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRhRUlzUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTE8yZENRVU16UWl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8xbEJRMllzUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4UFFVRlBMRWxCUVVrc1MwRkJTeXhMUVVGTExFTkJRVU03V1VGRGVFSXNTMEZCU3l4clFrRkJhMElzUTBGQlF5eFZRVUZWTzJkQ1FVTm9ReXhQUVVGUExFbEJRVWtzUzBGQlN5eExRVUZMTEVOQlFVTTdXVUZEZUVJc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4WlFVRlpPMmRDUVVOc1F5eFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdXVUZEZEVNc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4eFFrRkJjVUk3WjBKQlF6TkRMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMlF5eExRVUZMTEd0Q1FVRnJRaXhEUVVGRExGTkJRVk03WjBKQlF5OUNMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMFF5eExRVUZMTEd0Q1FVRnJRaXhEUVVGRExHdENRVUZyUWp0blFrRkRlRU1zVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlEzWkRMRXRCUVVzc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFR0blFrRkROVUlzVDBGQlR5eEpRVUZKTEV0QlFVc3NVMEZCVXl4SlFVRkpMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03V1VGRE4wTXNTMEZCU3l4clFrRkJhMElzUTBGQlF5eE5RVUZOTzJkQ1FVTTFRaXhOUVVGTkxFbEJRVWtzYlVKQlFXMUNMRU5CUXpOQ0xIRkVRVUZ4UkN4RlFVTnlSQ3h2UTBGQmIwTXNRMEZEY2tNc1EwRkJRenRaUVVOS08yZENRVU5GTEUxQlFVMHNTVUZCU1N4dFFrRkJiVUlzUTBGRE0wSXNNa0pCUVRKQ0xGTkJRVk1zUTBGQlF5eEpRVUZKTEVkQlFVY3NSVUZETlVNc09FSkJRVGhDTEVWQlF6bENMRVZCUVVVc1UwRkJVeXhGUVVGRkxFTkJRMlFzUTBGQlF6dFJRVU5PTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eFpRVUZaTEVOQlFVTXNTVUZCZDBJc1JVRkJSU3hMUVVGak8xRkJRek5FTEVsQlFVa3NRMEZCUXl4SlFVRkpPMWxCUVVVc1QwRkJUeXhMUVVGTExFTkJRVU03VVVGRGVFSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTTVRaXhKUVVGSkxFOUJRVThzUjBGQldTeExRVUZMTEVOQlFVTTdVVUZETjBJc1MwRkJTeXhOUVVGTkxFbEJRVWtzU1VGQlNTeExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTjZRaXhKUVVGSkxFOUJRVThzU1VGQlNTeEpRVUZKTzJkQ1FVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8xbEJRM1JETEU5QlFVOHNSMEZCU1N4UFFVRnRReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzWkVMRU5CUVVNN1VVRkRSQ3hQUVVGUExFOUJRVThzUTBGQlF6dEpRVU5xUWl4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTeXh4UWtGQmNVSXNRMEZCUXl4VFFVRjVSRHRSUVVOeVJpeFBRVUZQTEU5QlFWRXNVMEZCZDBNc1EwRkJReXhGUVVGRkxFdEJRVXNzVVVGQlVTeERRVUZETzBsQlF6RkZMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Ykc5dmNITXZSM0poY0doRGIyNWthWFJwYjI1RmRtRnNkV0YwYjNKY2JpQXFJRUJ6ZFcxdFlYSjVJRVYyWVd4MVlYUnZjaUJtYjNJZ1luVnBiSFF0YVc0Z2JHOXZjQ0JqYjI1a2FYUnBiMjRnZEhsd1pYTWdZVzVrSUhSb1pTQmdRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZibUFnUkZOTUxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGTjFjSEJ2Y25SeklITmhabVVzSUdKMWFXeDBMV2x1SUdOdmJtUnBkR2x2YmlCMGVYQmxjeUJ2Ym14NUxpQkViMlZ6SUU1UFZDQmxkbUZzZFdGMFpTQmhjbUpwZEhKaGNua2dTbUYyWVZOamNtbHdkQ0JsZUhCeVpYTnphVzl1Y3k1Y2JpQXFJRmRvWlc0Z2RHaGxJR052Ym1ScGRHbHZiaUJ2WW1wbFkzUWdZMkZ5Y21sbGN5QmhiaUJnYjNCZ0lHWnBaV3hrSUNoQlRFWlNSVVF0TlNEQ3B6Z2dMeUJFUlVOQlJpMHpNaURDcHpJeUxqTXBMQ0JrYVhOd1lYUmphR1Z6SUhSdklIUm9aVnh1SUNvZ2UwQnNhVzVySUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI1RmRtRnNkV0YwYjNKOUlHbHVjM1JsWVdRZ2IyWWdkR2hsSUdKMWFXeDBMV2x1SUdCMGVYQmxZQzFpWVhObFpDQnpkMmwwWTJndVhHNGdLaTljYm1sdGNHOXlkQ0IwZVhCbElIc2dRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZiaXdnUjNKaGNHaERiMjVrYVhScGIyNUVaV1pwYm1sMGFXOXVJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRU52Ym1ScGRHbHZibFI1Y0dVZ2ZTQm1jbTl0SUZ3aUxpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRVY0WldOMWRHbHZia1Z5Y205eUlIMGdabkp2YlNCY0lpNHVMMlZ5Y205eWN5OUhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVJYWmhiSFZoZEc5eUlIMGdabkp2YlNCY0lpNHZRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZia1YyWVd4MVlYUnZjbHdpTzF4dVhHNHZLaXBjYmlBcUlFVjJZV3gxWVhSbGN5QnNiMjl3SUdOdmJtUnBkR2x2Ym5NZ2RYTnBibWNnWW5WcGJIUXRhVzRnWTI5dGNHRnlhWE52YmlCMGVYQmxjeUJ2Y2lCMGFHVmNiaUFxSUdCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVlDQkVVMHd1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCSGNtRndhRU52Ym1ScGRHbHZia1YyWVd4MVlYUnZjaUI3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1pYaHdjbVZ6YzJsdmJrVjJZV3gxWVhSdmNpQTlJRzVsZHlCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVJYWmhiSFZoZEc5eUtDazdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVjJZV3gxWVhSbGN5QmhJR052Ym1ScGRHbHZiaUJoWjJGcGJuTjBJSFJvWlNCbmFYWmxiaUJ6ZEdGMFpTNWNiaUFnSUNwY2JpQWdJQ29nVjJobGJpQjBhR1VnWTI5dVpHbDBhVzl1SUc5aWFtVmpkQ0JqWVhKeWFXVnpJR0Z1SUdCdmNHQWdabWxsYkdRc0lHbDBJR2x6SUhSeVpXRjBaV1FnWVhNZ1lWeHVJQ0FnS2lCZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJtQWdLTUtuTWpJdU15a2dZVzVrSUdScGMzQmhkR05vWldRZ2RHOGdkR2hsWEc0Z0lDQXFJSHRBYkdsdWF5QkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlmUzRnVDNSb1pYSjNhWE5sSUhSb1pTQmlkV2xzZEMxcGJpQmdkSGx3WldBdFltRnpaV1JjYmlBZ0lDb2djM2RwZEdOb0lHbHpJSFZ6WldRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmpiMjVrYVhScGIyNGdMU0JVYUdVZ1kyOXVaR2wwYVc5dUlHUmxabWx1YVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCemRHRjBaU0F0SUZSb1pTQmpkWEp5Wlc1MElHeHZiM0FnYzNSaGRHVXVYRzRnSUNBcUlFQnlaWFIxY201eklHQjBjblZsWUNCM2FHVnVJSFJvWlNCamIyNWthWFJwYjI0Z2NHRnpjMlZ6TGx4dUlDQWdLaTljYmlBZ1pYWmhiSFZoZEdVb1kyOXVaR2wwYVc5dU9pQkhjbUZ3YUVOdmJtUnBkR2x2YmtSbFptbHVhWFJwYjI0Z2ZDQkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVMQ0J6ZEdGMFpUb2dkVzVyYm05M2JpazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZiaWhqYjI1a2FYUnBiMjRwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWxlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlMbVYyWVd4MVlYUmxLR052Ym1ScGRHbHZiaXdnYzNSaGRHVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUd4bFpuUWdQU0IwYUdsekxuSmxjMjlzZG1WV1lXeDFaU2hqYjI1a2FYUnBiMjR1YkdWbWRDd2djM1JoZEdVcE8xeHVJQ0FnSUdOdmJuTjBJSEpwWjJoMElEMGdZMjl1WkdsMGFXOXVMbkpwWjJoME8xeHVYRzRnSUNBZ2MzZHBkR05vSUNoamIyNWthWFJwYjI0dWRIbHdaU2tnZTF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVWRkpWVkVoWk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0lTRnNaV1owTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSa0ZNVTFrNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBaGJHVm1kRHRjYmlBZ0lDQWdJR05oYzJVZ1IzSmhjR2hEYjI1a2FYUnBiMjVVZVhCbExrVlJWVUZNVXpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUd4bFpuUWdQVDA5SUhKcFoyaDBPMXh1SUNBZ0lDQWdZMkZ6WlNCSGNtRndhRU52Ym1ScGRHbHZibFI1Y0dVdVRrOVVYMFZSVlVGTVV6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGxablFnSVQwOUlISnBaMmgwTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSMUpGUVZSRlVsOVVTRUZPT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVG5WdFltVnlLR3hsWm5RcElENGdUblZ0WW1WeUtISnBaMmgwS1R0Y2JpQWdJQ0FnSUdOaGMyVWdSM0poY0doRGIyNWthWFJwYjI1VWVYQmxMa2RTUlVGVVJWSmZWRWhCVGw5UFVsOUZVVlZCVERwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUU1MWJXSmxjaWhzWldaMEtTQStQU0JPZFcxaVpYSW9jbWxuYUhRcE8xeHVJQ0FnSUNBZ1kyRnpaU0JIY21Gd2FFTnZibVJwZEdsdmJsUjVjR1V1VEVWVFUxOVVTRUZPT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVG5WdFltVnlLR3hsWm5RcElEd2dUblZ0WW1WeUtISnBaMmgwS1R0Y2JpQWdJQ0FnSUdOaGMyVWdSM0poY0doRGIyNWthWFJwYjI1VWVYQmxMa3hGVTFOZlZFaEJUbDlQVWw5RlVWVkJURHBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTUxYldKbGNpaHNaV1owS1NBOFBTQk9kVzFpWlhJb2NtbG5hSFFwTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSVmhKVTFSVE9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JHVm1kQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR3hsWm5RZ0lUMDlJRzUxYkd3N1hHNGdJQ0FnSUNCallYTmxJRWR5WVhCb1EyOXVaR2wwYVc5dVZIbHdaUzVEVlZOVVQwMDZYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lGd2lRM1Z6ZEc5dElHTnZibVJwZEdsdmJpQmxkbUZzZFdGMGIzSnpJR0Z5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtJR2x1SUhZeFhDSXNYRzRnSUNBZ0lDQWdJQ0FnWENKSFVrRlFTRjlEVlZOVVQwMWZRMDlPUkVsVVNVOU9YMVZPVTFWUVVFOVNWRVZFWENKY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUdCVmJtdHViM2R1SUdOdmJtUnBkR2x2YmlCMGVYQmxJQ2NrZTJOdmJtUnBkR2x2Ymk1MGVYQmxmU2RnTEZ4dUlDQWdJQ0FnSUNBZ0lGd2lSMUpCVUVoZlZVNUxUazlYVGw5RFQwNUVTVlJKVDA1ZlZGbFFSVndpTEZ4dUlDQWdJQ0FnSUNBZ0lIc2dZMjl1WkdsMGFXOXVJSDFjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVnpiMngyWlhNZ1lTQjJZV3gxWlNCMGFHRjBJRzFoZVNCaVpTQmhJR1J2ZEhSbFpDQndZWFJvSUdsdWRHOGdkR2hsSUhOMFlYUmxJRzlpYW1WamRDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdjbVZ6YjJ4MlpWWmhiSFZsS0hCaGRHZzZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3dnYzNSaGRHVTZJSFZ1YTI1dmQyNHBPaUIxYm10dWIzZHVJSHRjYmlBZ0lDQnBaaUFvSVhCaGRHZ3BJSEpsZEhWeWJpQnpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQndZWEowY3lBOUlIQmhkR2d1YzNCc2FYUW9YQ0l1WENJcE8xeHVJQ0FnSUd4bGRDQmpkWEp5Wlc1ME9pQjFibXR1YjNkdUlEMGdjM1JoZEdVN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCd1lYSjBJRzltSUhCaGNuUnpLU0I3WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZENBOVBTQnVkV3hzS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnWTNWeWNtVnVkQ0E5SUNoamRYSnlaVzUwSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrS1Z0d1lYSjBYVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdOMWNuSmxiblE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JHVjBaV04wY3lCM2FHVjBhR1Z5SUdFZ1kyOXVaR2wwYVc5dUlHOWlhbVZqZENCcGN5QmhJR0JEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1WUNBb3dxY3lNaTR6S1NCaWVWeHVJQ0FnS2lCamFHVmphMmx1WnlCbWIzSWdkR2hsSUhCeVpYTmxibU5sSUc5bUlHRnVJR0J2Y0dBZ1ptbGxiR1F1SUZkb1pXNGdkSEoxWlN3Z2RHaGxJRzlpYW1WamRDQnBjMXh1SUNBZ0tpQjBjbVZoZEdWa0lHRnpJR0VnWUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI1Z0lHRnVaQ0JrYVhOd1lYUmphR1ZrSUhSdklIUm9aVnh1SUNBZ0tpQjdRR3hwYm1zZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJrVjJZV3gxWVhSdmNuMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR2x6UTI5dVpHbDBhVzl1Ulhod2NtVnpjMmx2YmloamIyNWthWFJwYjI0NklFZHlZWEJvUTI5dVpHbDBhVzl1UkdWbWFXNXBkR2x2YmlCOElFTnZibVJwZEdsdmJrVjRjSEpsYzNOcGIyNHBPaUJqYjI1a2FYUnBiMjRnYVhNZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUFvWTI5dVpHbDBhVzl1SUdGeklIVnVhMjV2ZDI0Z1lYTWdleUJ2Y0Q4NklITjBjbWx1WnlCOUtTNXZjQ0E5UFQwZ1hDSnpkSEpwYm1kY0lqdGNiaUFnZlZ4dWZWeHVJbDE5Il19
|
|
84
|
+
//# sourceMappingURL=GraphConditionEvaluator.js.map
|
|
85
|
+
//# sourceMappingURL=GraphConditionEvaluator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/GraphConditionEvaluator.cjs","sourceRoot":"","sources":["graph/loops/GraphConditionEvaluator.js"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,+EAAyE;AACzE,uFAAiF;AACjF;;;GAGG;AACH,MAAa,uBAAuB;IAChC;QACI,IAAI,CAAC,mBAAmB,GAAG,IAAI,8DAA4B,EAAE,CAAC;IAClE,CAAC;IACD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK;QACrB,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,iCAAkB,CAAC,MAAM;gBAC1B,OAAO,CAAC,CAAC,IAAI,CAAC;YAClB,KAAK,iCAAkB,CAAC,KAAK;gBACzB,OAAO,CAAC,IAAI,CAAC;YACjB,KAAK,iCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,KAAK,KAAK,CAAC;YAC1B,KAAK,iCAAkB,CAAC,UAAU;gBAC9B,OAAO,IAAI,KAAK,KAAK,CAAC;YAC1B,KAAK,iCAAkB,CAAC,YAAY;gBAChC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,iCAAkB,CAAC,qBAAqB;gBACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,iCAAkB,CAAC,SAAS;gBAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,iCAAkB,CAAC,kBAAkB;gBACtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,iCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC;YAC/C,KAAK,iCAAkB,CAAC,MAAM;gBAC1B,MAAM,IAAI,4CAAmB,CAAC,qDAAqD,EAAE,oCAAoC,CAAC,CAAC;YAC/H;gBACI,MAAM,IAAI,4CAAmB,CAAC,2BAA2B,SAAS,CAAC,IAAI,GAAG,EAAE,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACnI,CAAC;IACL,CAAC;IACD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK;QACpB,IAAI,CAAC,IAAI;YACL,OAAO,KAAK,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,IAAI;gBACf,OAAO,SAAS,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD;;;;;OAKG;IACH,qBAAqB,CAAC,SAAS;QAC3B,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC;IAC5C,CAAC;CACJ;AAvED,0DAuEC;AACD,mDAAmD"}
|
|
@@ -12,5 +12,5 @@ class GraphLoopExecutionContext {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.GraphLoopExecutionContext = GraphLoopExecutionContext;
|
|
15
|
-
//# sourceMappingURL=
|
|
16
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=GraphLoopExecutionContext.js.map
|
|
16
|
+
//# sourceMappingURL=GraphLoopExecutionContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/GraphLoopExecutionContext.cjs","sourceRoot":"","sources":["graph/loops/GraphLoopExecutionContext.js"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,yBAAyB;IAClC,YAAY,SAAS,EAAE,QAAQ;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AALD,8DAKC;AACD,qDAAqD"}
|
|
@@ -72,5 +72,5 @@ class UntilGraphNodeExecutor {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
exports.UntilGraphNodeExecutor = UntilGraphNodeExecutor;
|
|
75
|
-
//# sourceMappingURL=
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW50aWxHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlVudGlsR3JhcGhOb2RlRXhlY3V0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStGO0FBQy9GLHVFQUFpRTtBQUNqRSwrRUFBeUU7QUFDekUsNkVBQXVFO0FBQ3ZFOzs7OztHQUtHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDL0IsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLG9EQUF1QixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxJQUFJLGdEQUFpQyxDQUFDO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLG9DQUFlLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsc0NBQXVCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsR0FBRyxDQUFDO1lBQ0EsSUFBSSxTQUFTLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDZixJQUFJLEVBQUUsc0NBQXVCLENBQUMsa0JBQWtCO29CQUNoRCxTQUFTO2lCQUNaLENBQUMsQ0FBQztnQkFDSCxNQUFNLElBQUksNENBQW1CLENBQUMsdUNBQXVDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDM0YsQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsc0NBQXVCLENBQUMsc0JBQXNCO2dCQUNwRCxTQUFTO2FBQ1osQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDM0YsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxTQUFTLEVBQUUsQ0FBQzthQUNwRCxDQUFDLENBQUM7WUFDSCxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUzthQUNaLENBQUMsQ0FBQztZQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUztnQkFDVCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFO2FBQ3ZDLENBQUMsQ0FBQztZQUNILFNBQVMsRUFBRSxDQUFDO1lBQ1osVUFBVSxHQUFHLGVBQWUsQ0FBQztRQUNqQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDdEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQU87UUFDbkIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDMUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLG9DQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0o7QUEzREQsd0RBMkRDO0FBQ0QsMDZQQUEwNlAiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlMsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi8uLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoTG9vcExpbWl0RXJyb3IuanNcIjtcbmltcG9ydCB7IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yIH0gZnJvbSBcIi4vR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanNcIjtcbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3AudW50aWxgIG5vZGVzLlxuICpcbiAqIEV4ZWN1dGVzIHRoZSBib2R5IGF0IGxlYXN0IG9uY2UsIHRoZW4gY2hlY2tzIHRoZSBjb25kaXRpb24uIFJlcGVhdHMgdW50aWxcbiAqIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBVbnRpbEdyYXBoTm9kZUV4ZWN1dG9yIHtcbiAgICBjb25zdHJ1Y3RvcihlbmdpbmUpIHtcbiAgICAgICAgdGhpcy5lbmdpbmUgPSBlbmdpbmU7XG4gICAgICAgIHRoaXMuZXZhbHVhdG9yID0gbmV3IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yKCk7XG4gICAgfVxuICAgIGFzeW5jIGV4ZWN1dGUoaW5wdXQsIGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4dHJhY3RNZXRhZGF0YShjb250ZXh0KTtcbiAgICAgICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9IG1ldGFkYXRhLm1heEl0ZXJhdGlvbnMgPz8gR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TO1xuICAgICAgICBjb25zdCBjb25kaXRpb24gPSBtZXRhZGF0YS5jb25kaXRpb247XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhJbnB1dEVycm9yKFwidW50aWwgbm9kZSBpcyBtaXNzaW5nIGEgY29uZGl0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHk7XG4gICAgICAgIGxldCBzdGF0ZSA9IGlucHV0LnN0YXRlO1xuICAgICAgICBsZXQgaXRlcmF0aW9uID0gMDtcbiAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHsgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9TVEFSVEVEIH0pO1xuICAgICAgICBsZXQgc2hvdWxkU3RvcCA9IGZhbHNlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBpZiAoaXRlcmF0aW9uID49IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0xJTUlUX1JFQUNIRUQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhMb29wTGltaXRFcnJvcihgdW50aWwgbG9vcCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHttYXhJdGVyYXRpb25zfSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9JVEVSQVRJT05fU1RBUlRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkUmVzdWx0ID0gYXdhaXQgdGhpcy5lbmdpbmUuZXhlY3V0ZShib2R5V29ya2Zsb3csIHsgW3N0YXRlUG9ydF06IHN0YXRlLCBpdGVyYXRpb24gfSwge1xuICAgICAgICAgICAgICAgIHBhcmVudFJ1bklkOiBjb250ZXh0LnJ1bklkLFxuICAgICAgICAgICAgICAgIHBhdGg6IFsuLi5jb250ZXh0LnBhdGgsIGBpdGVyYXRpb246JHtpdGVyYXRpb259YF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlID0gY2hpbGRSZXN1bHQub3V0cHV0c1tzdGF0ZVBvcnRdO1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9DT01QTEVURUQsXG4gICAgICAgICAgICAgICAgaXRlcmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHN0YXRlKTtcbiAgICAgICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9DT05ESVRJT05fRVZBTFVBVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IHJlc3VsdDogY29uZGl0aW9uUmVzdWx0IH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgICAgICAgc2hvdWxkU3RvcCA9IGNvbmRpdGlvblJlc3VsdDtcbiAgICAgICAgfSB3aGlsZSAoIXNob3VsZFN0b3ApO1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcbiAgICAgICAgcmV0dXJuIHsgW3N0YXRlUG9ydF06IHN0YXRlLCBpdGVyYXRpb25zOiBpdGVyYXRpb24gfTtcbiAgICB9XG4gICAgZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgcmF3ID0gY29udGV4dC5ub2RlLmdyYXBoPy5tZXRhZGF0YT8ubG9vcCA/P1xuICAgICAgICAgICAgY29udGV4dC5tZXRhZGF0YT8ubG9vcDtcbiAgICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ1bnRpbCBub2RlIGlzIG1pc3NpbmcgbG9vcCBtZXRhZGF0YVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmF3O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVZXNTBhV3hIY21Gd2FFNXZaR1ZGZUdWamRYUnZjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlzYjI5d2N5OVZiblJwYkVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWZEJMRTlCUVU4c1JVRkJSU3hwUTBGQmFVTXNSVUZCUlN4MVFrRkJkVUlzUlVGQlJTd3dRa0ZCY1VJN1FVRkRNVVlzVDBGQlR5eEZRVUZGTEdWQlFXVXNSVUZCUlN4MVEwRkJhME03UVVGRE5VUXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTERKRFFVRnpRenRCUVVOd1JTeFBRVUZQTEVWQlFVVXNkVUpCUVhWQ0xFVkJRVVVzY1VOQlFXdERPMEZCUlhCRk96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFBRVUZQTEhOQ1FVRnpRanRKUVVkcVF5eFpRVUUyUWl4TlFVRTBRanRSUVVFMVFpeFhRVUZOTEVkQlFVNHNUVUZCVFN4RFFVRnpRanRSUVVaNFF5eGpRVUZUTEVkQlFVY3NTVUZCU1N4MVFrRkJkVUlzUlVGQlJTeERRVUZETzBsQlJVTXNRMEZCUXp0SlFVVTNSQ3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVU5ZTEV0QlFUSkNMRVZCUXpOQ0xFOUJRVGhDTzFGQlJUbENMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRMME1zVFVGQlRTeGhRVUZoTEVkQlEycENMRkZCUVZFc1EwRkJReXhoUVVGaExFbEJRVWtzYVVOQlFXbERMRU5CUVVNN1VVRkRPVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEcxRFFVRnRReXhEUVVGRExFTkJRVU03VVVGRGFrVXNRMEZCUXp0UlFVTkVMRTFCUVUwc1UwRkJVeXhIUVVGSExGRkJRVkVzUTBGQlF5eFRRVUZUTEVsQlFVa3NUMEZCVHl4RFFVRkRPMUZCUTJoRUxFMUJRVTBzV1VGQldTeEhRVUZITEZGQlFWRXNRMEZCUXl4SlFVRXJRaXhEUVVGRE8xRkJSVGxFTEVsQlFVa3NTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRGVFSXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSV3hDTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJXNUZMRWxCUVVrc1ZVRkJWU3hIUVVGSExFdEJRVXNzUTBGQlF6dFJRVVYyUWl4SFFVRkhMRU5CUVVNN1dVRkRSaXhKUVVGSkxGTkJRVk1zU1VGQlNTeGhRVUZoTEVWQlFVVXNRMEZCUXp0blFrRkRMMElzVFVGQlRTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRPMjlDUVVOcVFpeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zYTBKQlFXdENPMjlDUVVOb1JDeFRRVUZUTzJsQ1FVTldMRU5CUVVNc1EwRkJRenRuUWtGRFNDeE5RVUZOTEVsQlFVa3NiVUpCUVcxQ0xFTkJRek5DTEhWRFFVRjFReXhoUVVGaExFZEJRVWNzUTBGRGVFUXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkZSQ3hOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdaMEpCUTJwQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXh6UWtGQmMwSTdaMEpCUTNCRUxGTkJRVk03WVVGRFZpeERRVUZETEVOQlFVTTdXVUZGU0N4TlFVRk5MRmRCUVZjc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVTXpReXhaUVVGWkxFVkJRMW9zUlVGQlJTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzUlVGRGFrTTdaMEpCUTBVc1YwRkJWeXhGUVVGRkxFOUJRVThzUTBGQlF5eExRVUZMTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRVZCUVVVc1lVRkJZU3hUUVVGVExFVkJRVVVzUTBGQlF6dGhRVU5zUkN4RFFVTkdMRU5CUVVNN1dVRkZSaXhMUVVGTExFZEJRVWNzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVWMlF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJRMnBDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eDNRa0ZCZDBJN1owSkJRM1JFTEZOQlFWTTdZVUZEVml4RFFVRkRMRU5CUVVNN1dVRkZTQ3hOUVVGTkxHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdXVUZGYkVVc1RVRkJUU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETzJkQ1FVTnFRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc2QwSkJRWGRDTzJkQ1FVTjBSQ3hUUVVGVE8yZENRVU5VTEU5QlFVOHNSVUZCUlN4RlFVRkZMRTFCUVUwc1JVRkJSU3hsUVVGbExFVkJRVVU3WVVGRGNrTXNRMEZCUXl4RFFVRkRPMWxCUlVnc1UwRkJVeXhGUVVGRkxFTkJRVU03V1VGRFdpeFZRVUZWTEVkQlFVY3NaVUZCWlN4RFFVRkRPMUZCUXk5Q0xFTkJRVU1zVVVGQlVTeERRVUZETEZWQlFWVXNSVUZCUlR0UlFVVjBRaXhOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVWeVJTeFBRVUZQTEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRVVVzVlVGQlZTeEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTNaRUxFTkJRVU03U1VGRlR5eGxRVUZsTEVOQlFVTXNUMEZCT0VJN1VVRkRjRVFzVFVGQlRTeEhRVUZITEVkQlFVa3NUMEZCVHl4RFFVRkRMRWxCUVZrc1EwRkJReXhMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEVsQlFVazdXVUZEY0VRc1QwRkJUeXhEUVVGRExGRkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTlVMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU1zY1VOQlFYRkRMRU5CUVVNc1EwRkJRenRSUVVOdVJTeERRVUZETzFGQlEwUXNUMEZCVHl4SFFVRjNRaXhEUVVGRE8wbEJRMnhETEVOQlFVTTdRMEZEUmlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZaM0poY0dndmJHOXZjSE12Vlc1MGFXeEhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNseHVJQ29nUUhOMWJXMWhjbmtnVlc1MGFXd2diRzl2Y0NCdWIyUmxJR1Y0WldOMWRHOXlMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVY0WldOMWRHVnpJR0VnWW05a2VTQjNiM0pyWm14dmR5QmhkQ0JzWldGemRDQnZibU5sSUdGdVpDQnlaWEJsWVhSeklIVnVkR2xzSUdFZ1kyOXVaR2wwYVc5dUlHbHpJSFJ5ZFdVdVhHNGdLaTljYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdmU0JtY205dElGd2lMaTR2WlhobFkzVjBhVzl1TDBkeVlYQm9UbTlrWlVWNFpXTjFkRzl5WENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQjlJR1p5YjIwZ1hDSXVMaTlsZUdWamRYUnBiMjR2UjNKaGNHaEZlR1ZqZFhScGIyNURiMjUwWlhoMFhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvUlhobFkzVjBhVzl1Ulc1bmFXNWxJSDBnWm5KdmJTQmNJaTR1TDJWNFpXTjFkR2x2Ymk5SGNtRndhRVY0WldOMWRHbHZia1Z1WjJsdVpWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2YmxaaGJIVmxjeXdnUjNKaGNHaE1iMjl3VFdWMFlXUmhkR0VnZlNCbWNtOXRJRndpTGk0dmRIbHdaWE5jSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaFhiM0pyWm14dmQwUmxabWx1YVhScGIyNGdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMM1ZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2hjSWp0Y2JseHVhVzF3YjNKMElIc2dSMUpCVUVoZlJFVkdRVlZNVkY5TlFWaGZURTlQVUY5SlZFVlNRVlJKVDA1VExDQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlNCOUlHWnliMjBnWENJdUxpOWpiMjV6ZEdGdWRITmNJanRjYm1sdGNHOXlkQ0I3SUVkeVlYQm9TVzV3ZFhSRmNuSnZjaUI5SUdaeWIyMGdYQ0l1TGk5bGNuSnZjbk12UjNKaGNHaEpibkIxZEVWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRXh2YjNCTWFXMXBkRVZ5Y205eUlIMGdabkp2YlNCY0lpNHVMMlZ5Y205eWN5OUhjbUZ3YUV4dmIzQk1hVzFwZEVWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRU52Ym1ScGRHbHZia1YyWVd4MVlYUnZjaUI5SUdaeWIyMGdYQ0l1TDBkeVlYQm9RMjl1WkdsMGFXOXVSWFpoYkhWaGRHOXlYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1JYaGxZM1YwYjNJZ1ptOXlJR0JqYjNKbExteHZiM0F1ZFc1MGFXeGdJRzV2WkdWekxseHVJQ3BjYmlBcUlFVjRaV04xZEdWeklIUm9aU0JpYjJSNUlHRjBJR3hsWVhOMElHOXVZMlVzSUhSb1pXNGdZMmhsWTJ0eklIUm9aU0JqYjI1a2FYUnBiMjR1SUZKbGNHVmhkSE1nZFc1MGFXeGNiaUFxSUhSb1pTQmpiMjVrYVhScGIyNGdaWFpoYkhWaGRHVnpJSFJ2SUhSeWRXVXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJWYm5ScGJFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlHbHRjR3hsYldWdWRITWdSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdlMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUdWMllXeDFZWFJ2Y2lBOUlHNWxkeUJIY21Gd2FFTnZibVJwZEdsdmJrVjJZV3gxWVhSdmNpZ3BPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daVzVuYVc1bE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWdVoybHVaU2tnZTMxY2JseHVJQ0JoYzNsdVl5QmxlR1ZqZFhSbEtGeHVJQ0FnSUdsdWNIVjBPaUJIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3l4Y2JpQWdJQ0JqYjI1MFpYaDBPaUJIY21Gd2FFVjRaV04xZEdsdmJrTnZiblJsZUhSY2JpQWdLVG9nVUhKdmJXbHpaVHhIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3o0Z2UxeHVJQ0FnSUdOdmJuTjBJRzFsZEdGa1lYUmhJRDBnZEdocGN5NWxlSFJ5WVdOMFRXVjBZV1JoZEdFb1kyOXVkR1Y0ZENrN1hHNGdJQ0FnWTI5dWMzUWdiV0Y0U1hSbGNtRjBhVzl1Y3lBOVhHNGdJQ0FnSUNCdFpYUmhaR0YwWVM1dFlYaEpkR1Z5WVhScGIyNXpJRDgvSUVkU1FWQklYMFJGUmtGVlRGUmZUVUZZWDB4UFQxQmZTVlJGVWtGVVNVOU9VenRjYmlBZ0lDQmpiMjV6ZENCamIyNWthWFJwYjI0Z1BTQnRaWFJoWkdGMFlTNWpiMjVrYVhScGIyNDdYRzRnSUNBZ2FXWWdLQ0ZqYjI1a2FYUnBiMjRwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSGNtRndhRWx1Y0hWMFJYSnliM0lvWENKMWJuUnBiQ0J1YjJSbElHbHpJRzFwYzNOcGJtY2dZU0JqYjI1a2FYUnBiMjVjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElITjBZWFJsVUc5eWRDQTlJRzFsZEdGa1lYUmhMbk4wWVhSbFVHOXlkQ0EvUHlCY0luTjBZWFJsWENJN1hHNGdJQ0FnWTI5dWMzUWdZbTlrZVZkdmNtdG1iRzkzSUQwZ2JXVjBZV1JoZEdFdVltOWtlU0JoY3lCSGNtRndhRmR2Y210bWJHOTNSR1ZtYVc1cGRHbHZianRjYmx4dUlDQWdJR3hsZENCemRHRjBaU0E5SUdsdWNIVjBMbk4wWVhSbE8xeHVJQ0FnSUd4bGRDQnBkR1Z5WVhScGIyNGdQU0F3TzF4dVhHNGdJQ0FnWVhkaGFYUWdZMjl1ZEdWNGRDNWxiV2wwS0hzZ2RIbHdaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEZSNWNHVXVURTlQVUY5VFZFRlNWRVZFSUgwcE8xeHVYRzRnSUNBZ2JHVjBJSE5vYjNWc1pGTjBiM0FnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR1J2SUh0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z5WVhScGIyNGdQajBnYldGNFNYUmxjbUYwYVc5dWN5a2dlMXh1SUNBZ0lDQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlRFbE5TVlJmVWtWQlEwaEZSQ3hjYmlBZ0lDQWdJQ0FnSUNCcGRHVnlZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUjNKaGNHaE1iMjl3VEdsdGFYUkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQmdkVzUwYVd3Z2JHOXZjQ0JsZUdObFpXUmxaQ0J0WVhnZ2FYUmxjbUYwYVc5dWN5QW9KSHR0WVhoSmRHVnlZWFJwYjI1emZTbGdYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlNWUkZVa0ZVU1U5T1gxTlVRVkpVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJpeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQmphR2xzWkZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVpXNW5hVzVsTG1WNFpXTjFkR1VvWEc0Z0lDQWdJQ0FnSUdKdlpIbFhiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdleUJiYzNSaGRHVlFiM0owWFRvZ2MzUmhkR1VzSUdsMFpYSmhkR2x2YmlCOUxGeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnY0dGeVpXNTBVblZ1U1dRNklHTnZiblJsZUhRdWNuVnVTV1FzWEc0Z0lDQWdJQ0FnSUNBZ2NHRjBhRG9nV3k0dUxtTnZiblJsZUhRdWNHRjBhQ3dnWUdsMFpYSmhkR2x2Ympva2UybDBaWEpoZEdsdmJuMWdYU3hjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnS1R0Y2JseHVJQ0FnSUNBZ2MzUmhkR1VnUFNCamFHbHNaRkpsYzNWc2RDNXZkWFJ3ZFhSelczTjBZWFJsVUc5eWRGMDdYRzVjYmlBZ0lDQWdJR0YzWVdsMElHTnZiblJsZUhRdVpXMXBkQ2g3WEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJVZVhCbExreFBUMUJmU1ZSRlVrRlVTVTlPWDBOUFRWQk1SVlJGUkN4Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYVc5dUxGeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR052Ym5OMElHTnZibVJwZEdsdmJsSmxjM1ZzZENBOUlIUm9hWE11WlhaaGJIVmhkRzl5TG1WMllXeDFZWFJsS0dOdmJtUnBkR2x2Yml3Z2MzUmhkR1VwTzF4dVhHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwTlBUa1JKVkVsUFRsOUZWa0ZNVlVGVVJVUXNYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHbHZiaXhjYmlBZ0lDQWdJQ0FnY0dGNWJHOWhaRG9nZXlCeVpYTjFiSFE2SUdOdmJtUnBkR2x2YmxKbGMzVnNkQ0I5TEZ4dUlDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lHbDBaWEpoZEdsdmJpc3JPMXh1SUNBZ0lDQWdjMmh2ZFd4a1UzUnZjQ0E5SUdOdmJtUnBkR2x2YmxKbGMzVnNkRHRjYmlBZ0lDQjlJSGRvYVd4bElDZ2hjMmh2ZFd4a1UzUnZjQ2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZXlCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBOUFRWQk1SVlJGUkNCOUtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lGdHpkR0YwWlZCdmNuUmRPaUJ6ZEdGMFpTd2dhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1SUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHVjRkSEpoWTNSTlpYUmhaR0YwWVNoamIyNTBaWGgwT2lCSGNtRndhRVY0WldOMWRHbHZia052Ym5SbGVIUXBPaUJIY21Gd2FFeHZiM0JOWlhSaFpHRjBZU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtRjNJRDBnS0dOdmJuUmxlSFF1Ym05a1pTQmhjeUJoYm5rcExtZHlZWEJvUHk1dFpYUmhaR0YwWVQ4dWJHOXZjQ0EvUDF4dUlDQWdJQ0FnS0dOdmJuUmxlSFF1YldWMFlXUmhkR0VnWVhNZ1lXNTVLVDh1Ykc5dmNEdGNiaUFnSUNCcFppQW9JWEpoZHlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFZHlZWEJvU1c1d2RYUkZjbkp2Y2loY0luVnVkR2xzSUc1dlpHVWdhWE1nYldsemMybHVaeUJzYjI5d0lHMWxkR0ZrWVhSaFhDSXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21GM0lHRnpJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
75
|
+
//# sourceMappingURL=UntilGraphNodeExecutor.js.map
|
|
76
|
+
//# sourceMappingURL=UntilGraphNodeExecutor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/UntilGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/loops/UntilGraphNodeExecutor.js"],"names":[],"mappings":"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"}
|
|
@@ -73,5 +73,5 @@ class WhileGraphNodeExecutor {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
exports.WhileGraphNodeExecutor = WhileGraphNodeExecutor;
|
|
76
|
-
//# sourceMappingURL=
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hpbGVHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIldoaWxlR3JhcGhOb2RlRXhlY3V0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStGO0FBQy9GLHVFQUFpRTtBQUNqRSwrRUFBeUU7QUFDekUsNkVBQXVFO0FBQ3ZFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsc0JBQXNCO0lBQy9CLFlBQVksTUFBTTtRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxvREFBdUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsSUFBSSxnREFBaUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyxrQkFBa0I7b0JBQ2hELFNBQVM7aUJBQ1osQ0FBQyxDQUFDO2dCQUNILE1BQU0sSUFBSSw0Q0FBbUIsQ0FBQyx1Q0FBdUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUMzRixDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7Z0JBQ1QsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHNCQUFzQjtnQkFDcEQsU0FBUzthQUNaLENBQUMsQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQzNGLFdBQVcsRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDMUIsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsU0FBUyxFQUFFLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7YUFDWixDQUFDLENBQUM7WUFDSCxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQU87UUFDbkIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDMUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLG9DQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0o7QUF4REQsd0RBd0RDO0FBQ0QsMHNQQUEwc1AiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlMsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi8uLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoTG9vcExpbWl0RXJyb3IuanNcIjtcbmltcG9ydCB7IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yIH0gZnJvbSBcIi4vR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanNcIjtcbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3Aud2hpbGVgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBzdGF0ZWA6IGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGBzdGF0ZWA6IGZpbmFsIHN0YXRlXG4gKiAtIGBpdGVyYXRpb25zYDogbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFdoaWxlR3JhcGhOb2RlRXhlY3V0b3Ige1xuICAgIGNvbnN0cnVjdG9yKGVuZ2luZSkge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgdGhpcy5ldmFsdWF0b3IgPSBuZXcgR3JhcGhDb25kaXRpb25FdmFsdWF0b3IoKTtcbiAgICB9XG4gICAgYXN5bmMgZXhlY3V0ZShpbnB1dCwgY29udGV4dCkge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpO1xuICAgICAgICBjb25zdCBtYXhJdGVyYXRpb25zID0gbWV0YWRhdGEubWF4SXRlcmF0aW9ucyA/PyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlM7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IG1ldGFkYXRhLmNvbmRpdGlvbjtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ3aGlsZSBub2RlIGlzIG1pc3NpbmcgYSBjb25kaXRpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdGVQb3J0ID0gbWV0YWRhdGEuc3RhdGVQb3J0ID8/IFwic3RhdGVcIjtcbiAgICAgICAgY29uc3QgYm9keVdvcmtmbG93ID0gbWV0YWRhdGEuYm9keTtcbiAgICAgICAgbGV0IHN0YXRlID0gaW5wdXQuc3RhdGU7XG4gICAgICAgIGxldCBpdGVyYXRpb24gPSAwO1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX1NUQVJURUQgfSk7XG4gICAgICAgIHdoaWxlICh0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHN0YXRlKSkge1xuICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbiA+PSBtYXhJdGVyYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9MSU1JVF9SRUFDSEVELFxuICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoTG9vcExpbWl0RXJyb3IoYHdoaWxlIGxvb3AgZXhjZWVkZWQgbWF4IGl0ZXJhdGlvbnMgKCR7bWF4SXRlcmF0aW9uc30pYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09ORElUSU9OX0VWQUxVQVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyByZXN1bHQ6IHRydWUgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9TVEFSVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRSZXN1bHQgPSBhd2FpdCB0aGlzLmVuZ2luZS5leGVjdXRlKGJvZHlXb3JrZmxvdywgeyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbiB9LCB7XG4gICAgICAgICAgICAgICAgcGFyZW50UnVuSWQ6IGNvbnRleHQucnVuSWQsXG4gICAgICAgICAgICAgICAgcGF0aDogWy4uLmNvbnRleHQucGF0aCwgYGl0ZXJhdGlvbjoke2l0ZXJhdGlvbn1gXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09NUExFVEVEIH0pO1xuICAgICAgICByZXR1cm4geyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbiB9O1xuICAgIH1cbiAgICBleHRyYWN0TWV0YWRhdGEoY29udGV4dCkge1xuICAgICAgICBjb25zdCByYXcgPSBjb250ZXh0Lm5vZGUuZ3JhcGg/Lm1ldGFkYXRhPy5sb29wID8/XG4gICAgICAgICAgICBjb250ZXh0Lm1ldGFkYXRhPy5sb29wO1xuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcIndoaWxlIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByYXc7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVjJocGJHVkhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOXNiMjl3Y3k5WGFHbHNaVWR5WVhCb1RtOWtaVVY0WldOMWRHOXlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZkQkxFOUJRVThzUlVGQlJTeHBRMEZCYVVNc1JVRkJSU3gxUWtGQmRVSXNSVUZCUlN3d1FrRkJjVUk3UVVGRE1VWXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3gxUTBGQmEwTTdRVUZETlVRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMREpEUVVGelF6dEJRVU53UlN4UFFVRlBMRVZCUVVVc2RVSkJRWFZDTEVWQlFVVXNjVU5CUVd0RE8wRkJSWEJGT3pzN096czdPenM3UjBGVFJ6dEJRVU5JTEUxQlFVMHNUMEZCVHl4elFrRkJjMEk3U1VGSGFrTXNXVUZCTmtJc1RVRkJORUk3VVVGQk5VSXNWMEZCVFN4SFFVRk9MRTFCUVUwc1EwRkJjMEk3VVVGR2VFTXNZMEZCVXl4SFFVRkhMRWxCUVVrc2RVSkJRWFZDTEVWQlFVVXNRMEZCUXp0SlFVVkRMRU5CUVVNN1NVRkZOMFFzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZEV0N4TFFVRXlRaXhGUVVNelFpeFBRVUU0UWp0UlFVVTVRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJReTlETEUxQlFVMHNZVUZCWVN4SFFVTnFRaXhSUVVGUkxFTkJRVU1zWVVGQllTeEpRVUZKTEdsRFFVRnBReXhEUVVGRE8xRkJRemxFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU03VVVGRGNrTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4dFEwRkJiVU1zUTBGQlF5eERRVUZETzFGQlEycEZMRU5CUVVNN1VVRkRSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNVMEZCVXl4SlFVRkpMRTlCUVU4c1EwRkJRenRSUVVOb1JDeE5RVUZOTEZsQlFWa3NSMEZCUnl4UlFVRlJMRU5CUVVNc1NVRkJLMElzUTBGQlF6dFJRVVU1UkN4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETzFGQlEzaENMRWxCUVVrc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVVZzUWl4TlFVRk5MRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEycEVMRWxCUVVrc1UwRkJVeXhKUVVGSkxHRkJRV0VzUlVGQlJTeERRVUZETzJkQ1FVTXZRaXhOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdiMEpCUTJwQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhyUWtGQmEwSTdiMEpCUTJoRUxGTkJRVk03YVVKQlExWXNRMEZCUXl4RFFVRkRPMmRDUVVOSUxFMUJRVTBzU1VGQlNTeHRRa0ZCYlVJc1EwRkRNMElzZFVOQlFYVkRMR0ZCUVdFc1IwRkJSeXhEUVVONFJDeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVVkVMRTFCUVUwc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dG5Ra0ZEYWtJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMSGRDUVVGM1FqdG5Ra0ZEZEVRc1UwRkJVenRuUWtGRFZDeFBRVUZQTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1NVRkJTU3hGUVVGRk8yRkJRekZDTEVOQlFVTXNRMEZCUXp0WlFVTklMRTFCUVUwc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dG5Ra0ZEYWtJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMSE5DUVVGelFqdG5Ra0ZEY0VRc1UwRkJVenRoUVVOV0xFTkJRVU1zUTBGQlF6dFpRVVZJTEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlF6TkRMRmxCUVZrc1JVRkRXaXhGUVVGRkxFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3hGUVVOcVF6dG5Ra0ZEUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXM3WjBKQlF6RkNMRWxCUVVrc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4aFFVRmhMRk5CUVZNc1JVRkJSU3hEUVVGRE8yRkJRMnhFTEVOQlEwWXNRMEZCUXp0WlFVVkdMRXRCUVVzc1IwRkJSeXhYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMWxCUlhaRExFMUJRVTBzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXp0blFrRkRha0lzU1VGQlNTeEZRVUZGTEhWQ1FVRjFRaXhEUVVGRExIZENRVUYzUWp0blFrRkRkRVFzVTBGQlV6dGhRVU5XTEVOQlFVTXNRMEZCUXp0WlFVVklMRk5CUVZNc1JVRkJSU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVVZFTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJYSkZMRTlCUVU4c1JVRkJSU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVlBMR1ZCUVdVc1EwRkJReXhQUVVFNFFqdFJRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJTU3hQUVVGUExFTkJRVU1zU1VGQldTeERRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTVHRaUVVOd1JDeFBRVUZQTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xbEJRMVFzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4eFEwRkJjVU1zUTBGQlF5eERRVUZETzFGQlEyNUZMRU5CUVVNN1VVRkRSQ3hQUVVGUExFZEJRWGRDTEVOQlFVTTdTVUZEYkVNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXNiMjl3Y3k5WGFHbHNaVWR5WVhCb1RtOWtaVVY0WldOMWRHOXlYRzRnS2lCQWMzVnRiV0Z5ZVNCWGFHbHNaU0JzYjI5d0lHNXZaR1VnWlhobFkzVjBiM0l1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUlhobFkzVjBaWE1nWVNCaWIyUjVJSGR2Y210bWJHOTNJSEpsY0dWaGRHVmtiSGtnZDJocGJHVWdZU0JqYjI1a2FYUnBiMjRnYVhNZ2RISjFaU3dnWlc1bWIzSmphVzVuSUdFZ2JXRjRhVzExYlNCcGRHVnlZWFJwYjI0Z2JHbHRhWFF1WEc0Z0tpOWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYjNJZ2ZTQm1jbTl0SUZ3aUxpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1RtOWtaVVY0WldOMWRHOXlYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOUlHWnliMjBnWENJdUxpOWxlR1ZqZFhScGIyNHZSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwWENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVSVzVuYVc1bElIMGdabkp2YlNCY0lpNHVMMlY0WldOMWRHbHZiaTlIY21Gd2FFVjRaV04xZEdsdmJrVnVaMmx1WlZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN5d2dSM0poY0doTWIyOXdUV1YwWVdSaGRHRWdmU0JtY205dElGd2lMaTR2ZEhsd1pYTmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0Z2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwzVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHaGNJanRjYmx4dWFXMXdiM0owSUhzZ1IxSkJVRWhmUkVWR1FWVk1WRjlOUVZoZlRFOVBVRjlKVkVWU1FWUkpUMDVUTENCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaU0I5SUdaeWIyMGdYQ0l1TGk5amIyNXpkR0Z1ZEhOY0lqdGNibWx0Y0c5eWRDQjdJRWR5WVhCb1NXNXdkWFJGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXZSM0poY0doSmJuQjFkRVZ5Y205eVhDSTdYRzVwYlhCdmNuUWdleUJIY21Gd2FFeHZiM0JNYVcxcGRFVnljbTl5SUgwZ1puSnZiU0JjSWk0dUwyVnljbTl5Y3k5SGNtRndhRXh2YjNCTWFXMXBkRVZ5Y205eVhDSTdYRzVwYlhCdmNuUWdleUJIY21Gd2FFTnZibVJwZEdsdmJrVjJZV3gxWVhSdmNpQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1EyOXVaR2wwYVc5dVJYWmhiSFZoZEc5eVhDSTdYRzVjYmk4cUtseHVJQ29nUlhobFkzVjBiM0lnWm05eUlHQmpiM0psTG14dmIzQXVkMmhwYkdWZ0lHNXZaR1Z6TGx4dUlDcGNiaUFxSUVWNGNHVmpkSE1nYVc1d2RYUTZYRzRnS2lBdElHQnpkR0YwWldBNklHbHVhWFJwWVd3Z2MzUmhkR1ZjYmlBcVhHNGdLaUJRY205a2RXTmxjeUJ2ZFhSd2RYUTZYRzRnS2lBdElHQnpkR0YwWldBNklHWnBibUZzSUhOMFlYUmxYRzRnS2lBdElHQnBkR1Z5WVhScGIyNXpZRG9nYm5WdFltVnlJRzltSUdsMFpYSmhkR2x2Ym5NZ1pYaGxZM1YwWldSY2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGZG9hV3hsUjNKaGNHaE9iMlJsUlhobFkzVjBiM0lnYVcxd2JHVnRaVzUwY3lCSGNtRndhRTV2WkdWRmVHVmpkWFJ2Y2lCN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daWFpoYkhWaGRHOXlJRDBnYm1WM0lFZHlZWEJvUTI5dVpHbDBhVzl1UlhaaGJIVmhkRzl5S0NrN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCbGJtZHBibVU2SUVkeVlYQm9SWGhsWTNWMGFXOXVSVzVuYVc1bEtTQjdmVnh1WEc0Z0lHRnplVzVqSUdWNFpXTjFkR1VvWEc0Z0lDQWdhVzV3ZFhRNklFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpMRnh1SUNBZ0lHTnZiblJsZUhRNklFZHlZWEJvUlhobFkzVjBhVzl1UTI5dWRHVjRkRnh1SUNBcE9pQlFjbTl0YVhObFBFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpQaUI3WEc0Z0lDQWdZMjl1YzNRZ2JXVjBZV1JoZEdFZ1BTQjBhR2x6TG1WNGRISmhZM1JOWlhSaFpHRjBZU2hqYjI1MFpYaDBLVHRjYmlBZ0lDQmpiMjV6ZENCdFlYaEpkR1Z5WVhScGIyNXpJRDFjYmlBZ0lDQWdJRzFsZEdGa1lYUmhMbTFoZUVsMFpYSmhkR2x2Ym5NZ1B6OGdSMUpCVUVoZlJFVkdRVlZNVkY5TlFWaGZURTlQVUY5SlZFVlNRVlJKVDA1VE8xeHVJQ0FnSUdOdmJuTjBJR052Ym1ScGRHbHZiaUE5SUcxbGRHRmtZWFJoTG1OdmJtUnBkR2x2Ymp0Y2JpQWdJQ0JwWmlBb0lXTnZibVJwZEdsdmJpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWR5WVhCb1NXNXdkWFJGY25KdmNpaGNJbmRvYVd4bElHNXZaR1VnYVhNZ2JXbHpjMmx1WnlCaElHTnZibVJwZEdsdmJsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYzNSaGRHVlFiM0owSUQwZ2JXVjBZV1JoZEdFdWMzUmhkR1ZRYjNKMElEOC9JRndpYzNSaGRHVmNJanRjYmlBZ0lDQmpiMjV6ZENCaWIyUjVWMjl5YTJac2IzY2dQU0J0WlhSaFpHRjBZUzVpYjJSNUlHRnpJRWR5WVhCb1YyOXlhMlpzYjNkRVpXWnBibWwwYVc5dU8xeHVYRzRnSUNBZ2JHVjBJSE4wWVhSbElEMGdhVzV3ZFhRdWMzUmhkR1U3WEc0Z0lDQWdiR1YwSUdsMFpYSmhkR2x2YmlBOUlEQTdYRzVjYmlBZ0lDQmhkMkZwZENCamIyNTBaWGgwTG1WdGFYUW9leUIwZVhCbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlM1TVQwOVFYMU5VUVZKVVJVUWdmU2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kR2hwY3k1bGRtRnNkV0YwYjNJdVpYWmhiSFZoZEdVb1kyOXVaR2wwYVc5dUxDQnpkR0YwWlNrcElIdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWeVlYUnBiMjRnUGowZ2JXRjRTWFJsY21GMGFXOXVjeWtnZTF4dUlDQWdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZURWxOU1ZSZlVrVkJRMGhGUkN4Y2JpQWdJQ0FnSUNBZ0lDQnBkR1Z5WVhScGIyNHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1IzSmhjR2hNYjI5d1RHbHRhWFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JnZDJocGJHVWdiRzl2Y0NCbGVHTmxaV1JsWkNCdFlYZ2dhWFJsY21GMGFXOXVjeUFvSkh0dFlYaEpkR1Z5WVhScGIyNXpmU2xnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHRjNZV2wwSUdOdmJuUmxlSFF1WlcxcGRDaDdYRzRnSUNBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZRMDlPUkVsVVNVOU9YMFZXUVV4VlFWUkZSQ3hjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBhVzl1TEZ4dUlDQWdJQ0FnSUNCd1lYbHNiMkZrT2lCN0lISmxjM1ZzZERvZ2RISjFaU0I5TEZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwbFVSVkpCVkVsUFRsOVRWRUZTVkVWRUxGeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhScGIyNHNYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdZMmhwYkdSU1pYTjFiSFFnUFNCaGQyRnBkQ0IwYUdsekxtVnVaMmx1WlM1bGVHVmpkWFJsS0Z4dUlDQWdJQ0FnSUNCaWIyUjVWMjl5YTJac2IzY3NYRzRnSUNBZ0lDQWdJSHNnVzNOMFlYUmxVRzl5ZEYwNklITjBZWFJsTENCcGRHVnlZWFJwYjI0Z2ZTeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhCaGNtVnVkRkoxYmtsa09pQmpiMjUwWlhoMExuSjFia2xrTEZ4dUlDQWdJQ0FnSUNBZ0lIQmhkR2c2SUZzdUxpNWpiMjUwWlhoMExuQmhkR2dzSUdCcGRHVnlZWFJwYjI0NkpIdHBkR1Z5WVhScGIyNTlZRjBzWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNrN1hHNWNiaUFnSUNBZ0lITjBZWFJsSUQwZ1kyaHBiR1JTWlhOMWJIUXViM1YwY0hWMGMxdHpkR0YwWlZCdmNuUmRPMXh1WEc0Z0lDQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZTF4dUlDQWdJQ0FnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBsVVJWSkJWRWxQVGw5RFQwMVFURVZVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJpeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JwZEdWeVlYUnBiMjRyS3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZXlCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBOUFRWQk1SVlJGUkNCOUtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lGdHpkR0YwWlZCdmNuUmRPaUJ6ZEdGMFpTd2dhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1SUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHVjRkSEpoWTNSTlpYUmhaR0YwWVNoamIyNTBaWGgwT2lCSGNtRndhRVY0WldOMWRHbHZia052Ym5SbGVIUXBPaUJIY21Gd2FFeHZiM0JOWlhSaFpHRjBZU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtRjNJRDBnS0dOdmJuUmxlSFF1Ym05a1pTQmhjeUJoYm5rcExtZHlZWEJvUHk1dFpYUmhaR0YwWVQ4dWJHOXZjQ0EvUDF4dUlDQWdJQ0FnS0dOdmJuUmxlSFF1YldWMFlXUmhkR0VnWVhNZ1lXNTVLVDh1Ykc5dmNEdGNiaUFnSUNCcFppQW9JWEpoZHlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFZHlZWEJvU1c1d2RYUkZjbkp2Y2loY0luZG9hV3hsSUc1dlpHVWdhWE1nYldsemMybHVaeUJzYjI5d0lHMWxkR0ZrWVhSaFhDSXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21GM0lHRnpJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
76
|
+
//# sourceMappingURL=WhileGraphNodeExecutor.js.map
|
|
77
|
+
//# sourceMappingURL=WhileGraphNodeExecutor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/WhileGraphNodeExecutor.cjs","sourceRoot":"","sources":["graph/loops/WhileGraphNodeExecutor.js"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,5 @@ __exportStar(require("./GraphLoopExecutionContext.cjs"), exports);
|
|
|
25
25
|
__exportStar(require("./ForeachGraphNodeExecutor.cjs"), exports);
|
|
26
26
|
__exportStar(require("./WhileGraphNodeExecutor.cjs"), exports);
|
|
27
27
|
__exportStar(require("./UntilGraphNodeExecutor.cjs"), exports);
|
|
28
|
-
//# sourceMappingURL=
|
|
29
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
29
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/loops/index.cjs","sourceRoot":"","sources":["graph/loops/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,+DAA6C;AAC7C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C;AAC9C,8DAA4C;AAC5C,8DAA4C;AAC5C,iCAAiC"}
|
|
@@ -106,5 +106,5 @@ exports.AgentNode = AgentNode = __decorate([
|
|
|
106
106
|
* All built-in agent node constructors.
|
|
107
107
|
*/
|
|
108
108
|
exports.GRAPH_AGENT_NODES = [AgentNode];
|
|
109
|
-
//# sourceMappingURL=
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhZ2VudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENB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QUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxvQkFBQSxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQ25CLElBQUEsWUFBSSxFQUFDLFlBQVksRUFBRTtRQUNmLElBQUksRUFBRSxZQUFZO1FBQ2xCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLG9FQUFvRTtRQUNwRSxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUM7UUFDdkMsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUUsK0VBQStFO1lBQzVGLEtBQUssRUFBRSxXQUFXO1NBQ3JCO0tBQ0osQ0FBQztJQUNGLElBQUEsNEJBQUssR0FBRTtDQUNWLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFZDs7R0FFRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QywwOE1BQTA4TSIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG4vKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL2FnZW50XG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIEFnZW50IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gVGhlIEFnZW50IG5vZGUgaXMgdGhlIHByaW1hcnkgQUkgYWdlbnQgZW50cnlwb2ludC4gSXQgaXMgYVxuICogcmVjdGFuZ3VsYXIgbm9kZSB3aXRoIGBAY29ubmVjdGlvbigpYCBwb3J0cyBmb3IgaXRzIHN0cnVjdHVyYWwgZGVwZW5kZW5jaWVzOlxuICogYG1vZGVsYCAodGhlIExMTSksIGBtZW1vcnlgICh0aGUgbWVtb3J5IHN0b3JlKSwgYW5kIGB3b3Jrc3BhY2VgICh0aGVcbiAqIHdvcmtzcGFjZS9jb250ZXh0KS4gQ29ubmVjdGlvbnMgYXJlIHJlbmRlcmVkIG9uIHRoZSBib3R0b20gc2lkZSBvZiB0aGUgbm9kZVxuICogKERFQ0FGLTMyIMKnMjEuMykuIEVhY2ggY29ubmVjdGlvbiBjYXRlZ29yeSBoYXMgYSBkaXN0aW5jdCBjb2xvciBkZWZpbmVkIGluXG4gKiB0aGUgY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cnkuXG4gKlxuICogVGhlIHNpbmdsZSBgcHJvbXB0YCBpbnB1dCBhY2NlcHRzIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zICjCpzIyLjQpIHN1Y2ggYXNcbiAqIGB7eyAkaW5wdXQuYnJpZWYgfX1gIG9yIGB7eyAkbm9kZVtcIlJlc2VhcmNoXCJdLm91dHB1dC5zdW1tYXJ5IH19YCB0aGF0IGFyZVxuICogcmVzb2x2ZWQgYXQgZXhlY3V0aW9uIHRpbWUgYnkgdGhlIHBsYWNlaG9sZGVyIGNvbXBpbGVyLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBjb25uZWN0aW9uLCBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4vY2F0ZWdvcnktc3R5bGVzLmpzXCI7XG4vKipcbiAqIEFnZW50IG5vZGUg4oCUIGFuIEFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZS5cbiAqXG4gKiBUaGUgYWdlbnQgaGFzOlxuICogLSBgQGlucHV0YCBwb3J0IG9uIHRoZSAqKmxlZnQqKjogYHByb21wdGAgKHRoZSB0YXNrIHByb21wdDsgc3VwcG9ydHNcbiAqICAgcGxhY2Vob2xkZXIgZXhwcmVzc2lvbnMgbGlrZSBge3sgJGlucHV0LnNvbWV0aGluZyB9fWAgcGVyIMKnMjIuNCkuXG4gKiAtIGBAb3V0cHV0YCBwb3J0cyBvbiB0aGUgKipyaWdodCoqOiBgcmVzcG9uc2VgICh0aGUgYWdlbnQncyBvdXRwdXQpLCBgYWN0aW9uc2BcbiAqICAgKGFueSBhY3Rpb25zIHRoZSBhZ2VudCBkZWNpZGVkIHRvIHRha2UpLlxuICogLSBgQGNvbm5lY3Rpb25gIHBvcnRzIG9uIHRoZSAqKmJvdHRvbSoqOiBgbW9kZWxgIChMTE0pLCBgbWVtb3J5YCAobWVtb3J5XG4gKiAgIHN0b3JlKSwgYHdvcmtzcGFjZWAgKHdvcmtzcGFjZS9jb250ZXh0KS4gRWFjaCBjb25uZWN0aW9uIGhhcyBhIGRpc3RpbmN0XG4gKiAgIGNhdGVnb3J5IGNvbG9yLlxuICpcbiAqIFRoZSBub2RlIGlzIHJlY3Rhbmd1bGFyIChub3Qgcm91bmRlZCkgdG8gdmlzdWFsbHkgZGlzdGluZ3Vpc2ggaXQgZnJvbVxuICogcmVndWxhciBwcm9jZXNzaW5nIG5vZGVzLiBUaGUgYGNvbG9yYCBhbmQgYGljb25gIGFyZSBvbWl0dGVkIGZyb20gYEBub2RlKClgXG4gKiBzbyB0aGV5IGFyZSByZXNvbHZlZCBmcm9tIHRoZSBgXCJBZ2VudFwiYCBjYXRlZ29yeSBzdHlsZS5cbiAqL1xubGV0IEFnZW50Tm9kZSA9IGNsYXNzIEFnZW50Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHtcbiAgICAgICAgbGFiZWw6IFwiUHJvbXB0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyOiBcIkVudGVyIHRhc2sgcHJvbXB0LiBTdXBwb3J0cyBwbGFjZWhvbGRlcnMgbGlrZSB7eyAkaW5wdXQuYnJpZWYgfX0gb3Ige3sgJG5vZGVbXFxcIlJlc2VhcmNoXFxcIl0ub3V0cHV0LnN1bW1hcnkgfX1cIixcbiAgICB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJwcm9tcHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgQWdlbnROb2RlLnByb3RvdHlwZSwgXCJwcm9tcHRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJSZXNwb25zZVwiLCBwbGFjZWhvbGRlcjogXCJBZ2VudCByZXNwb25zZVwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXNwb25zZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBBZ2VudE5vZGUucHJvdG90eXBlLCBcInJlc3BvbnNlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiQWN0aW9uc1wiLCBwbGFjZWhvbGRlcjogXCJBY3Rpb25zIHRha2VuIGJ5IHRoZSBhZ2VudFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJhY3Rpb25zXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgQWdlbnROb2RlLnByb3RvdHlwZSwgXCJhY3Rpb25zXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwibW9kZWxcIiwgaGFuZGxlOiBcIm1vZGVsXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEFnZW50Tm9kZS5wcm90b3R5cGUsIFwibW9kZWxcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbm5lY3Rpb24oeyBjYXRlZ29yeTogXCJtZW1vcnlcIiwgaGFuZGxlOiBcIm1lbW9yeVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBBZ2VudE5vZGUucHJvdG90eXBlLCBcIm1lbW9yeVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29ubmVjdGlvbih7IGNhdGVnb3J5OiBcIndvcmtzcGFjZVwiLCBoYW5kbGU6IFwid29ya3NwYWNlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEFnZW50Tm9kZS5wcm90b3R5cGUsIFwid29ya3NwYWNlXCIsIHZvaWQgMCk7XG5BZ2VudE5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5hZ2VudFwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5hZ2VudFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJBZ2VudFwiLFxuICAgICAgICAvLyBjb2xvciBhbmQgaWNvbiBvbWl0dGVkIOKAlCByZXNvbHZlZCBmcm9tIHRoZSBcIkFnZW50XCIgY2F0ZWdvcnkgc3R5bGVcbiAgICAgICAgd2lkdGg6IDEyMCxcbiAgICAgICAgaGVpZ2h0OiAxNDAsXG4gICAgICAgIGxhYmVsczogW1wiYWdlbnRcIiwgXCJhaVwiLCBcIm9yY2hlc3RyYXRvclwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkFnZW50XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBSSBhZ2VudCB0aGF0IG9yY2hlc3RyYXRlcyBhIG1vZGVsLCBtZW1vcnksIGFuZCB3b3Jrc3BhY2UgdG8gY29tcGxldGUgYSB0YXNrLlwiLFxuICAgICAgICAgICAgc2hhcGU6IFwicmVjdGFuZ2xlXCIsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgQWdlbnROb2RlKTtcbmV4cG9ydCB7IEFnZW50Tm9kZSB9O1xuLyoqXG4gKiBBbGwgYnVpbHQtaW4gYWdlbnQgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9BR0VOVF9OT0RFUyA9IFtBZ2VudE5vZGVdO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWVdkbGJuUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZibTlrWlhNdllXZGxiblF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRTdPenM3T3pzN096czdPenM3UjBGaFJ6dEJRVU5JTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1MwRkJTeXhGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJRM2hGTEU5QlFVOHNSVUZCUlN4VFFVRlRMRVZCUVVVc1RVRkJUU3g1UWtGQmVVSXNRMEZCUXp0QlFVTndSQ3hQUVVGUExFVkJRVVVzVlVGQlZTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFMUJRVTBzSzBKQlFTdENMRU5CUVVNN1FVRkZhRVlzYzBSQlFYTkVPMEZCUTNSRUxEaENRVUV5UWp0QlFVVXpRanM3T3pzN096czdPenM3T3pzN08wZEJaVWM3UVVGblFra3NTVUZCVFN4VFFVRlRMRWRCUVdZc1RVRkJUU3hUUVVGVkxGTkJRVkVzUzBGQlN6dERRV2xEYmtNc1EwRkJRVHRCUVhoQ1F6dEpRVTVETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVU3VVVGRGNrSXNTMEZCU3l4RlFVRkZMRkZCUVZFN1VVRkRaaXhYUVVGWExFVkJRVVVzT0VkQlFUaEhPMHRCUXpWSUxFTkJRVU03U1VGRFJDeExRVUZMTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFTkJRVU03TzNsRFFVTmFPMEZCVDJoQ08wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFZRVUZWTEVWQlFVVXNWMEZCVnl4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEVOQlFVTTdTVUZETTBVc1RVRkJUU3hEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEZWQlFWVXNSVUZCUlN4RFFVRkRPenN5UTBGRFlqdEJRVXRzUWp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxGZEJRVmNzUlVGQlJTdzBRa0ZCTkVJc1JVRkJSU3hEUVVGRE8wbEJRM1JHTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hUUVVGVExFVkJRVVVzUTBGQlF6czdNRU5CUTFZN1FVRkxjRUk3U1VGRVF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4UlFVRlJMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXpzN2QwTkJRMjVETzBGQlIyaENPMGxCUkVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFTkJRVU03TzNsRFFVTndRenRCUVVkcVFqdEpRVVJETEZWQlFWVXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4RFFVRkRPenMwUTBGRGRrTTdRVUZvUTFRc1UwRkJVenRKUVdaeVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkZPMUZCUTJ4Q0xFbEJRVWtzUlVGQlJTeFpRVUZaTzFGQlEyeENMRkZCUVZFc1JVRkJSU3hQUVVGUE8xRkJRMnBDTEc5RlFVRnZSVHRSUVVOd1JTeExRVUZMTEVWQlFVVXNSMEZCUnp0UlFVTldMRTFCUVUwc1JVRkJSU3hIUVVGSE8xRkJRMWdzVFVGQlRTeEZRVUZGTEVOQlFVTXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hqUVVGakxFTkJRVU03VVVGRGRrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxFOUJRVTg3V1VGRFpDeFhRVUZYTEVWQlExUXNLMFZCUVN0Rk8xbEJRMnBHTEV0QlFVc3NSVUZCUlN4WFFVRlhPMU5CUTI1Q08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMRk5CUVZNc1EwRnBRM0pDT3p0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeERRVUZETEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFWVXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZaM0poY0dndmJtOWtaWE12WVdkbGJuUmNiaUFxSUVCemRXMXRZWEo1SUZCeWIyUjFZM1JwYjI0Z1FXZGxiblFnYm05a1pTQmtaV05zWVhKaGRHbHZiaTVjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJVYUdVZ1FXZGxiblFnYm05a1pTQnBjeUIwYUdVZ2NISnBiV0Z5ZVNCQlNTQmhaMlZ1ZENCbGJuUnllWEJ2YVc1MExpQkpkQ0JwY3lCaFhHNGdLaUJ5WldOMFlXNW5kV3hoY2lCdWIyUmxJSGRwZEdnZ1lFQmpiMjV1WldOMGFXOXVLQ2xnSUhCdmNuUnpJR1p2Y2lCcGRITWdjM1J5ZFdOMGRYSmhiQ0JrWlhCbGJtUmxibU5wWlhNNlhHNGdLaUJnYlc5a1pXeGdJQ2gwYUdVZ1RFeE5LU3dnWUcxbGJXOXllV0FnS0hSb1pTQnRaVzF2Y25rZ2MzUnZjbVVwTENCaGJtUWdZSGR2Y210emNHRmpaV0FnS0hSb1pWeHVJQ29nZDI5eWEzTndZV05sTDJOdmJuUmxlSFFwTGlCRGIyNXVaV04wYVc5dWN5QmhjbVVnY21WdVpHVnlaV1FnYjI0Z2RHaGxJR0p2ZEhSdmJTQnphV1JsSUc5bUlIUm9aU0J1YjJSbFhHNGdLaUFvUkVWRFFVWXRNeklnd3FjeU1TNHpLUzRnUldGamFDQmpiMjV1WldOMGFXOXVJR05oZEdWbmIzSjVJR2hoY3lCaElHUnBjM1JwYm1OMElHTnZiRzl5SUdSbFptbHVaV1FnYVc1Y2JpQXFJSFJvWlNCallYUmxaMjl5ZVNCemRIbHNaU0J5WldkcGMzUnllUzVjYmlBcVhHNGdLaUJVYUdVZ2MybHVaMnhsSUdCd2NtOXRjSFJnSUdsdWNIVjBJR0ZqWTJWd2RITWdjR3hoWTJWb2IyeGtaWElnWlhod2NtVnpjMmx2Ym5NZ0tNS25Nakl1TkNrZ2MzVmphQ0JoYzF4dUlDb2dZSHQ3SUNScGJuQjFkQzVpY21sbFppQjlmV0FnYjNJZ1lIdDdJQ1J1YjJSbFcxd2lVbVZ6WldGeVkyaGNJbDB1YjNWMGNIVjBMbk4xYlcxaGNua2dmWDFnSUhSb1lYUWdZWEpsWEc0Z0tpQnlaWE52YkhabFpDQmhkQ0JsZUdWamRYUnBiMjRnZEdsdFpTQmllU0IwYUdVZ2NHeGhZMlZvYjJ4a1pYSWdZMjl0Y0dsc1pYSXVYRzRnS2k5Y2JtbHRjRzl5ZENCN0lFMXZaR1ZzTENCdGIyUmxiQ3dnY21WeGRXbHlaV1FnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUIxYVdWc1pXMWxiblFnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDNWcExXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0I3SUdOdmJtNWxZM1JwYjI0c0lHbHVjSFYwTENCdWIyUmxMQ0J2ZFhSd2RYUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMM1ZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2hjSWp0Y2JseHVMeThnUlc1emRYSmxJR05oZEdWbmIzSjVJSE4wZVd4bGN5QmhjbVVnY21WbmFYTjBaWEpsWkNBb2FXUmxiWEJ2ZEdWdWRDa3VYRzVwYlhCdmNuUWdYQ0l1TDJOaGRHVm5iM0o1TFhOMGVXeGxjMXdpTzF4dVhHNHZLaXBjYmlBcUlFRm5aVzUwSUc1dlpHVWc0b0NVSUdGdUlFRkpJR0ZuWlc1MElIUm9ZWFFnYjNKamFHVnpkSEpoZEdWeklHRWdiVzlrWld3c0lHMWxiVzl5ZVN3Z1lXNWtJSGR2Y210emNHRmpaUzVjYmlBcVhHNGdLaUJVYUdVZ1lXZGxiblFnYUdGek9seHVJQ29nTFNCZ1FHbHVjSFYwWUNCd2IzSjBJRzl1SUhSb1pTQXFLbXhsWm5RcUtqb2dZSEJ5YjIxd2RHQWdLSFJvWlNCMFlYTnJJSEJ5YjIxd2REc2djM1Z3Y0c5eWRITmNiaUFxSUNBZ2NHeGhZMlZvYjJ4a1pYSWdaWGh3Y21WemMybHZibk1nYkdsclpTQmdlM3NnSkdsdWNIVjBMbk52YldWMGFHbHVaeUI5ZldBZ2NHVnlJTUtuTWpJdU5Da3VYRzRnS2lBdElHQkFiM1YwY0hWMFlDQndiM0owY3lCdmJpQjBhR1VnS2lweWFXZG9kQ29xT2lCZ2NtVnpjRzl1YzJWZ0lDaDBhR1VnWVdkbGJuUW5jeUJ2ZFhSd2RYUXBMQ0JnWVdOMGFXOXVjMkJjYmlBcUlDQWdLR0Z1ZVNCaFkzUnBiMjV6SUhSb1pTQmhaMlZ1ZENCa1pXTnBaR1ZrSUhSdklIUmhhMlVwTGx4dUlDb2dMU0JnUUdOdmJtNWxZM1JwYjI1Z0lIQnZjblJ6SUc5dUlIUm9aU0FxS21KdmRIUnZiU29xT2lCZ2JXOWtaV3hnSUNoTVRFMHBMQ0JnYldWdGIzSjVZQ0FvYldWdGIzSjVYRzRnS2lBZ0lITjBiM0psS1N3Z1lIZHZjbXR6Y0dGalpXQWdLSGR2Y210emNHRmpaUzlqYjI1MFpYaDBLUzRnUldGamFDQmpiMjV1WldOMGFXOXVJR2hoY3lCaElHUnBjM1JwYm1OMFhHNGdLaUFnSUdOaGRHVm5iM0o1SUdOdmJHOXlMbHh1SUNwY2JpQXFJRlJvWlNCdWIyUmxJR2x6SUhKbFkzUmhibWQxYkdGeUlDaHViM1FnY205MWJtUmxaQ2tnZEc4Z2RtbHpkV0ZzYkhrZ1pHbHpkR2x1WjNWcGMyZ2dhWFFnWm5KdmJWeHVJQ29nY21WbmRXeGhjaUJ3Y205alpYTnphVzVuSUc1dlpHVnpMaUJVYUdVZ1lHTnZiRzl5WUNCaGJtUWdZR2xqYjI1Z0lHRnlaU0J2YldsMGRHVmtJR1p5YjIwZ1lFQnViMlJsS0NsZ1hHNGdLaUJ6YnlCMGFHVjVJR0Z5WlNCeVpYTnZiSFpsWkNCbWNtOXRJSFJvWlNCZ1hDSkJaMlZ1ZEZ3aVlDQmpZWFJsWjI5eWVTQnpkSGxzWlM1Y2JpQXFMMXh1UUc1dlpHVW9YQ0pqYjNKbExtRm5aVzUwWENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExtRm5aVzUwWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWtGblpXNTBYQ0lzWEc0Z0lDOHZJR052Ykc5eUlHRnVaQ0JwWTI5dUlHOXRhWFIwWldRZzRvQ1VJSEpsYzI5c2RtVmtJR1p5YjIwZ2RHaGxJRndpUVdkbGJuUmNJaUJqWVhSbFoyOXllU0J6ZEhsc1pWeHVJQ0IzYVdSMGFEb2dNVEl3TEZ4dUlDQm9aV2xuYUhRNklERTBNQ3hjYmlBZ2JHRmlaV3h6T2lCYlhDSmhaMlZ1ZEZ3aUxDQmNJbUZwWENJc0lGd2liM0pqYUdWemRISmhkRzl5WENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJa0ZuWlc1MFhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZYRzRnSUNBZ0lDQmNJa0ZKSUdGblpXNTBJSFJvWVhRZ2IzSmphR1Z6ZEhKaGRHVnpJR0VnYlc5a1pXd3NJRzFsYlc5eWVTd2dZVzVrSUhkdmNtdHpjR0ZqWlNCMGJ5QmpiMjF3YkdWMFpTQmhJSFJoYzJzdVhDSXNYRzRnSUNBZ2MyaGhjR1U2SUZ3aWNtVmpkR0Z1WjJ4bFhDSXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkJaMlZ1ZEU1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJQzh2SUMwdExTQkpibkIxZEhNZ0tHeGxablFnYzJsa1pTa2dMUzB0WEc1Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUh0Y2JpQWdJQ0JzWVdKbGJEb2dYQ0pRY205dGNIUmNJaXhjYmlBZ0lDQndiR0ZqWldodmJHUmxjam9nWENKRmJuUmxjaUIwWVhOcklIQnliMjF3ZEM0Z1UzVndjRzl5ZEhNZ2NHeGhZMlZvYjJ4a1pYSnpJR3hwYTJVZ2Uzc2dKR2x1Y0hWMExtSnlhV1ZtSUgxOUlHOXlJSHQ3SUNSdWIyUmxXMXhjWENKU1pYTmxZWEpqYUZ4Y1hDSmRMbTkxZEhCMWRDNXpkVzF0WVhKNUlIMTlYQ0lzWEc0Z0lIMHBYRzRnSUVCcGJuQjFkQ2g3SUdoaGJtUnNaVG9nWENKd2NtOXRjSFJjSWlCOUtWeHVJQ0J3Y205dGNIUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0x5OGdMUzB0SUU5MWRIQjFkSE1nS0hKcFoyaDBJSE5wWkdVcElDMHRMVnh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWxKbGMzQnZibk5sWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWtGblpXNTBJSEpsYzNCdmJuTmxYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0p5WlhOd2IyNXpaVndpSUgwcFhHNGdJSEpsYzNCdmJuTmxJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtGamRHbHZibk5jSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpUVdOMGFXOXVjeUIwWVd0bGJpQmllU0IwYUdVZ1lXZGxiblJjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW1GamRHbHZibk5jSWlCOUtWeHVJQ0JoWTNScGIyNXpJVG9nZFc1cmJtOTNibHRkTzF4dVhHNGdJQzh2SUMwdExTQkRiMjV1WldOMGFXOXVjeUFvWW05MGRHOXRJSE5wWkdVcElDMHRMVnh1WEc0Z0lFQmpiMjV1WldOMGFXOXVLSHNnWTJGMFpXZHZjbms2SUZ3aWJXOWtaV3hjSWl3Z2FHRnVaR3hsT2lCY0ltMXZaR1ZzWENJZ2ZTbGNiaUFnYlc5a1pXd2hPaUIxYm10dWIzZHVPMXh1WEc0Z0lFQmpiMjV1WldOMGFXOXVLSHNnWTJGMFpXZHZjbms2SUZ3aWJXVnRiM0o1WENJc0lHaGhibVJzWlRvZ1hDSnRaVzF2Y25sY0lpQjlLVnh1SUNCdFpXMXZjbmtoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJqYjI1dVpXTjBhVzl1S0hzZ1kyRjBaV2R2Y25rNklGd2lkMjl5YTNOd1lXTmxYQ0lzSUdoaGJtUnNaVG9nWENKM2IzSnJjM0JoWTJWY0lpQjlLVnh1SUNCM2IzSnJjM0JoWTJVaE9pQjFibXR1YjNkdU8xeHVmVnh1WEc0dktpcGNiaUFxSUVGc2JDQmlkV2xzZEMxcGJpQmhaMlZ1ZENCdWIyUmxJR052Ym5OMGNuVmpkRzl5Y3k1Y2JpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFZFNRVkJJWDBGSFJVNVVYMDVQUkVWVElEMGdXMEZuWlc1MFRtOWtaVjBnWVhNZ1kyOXVjM1E3WEc0aVhYMD0iXX0=
|
|
109
|
+
//# sourceMappingURL=agent.js.map
|
|
110
|
+
//# sourceMappingURL=agent.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph/nodes/agent.cjs","sourceRoot":"","sources":["graph/nodes/agent.js"],"names":[],"mappings":"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"}
|