@decaf-ts/integrations 0.3.8 → 0.3.10
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 -1649
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -1885
- 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/engine/constants.cjs +58 -0
- package/lib/cjs/graph/engine/constants.cjs.map +1 -0
- package/lib/cjs/graph/engine/decorators.cjs +4 -0
- package/lib/cjs/graph/engine/decorators.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/index.cjs +31 -0
- package/lib/cjs/graph/engine/errors/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/index.cjs +27 -0
- package/lib/cjs/graph/engine/events/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +413 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/index.cjs +30 -0
- package/lib/cjs/graph/engine/execution/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/index.cjs +84 -0
- package/lib/cjs/graph/engine/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/index.cjs +29 -0
- package/lib/cjs/graph/engine/loops/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/index.cjs +27 -0
- package/lib/cjs/graph/engine/pinning/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/index.cjs +30 -0
- package/lib/cjs/graph/engine/planning/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/index.cjs +25 -0
- package/lib/cjs/graph/engine/registry/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
- package/lib/cjs/graph/engine/snapshots/index.cjs +24 -0
- package/lib/cjs/graph/engine/snapshots/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/index.cjs +28 -0
- package/lib/cjs/graph/engine/store/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/types.cjs +4 -0
- package/lib/cjs/graph/engine/types.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/index.cjs +26 -0
- package/lib/cjs/graph/engine/validation/index.cjs.map +1 -0
- package/lib/cjs/graph/index.cjs +10 -60
- package/lib/cjs/graph/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/constants.cjs +44 -0
- package/lib/cjs/graph/shared/constants.cjs.map +1 -0
- package/lib/cjs/graph/shared/index.cjs +38 -0
- package/lib/cjs/graph/shared/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/agent.cjs +110 -0
- package/lib/cjs/graph/shared/nodes/agent.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/base.cjs +36 -0
- package/lib/cjs/graph/shared/nodes/base.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
- package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/index.cjs +35 -0
- package/lib/cjs/graph/shared/nodes/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/shared/nodes/triggers.cjs.map +1 -0
- package/lib/cjs/graph/shared/types.cjs +4 -0
- package/lib/cjs/graph/shared/types.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/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +10 -4
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +19 -10
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
- package/lib/cjs/namespaces/services/authz.service.cjs +39 -13
- package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs.map +1 -0
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +6 -4
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +16 -7
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +4 -3
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs.map +1 -0
- package/lib/cjs/namespaces/utils.cjs +13 -5
- package/lib/cjs/namespaces/utils.cjs.map +1 -0
- package/lib/cjs/nest/authService.cjs +2 -2
- package/lib/cjs/nest/authService.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +6 -4
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +97 -11
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -0
- package/lib/cjs/nest/graph/index.cjs +2 -2
- package/lib/cjs/nest/graph/index.cjs.map +1 -0
- package/lib/cjs/nest/graph/main.cjs +30 -0
- package/lib/cjs/nest/graph/main.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/engine/constants.js +62 -0
- package/lib/esm/graph/engine/constants.js.map +1 -0
- package/lib/esm/graph/engine/decorators.js +2 -0
- package/lib/esm/graph/engine/decorators.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphCycleError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphInputError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPinningError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPortError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphStoreError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +1 -0
- package/lib/esm/graph/engine/errors/index.js +14 -0
- package/lib/esm/graph/engine/errors/index.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +1 -0
- package/lib/esm/graph/engine/events/index.js +10 -0
- package/lib/esm/graph/engine/events/index.js.map +1 -0
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +408 -0
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/index.js +13 -0
- package/lib/esm/graph/engine/execution/index.js.map +1 -0
- package/lib/esm/graph/engine/index.js +67 -0
- package/lib/esm/graph/engine/index.js.map +1 -0
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +1 -0
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/index.js +12 -0
- package/lib/esm/graph/engine/loops/index.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
- package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +1 -0
- package/lib/esm/graph/engine/pinning/index.js +10 -0
- package/lib/esm/graph/engine/pinning/index.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
- package/lib/esm/graph/engine/planning/GraphTopology.js.map +1 -0
- package/lib/esm/graph/engine/planning/index.js +13 -0
- package/lib/esm/graph/engine/planning/index.js.map +1 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +1 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +1 -0
- package/lib/esm/graph/engine/registry/index.js +8 -0
- package/lib/esm/graph/engine/registry/index.js.map +1 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
- package/lib/esm/graph/engine/snapshots/index.js +7 -0
- package/lib/esm/graph/engine/snapshots/index.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
- package/lib/esm/graph/engine/store/GraphCachedValue.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
- package/lib/esm/graph/engine/store/GraphValueKey.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
- package/lib/esm/graph/engine/store/GraphValueStore.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/engine/store/index.js +11 -0
- package/lib/esm/graph/engine/store/index.js.map +1 -0
- package/lib/esm/graph/engine/types.js +2 -0
- package/lib/esm/graph/engine/types.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
- package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/index.js +9 -0
- package/lib/esm/graph/engine/validation/index.js.map +1 -0
- package/lib/esm/graph/index.js +9 -59
- package/lib/esm/graph/index.js.map +1 -0
- package/lib/esm/graph/shared/constants.js +56 -0
- package/lib/esm/graph/shared/constants.js.map +1 -0
- package/lib/esm/graph/shared/index.js +19 -0
- package/lib/esm/graph/shared/index.js.map +1 -0
- package/lib/esm/graph/shared/nodes/agent.js +101 -0
- package/lib/esm/graph/shared/nodes/agent.js.map +1 -0
- package/lib/esm/graph/shared/nodes/base.js +31 -0
- package/lib/esm/graph/shared/nodes/base.js.map +1 -0
- package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
- package/lib/esm/graph/shared/nodes/category-styles.js.map +1 -0
- package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
- package/lib/esm/graph/shared/nodes/flow-control.js.map +1 -0
- package/lib/esm/graph/shared/nodes/index.js +18 -0
- package/lib/esm/graph/shared/nodes/index.js.map +1 -0
- package/lib/esm/graph/shared/nodes/triggers.js +241 -0
- package/lib/esm/graph/shared/nodes/triggers.js.map +1 -0
- package/lib/esm/graph/shared/types.js +2 -0
- package/lib/esm/graph/shared/types.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/namespaces/index.js +1 -1
- package/lib/esm/namespaces/index.js.map +1 -0
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js.map +1 -0
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/index.js.map +1 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js.map +1 -0
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js.map +1 -0
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant.model.js +3 -3
- package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.js +10 -4
- package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.services.js +18 -9
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
- package/lib/esm/namespaces/services/authz.service.js +40 -14
- package/lib/esm/namespaces/services/authz.service.js.map +1 -0
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js.map +1 -0
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/index.js.map +1 -0
- package/lib/esm/namespaces/services/inheritance-block.service.js +5 -3
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-closure.service.js +16 -7
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js.map +1 -0
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-assignment.service.js +3 -2
- package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js.map +1 -0
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js.map +1 -0
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/types.js.map +1 -0
- package/lib/esm/namespaces/utils.js +12 -4
- package/lib/esm/namespaces/utils.js.map +1 -0
- package/lib/esm/nest/authService.js +1 -1
- package/lib/esm/nest/authService.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionController.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionModule.js +6 -4
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionResultRepository.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultRepository.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +96 -11
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -0
- package/lib/esm/nest/graph/index.js +1 -1
- package/lib/esm/nest/graph/index.js.map +1 -0
- package/lib/esm/nest/graph/main.js +27 -0
- package/lib/esm/nest/graph/main.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/graph/engine/constants.d.cts +59 -0
- package/lib/types/graph/engine/constants.d.mts +59 -0
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
- package/lib/types/graph/engine/index.d.cts +61 -0
- package/lib/types/graph/engine/index.d.mts +61 -0
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
- package/lib/types/graph/{types.d.cts → engine/types.d.cts} +12 -148
- package/lib/types/graph/{types.d.mts → engine/types.d.mts} +12 -148
- package/lib/types/graph/index.d.cts +8 -53
- package/lib/types/graph/index.d.mts +8 -53
- package/lib/types/graph/shared/constants.d.cts +53 -0
- package/lib/types/graph/shared/constants.d.mts +53 -0
- package/lib/types/graph/shared/index.d.cts +18 -0
- package/lib/types/graph/shared/index.d.mts +18 -0
- package/lib/types/graph/shared/types.d.cts +162 -0
- package/lib/types/graph/shared/types.d.mts +162 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +33 -5
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +33 -5
- package/lib/types/nest/graph/main.d.cts +1 -0
- package/lib/types/nest/graph/main.d.mts +1 -0
- package/package.json +19 -8
- package/lib/cjs/graph/constants.cjs +0 -94
- package/lib/cjs/graph/decorators.cjs +0 -4
- package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
- package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
- package/lib/cjs/graph/errors/index.cjs +0 -31
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
- package/lib/cjs/graph/events/index.cjs +0 -27
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
- package/lib/cjs/graph/execution/index.cjs +0 -30
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
- package/lib/cjs/graph/loops/index.cjs +0 -29
- package/lib/cjs/graph/nodes/agent.cjs +0 -110
- package/lib/cjs/graph/nodes/base.cjs +0 -35
- package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
- package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
- package/lib/cjs/graph/nodes/index.cjs +0 -35
- package/lib/cjs/graph/nodes/triggers.cjs +0 -250
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
- package/lib/cjs/graph/pinning/index.cjs +0 -27
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
- package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
- package/lib/cjs/graph/planning/index.cjs +0 -30
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
- package/lib/cjs/graph/registry/index.cjs +0 -25
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
- package/lib/cjs/graph/snapshots/index.cjs +0 -24
- package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
- package/lib/cjs/graph/store/index.cjs +0 -28
- package/lib/cjs/graph/types.cjs +0 -4
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
- package/lib/cjs/graph/validation/index.cjs +0 -26
- package/lib/esm/graph/constants.js +0 -106
- package/lib/esm/graph/decorators.js +0 -2
- package/lib/esm/graph/errors/GraphCycleError.js +0 -15
- package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
- package/lib/esm/graph/errors/GraphInputError.js +0 -15
- package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
- package/lib/esm/graph/errors/GraphPinningError.js +0 -15
- package/lib/esm/graph/errors/GraphPortError.js +0 -15
- package/lib/esm/graph/errors/GraphStoreError.js +0 -15
- package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
- package/lib/esm/graph/errors/index.js +0 -14
- package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
- package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
- package/lib/esm/graph/events/index.js +0 -10
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
- package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
- package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
- package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
- package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
- package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
- package/lib/esm/graph/execution/index.js +0 -13
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
- package/lib/esm/graph/loops/index.js +0 -12
- package/lib/esm/graph/nodes/agent.js +0 -101
- package/lib/esm/graph/nodes/base.js +0 -30
- package/lib/esm/graph/nodes/category-styles.js +0 -34
- package/lib/esm/graph/nodes/flow-control.js +0 -455
- package/lib/esm/graph/nodes/index.js +0 -18
- package/lib/esm/graph/nodes/triggers.js +0 -241
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
- package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
- package/lib/esm/graph/pinning/index.js +0 -10
- package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
- package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
- package/lib/esm/graph/planning/GraphTopology.js +0 -52
- package/lib/esm/graph/planning/index.js +0 -13
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
- package/lib/esm/graph/registry/index.js +0 -8
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
- package/lib/esm/graph/snapshots/index.js +0 -7
- package/lib/esm/graph/store/GraphCachedValue.js +0 -2
- package/lib/esm/graph/store/GraphValueKey.js +0 -7
- package/lib/esm/graph/store/GraphValueStore.js +0 -71
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
- package/lib/esm/graph/store/index.js +0 -11
- package/lib/esm/graph/types.js +0 -2
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
- package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
- package/lib/esm/graph/validation/index.js +0 -9
- package/lib/types/graph/constants.d.cts +0 -101
- package/lib/types/graph/constants.d.mts +0 -101
- /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
- /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ForeachGraphNodeExecutor = void 0;
|
|
4
|
-
const constants_js_1 = require("./../constants.cjs");
|
|
5
|
-
const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
|
|
6
|
-
const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
|
|
7
|
-
/**
|
|
8
|
-
* Executor for `core.loop.foreach` nodes.
|
|
9
|
-
*
|
|
10
|
-
* Expects input:
|
|
11
|
-
* - `items`: array of values to iterate over
|
|
12
|
-
* - `state?`: optional initial state
|
|
13
|
-
*
|
|
14
|
-
* Produces output:
|
|
15
|
-
* - `results`: array of body outputs (in item order)
|
|
16
|
-
* - `state?`: final state
|
|
17
|
-
* - `iterations`: number of iterations executed
|
|
18
|
-
*/
|
|
19
|
-
class ForeachGraphNodeExecutor {
|
|
20
|
-
constructor(engine) {
|
|
21
|
-
this.engine = engine;
|
|
22
|
-
}
|
|
23
|
-
async execute(input, context) {
|
|
24
|
-
const metadata = this.extractMetadata(context);
|
|
25
|
-
const items = input.items;
|
|
26
|
-
const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_FOREACH_ITERATIONS;
|
|
27
|
-
if (!Array.isArray(items)) {
|
|
28
|
-
throw new GraphInputError_js_1.GraphInputError("foreach input 'items' must be an array");
|
|
29
|
-
}
|
|
30
|
-
if (items.length > maxIterations) {
|
|
31
|
-
throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`foreach exceeded max iterations (${items.length} > ${maxIterations})`);
|
|
32
|
-
}
|
|
33
|
-
const itemPort = metadata.itemPort ?? "item";
|
|
34
|
-
const resultPort = metadata.resultPort ?? "result";
|
|
35
|
-
const statePort = metadata.statePort ?? "state";
|
|
36
|
-
const bodyWorkflow = metadata.body;
|
|
37
|
-
const results = [];
|
|
38
|
-
let state = input.state;
|
|
39
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_STARTED });
|
|
40
|
-
for (let i = 0; i < items.length; i++) {
|
|
41
|
-
await context.emit({
|
|
42
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
|
|
43
|
-
iteration: i,
|
|
44
|
-
});
|
|
45
|
-
const childInputs = {
|
|
46
|
-
[itemPort]: items[i],
|
|
47
|
-
index: i,
|
|
48
|
-
};
|
|
49
|
-
if (state !== undefined)
|
|
50
|
-
childInputs[statePort] = state;
|
|
51
|
-
const childResult = await this.engine.execute(bodyWorkflow, childInputs, {
|
|
52
|
-
parentRunId: context.runId,
|
|
53
|
-
path: [...context.path, `iteration:${i}`],
|
|
54
|
-
});
|
|
55
|
-
results.push(childResult.outputs[resultPort]);
|
|
56
|
-
if (childResult.outputs[statePort] !== undefined) {
|
|
57
|
-
state = childResult.outputs[statePort];
|
|
58
|
-
}
|
|
59
|
-
await context.emit({
|
|
60
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
|
|
61
|
-
iteration: i,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_COMPLETED });
|
|
65
|
-
const output = {
|
|
66
|
-
results,
|
|
67
|
-
iterations: items.length,
|
|
68
|
-
};
|
|
69
|
-
if (state !== undefined)
|
|
70
|
-
output[statePort] = state;
|
|
71
|
-
return output;
|
|
72
|
-
}
|
|
73
|
-
extractMetadata(context) {
|
|
74
|
-
const raw = context.node.graph?.metadata?.loop ??
|
|
75
|
-
context.metadata?.loop;
|
|
76
|
-
if (!raw) {
|
|
77
|
-
throw new GraphInputError_js_1.GraphInputError("foreach node is missing loop metadata");
|
|
78
|
-
}
|
|
79
|
-
return raw;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.ForeachGraphNodeExecutor = ForeachGraphNodeExecutor;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2xvb3BzL0ZvcmVhY2hHcmFwaE5vZGVFeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsdUJBQXVCLEVBQUUsMEJBQXFCO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUNBQWtDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQ0FBc0M7QUFFcEU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQTZCLE1BQTRCO1FBQTVCLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBQUcsQ0FBQztJQUU3RCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FDakIsUUFBUSxDQUFDLGFBQWEsSUFBSSxvQ0FBb0MsQ0FBQztRQUVqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxlQUFlLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0Isb0NBQW9DLEtBQUssQ0FBQyxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQ3ZFLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQStCLENBQUM7UUFFOUQsTUFBTSxPQUFPLEdBQWMsRUFBRSxDQUFDO1FBQzlCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFeEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFbkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxzQkFBc0I7Z0JBQ3BELFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQyxDQUFDO1lBRUgsTUFBTSxXQUFXLEdBQXlCO2dCQUN4QyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDO2FBQ1QsQ0FBQztZQUNGLElBQUksS0FBSyxLQUFLLFNBQVM7Z0JBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUV4RCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMzQyxZQUFZLEVBQ1osV0FBVyxFQUNYO2dCQUNFLFdBQVcsRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDMUIsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDMUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsd0JBQXdCO2dCQUN0RCxTQUFTLEVBQUUsQ0FBQzthQUNiLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVyRSxNQUFNLE1BQU0sR0FBeUI7WUFDbkMsT0FBTztZQUNQLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtTQUN6QixDQUFDO1FBQ0YsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUE4QjtRQUNwRCxNQUFNLEdBQUcsR0FBSSxPQUFPLENBQUMsSUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtZQUNwRCxPQUFPLENBQUMsUUFBZ0IsRUFBRSxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLGVBQWUsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLEdBQXdCLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wcy9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3JcbiAqIEBzdW1tYXJ5IEZvcmVhY2ggbG9vcCBub2RlIGV4ZWN1dG9yLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgYm9keSB3b3JrZmxvdyBvbmNlIHBlciBpdGVtIGluIHRoZSBpbnB1dCBhcnJheSwgY29sbGVjdGluZyByZXN1bHRzIGluIG9yZGVyLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUV4ZWN1dG9yIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vZXhlY3V0aW9uL0dyYXBoRXhlY3V0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvbkVuZ2luZSB9IGZyb20gXCIuLi9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25FbmdpbmVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25WYWx1ZXMsIEdyYXBoTG9vcE1ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbmltcG9ydCB7IEdSQVBIX0RFRkFVTFRfTUFYX0ZPUkVBQ0hfSVRFUkFUSU9OUywgR3JhcGhFeGVjdXRpb25FdmVudFR5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL0dyYXBoSW5wdXRFcnJvclwiO1xuaW1wb3J0IHsgR3JhcGhMb29wTGltaXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhMb29wTGltaXRFcnJvclwiO1xuXG4vKipcbiAqIEV4ZWN1dG9yIGZvciBgY29yZS5sb29wLmZvcmVhY2hgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBpdGVtc2A6IGFycmF5IG9mIHZhbHVlcyB0byBpdGVyYXRlIG92ZXJcbiAqIC0gYHN0YXRlP2A6IG9wdGlvbmFsIGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGByZXN1bHRzYDogYXJyYXkgb2YgYm9keSBvdXRwdXRzIChpbiBpdGVtIG9yZGVyKVxuICogLSBgc3RhdGU/YDogZmluYWwgc3RhdGVcbiAqIC0gYGl0ZXJhdGlvbnNgOiBudW1iZXIgb2YgaXRlcmF0aW9ucyBleGVjdXRlZFxuICovXG5leHBvcnQgY2xhc3MgRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yIGltcGxlbWVudHMgR3JhcGhOb2RlRXhlY3V0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVuZ2luZTogR3JhcGhFeGVjdXRpb25FbmdpbmUpIHt9XG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICBpbnB1dDogR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gICAgY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0XG4gICk6IFByb21pc2U8R3JhcGhFeGVjdXRpb25WYWx1ZXM+IHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpO1xuICAgIGNvbnN0IGl0ZW1zID0gaW5wdXQuaXRlbXM7XG4gICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9XG4gICAgICBtZXRhZGF0YS5tYXhJdGVyYXRpb25zID8/IEdSQVBIX0RFRkFVTFRfTUFYX0ZPUkVBQ0hfSVRFUkFUSU9OUztcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShpdGVtcykpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJmb3JlYWNoIGlucHV0ICdpdGVtcycgbXVzdCBiZSBhbiBhcnJheVwiKTtcbiAgICB9XG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA+IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaExvb3BMaW1pdEVycm9yKFxuICAgICAgICBgZm9yZWFjaCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHtpdGVtcy5sZW5ndGh9ID4gJHttYXhJdGVyYXRpb25zfSlgXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1Qb3J0ID0gbWV0YWRhdGEuaXRlbVBvcnQgPz8gXCJpdGVtXCI7XG4gICAgY29uc3QgcmVzdWx0UG9ydCA9IG1ldGFkYXRhLnJlc3VsdFBvcnQgPz8gXCJyZXN1bHRcIjtcbiAgICBjb25zdCBzdGF0ZVBvcnQgPSBtZXRhZGF0YS5zdGF0ZVBvcnQgPz8gXCJzdGF0ZVwiO1xuICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHkgYXMgR3JhcGhXb3JrZmxvd0RlZmluaXRpb247XG5cbiAgICBjb25zdCByZXN1bHRzOiB1bmtub3duW10gPSBbXTtcbiAgICBsZXQgc3RhdGUgPSBpbnB1dC5zdGF0ZTtcblxuICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfU1RBUlRFRCB9KTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX1NUQVJURUQsXG4gICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZElucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMgPSB7XG4gICAgICAgIFtpdGVtUG9ydF06IGl0ZW1zW2ldLFxuICAgICAgICBpbmRleDogaSxcbiAgICAgIH07XG4gICAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkgY2hpbGRJbnB1dHNbc3RhdGVQb3J0XSA9IHN0YXRlO1xuXG4gICAgICBjb25zdCBjaGlsZFJlc3VsdCA9IGF3YWl0IHRoaXMuZW5naW5lLmV4ZWN1dGUoXG4gICAgICAgIGJvZHlXb3JrZmxvdyxcbiAgICAgICAgY2hpbGRJbnB1dHMsXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJlbnRSdW5JZDogY29udGV4dC5ydW5JZCxcbiAgICAgICAgICBwYXRoOiBbLi4uY29udGV4dC5wYXRoLCBgaXRlcmF0aW9uOiR7aX1gXSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmVzdWx0cy5wdXNoKGNoaWxkUmVzdWx0Lm91dHB1dHNbcmVzdWx0UG9ydF0pO1xuICAgICAgaWYgKGNoaWxkUmVzdWx0Lm91dHB1dHNbc3RhdGVQb3J0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN0YXRlID0gY2hpbGRSZXN1bHQub3V0cHV0c1tzdGF0ZVBvcnRdO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9DT01QTEVURUQsXG4gICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09NUExFVEVEIH0pO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBHcmFwaEV4ZWN1dGlvblZhbHVlcyA9IHtcbiAgICAgIHJlc3VsdHMsXG4gICAgICBpdGVyYXRpb25zOiBpdGVtcy5sZW5ndGgsXG4gICAgfTtcbiAgICBpZiAoc3RhdGUgIT09IHVuZGVmaW5lZCkgb3V0cHV0W3N0YXRlUG9ydF0gPSBzdGF0ZTtcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TWV0YWRhdGEoY29udGV4dDogR3JhcGhFeGVjdXRpb25Db250ZXh0KTogR3JhcGhMb29wTWV0YWRhdGEge1xuICAgIGNvbnN0IHJhdyA9IChjb250ZXh0Lm5vZGUgYXMgYW55KS5ncmFwaD8ubWV0YWRhdGE/Lmxvb3AgPz9cbiAgICAgIChjb250ZXh0Lm1ldGFkYXRhIGFzIGFueSk/Lmxvb3A7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJmb3JlYWNoIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmF3IGFzIEdyYXBoTG9vcE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFrRztBQUNsRyx1RUFBaUU7QUFDakUsK0VBQXlFO0FBQ3pFOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSx3QkFBd0I7SUFDakMsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLElBQUksbURBQW9DLENBQUM7UUFDckYsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksb0NBQWUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLDRDQUFtQixDQUFDLG9DQUFvQyxLQUFLLENBQUMsTUFBTSxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDMUcsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHNCQUFzQjtnQkFDcEQsU0FBUyxFQUFFLENBQUM7YUFDZixDQUFDLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRztnQkFDaEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixLQUFLLEVBQUUsQ0FBQzthQUNYLENBQUM7WUFDRixJQUFJLEtBQUssS0FBSyxTQUFTO2dCQUNuQixXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ25DLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRTtnQkFDckUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQzthQUM1QyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUyxFQUFFLENBQUM7YUFDZixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUc7WUFDWCxPQUFPO1lBQ1AsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQzNCLENBQUM7UUFDRixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQ25CLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELGVBQWUsQ0FBQyxPQUFPO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1lBQzFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNQLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKO0FBOURELDREQThEQztBQUNELDh2UUFBOHZRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9NQVhfRk9SRUFDSF9JVEVSQVRJT05TLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLy4uL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgR3JhcGhJbnB1dEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoSW5wdXRFcnJvci5qc1wiO1xuaW1wb3J0IHsgR3JhcGhMb29wTGltaXRFcnJvciB9IGZyb20gXCIuLy4uL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yLmpzXCI7XG4vKipcbiAqIEV4ZWN1dG9yIGZvciBgY29yZS5sb29wLmZvcmVhY2hgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBpdGVtc2A6IGFycmF5IG9mIHZhbHVlcyB0byBpdGVyYXRlIG92ZXJcbiAqIC0gYHN0YXRlP2A6IG9wdGlvbmFsIGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGByZXN1bHRzYDogYXJyYXkgb2YgYm9keSBvdXRwdXRzIChpbiBpdGVtIG9yZGVyKVxuICogLSBgc3RhdGU/YDogZmluYWwgc3RhdGVcbiAqIC0gYGl0ZXJhdGlvbnNgOiBudW1iZXIgb2YgaXRlcmF0aW9ucyBleGVjdXRlZFxuICovXG5leHBvcnQgY2xhc3MgRm9yZWFjaEdyYXBoTm9kZUV4ZWN1dG9yIHtcbiAgICBjb25zdHJ1Y3RvcihlbmdpbmUpIHtcbiAgICAgICAgdGhpcy5lbmdpbmUgPSBlbmdpbmU7XG4gICAgfVxuICAgIGFzeW5jIGV4ZWN1dGUoaW5wdXQsIGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4dHJhY3RNZXRhZGF0YShjb250ZXh0KTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBpbnB1dC5pdGVtcztcbiAgICAgICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9IG1ldGFkYXRhLm1heEl0ZXJhdGlvbnMgPz8gR1JBUEhfREVGQVVMVF9NQVhfRk9SRUFDSF9JVEVSQVRJT05TO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhJbnB1dEVycm9yKFwiZm9yZWFjaCBpbnB1dCAnaXRlbXMnIG11c3QgYmUgYW4gYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaExvb3BMaW1pdEVycm9yKGBmb3JlYWNoIGV4Y2VlZGVkIG1heCBpdGVyYXRpb25zICgke2l0ZW1zLmxlbmd0aH0gPiAke21heEl0ZXJhdGlvbnN9KWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1Qb3J0ID0gbWV0YWRhdGEuaXRlbVBvcnQgPz8gXCJpdGVtXCI7XG4gICAgICAgIGNvbnN0IHJlc3VsdFBvcnQgPSBtZXRhZGF0YS5yZXN1bHRQb3J0ID8/IFwicmVzdWx0XCI7XG4gICAgICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgbGV0IHN0YXRlID0gaW5wdXQuc3RhdGU7XG4gICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfU1RBUlRFRCB9KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9TVEFSVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbjogaSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRJbnB1dHMgPSB7XG4gICAgICAgICAgICAgICAgW2l0ZW1Qb3J0XTogaXRlbXNbaV0sXG4gICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHN0YXRlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgY2hpbGRJbnB1dHNbc3RhdGVQb3J0XSA9IHN0YXRlO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRSZXN1bHQgPSBhd2FpdCB0aGlzLmVuZ2luZS5leGVjdXRlKGJvZHlXb3JrZmxvdywgY2hpbGRJbnB1dHMsIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRSdW5JZDogY29udGV4dC5ydW5JZCxcbiAgICAgICAgICAgICAgICBwYXRoOiBbLi4uY29udGV4dC5wYXRoLCBgaXRlcmF0aW9uOiR7aX1gXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKGNoaWxkUmVzdWx0Lm91dHB1dHNbcmVzdWx0UG9ydF0pO1xuICAgICAgICAgICAgaWYgKGNoaWxkUmVzdWx0Lm91dHB1dHNbc3RhdGVQb3J0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb246IGksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0ge1xuICAgICAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgICAgIGl0ZXJhdGlvbnM6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHN0YXRlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBvdXRwdXRbc3RhdGVQb3J0XSA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbiAgICBleHRyYWN0TWV0YWRhdGEoY29udGV4dCkge1xuICAgICAgICBjb25zdCByYXcgPSBjb250ZXh0Lm5vZGUuZ3JhcGg/Lm1ldGFkYXRhPy5sb29wID8/XG4gICAgICAgICAgICBjb250ZXh0Lm1ldGFkYXRhPy5sb29wO1xuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcImZvcmVhY2ggbm9kZSBpcyBtaXNzaW5nIGxvb3AgbWV0YWRhdGFcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJhdztcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSbTl5WldGamFFZHlZWEJvVG05a1pVVjRaV04xZEc5eUxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wyeHZiM0J6TDBadmNtVmhZMmhIY21Gd2FFNXZaR1ZGZUdWamRYUnZjaTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWFFTeFBRVUZQTEVWQlFVVXNiME5CUVc5RExFVkJRVVVzZFVKQlFYVkNMRVZCUVVVc01FSkJRWEZDTzBGQlF6ZEdMRTlCUVU4c1JVRkJSU3hsUVVGbExFVkJRVVVzZFVOQlFXdERPMEZCUXpWRUxFOUJRVThzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3d5UTBGQmMwTTdRVUZGY0VVN096czdPenM3T3pzN08wZEJWMGM3UVVGRFNDeE5RVUZOTEU5QlFVOHNkMEpCUVhkQ08wbEJRMjVETEZsQlFUWkNMRTFCUVRSQ08xRkJRVFZDTEZkQlFVMHNSMEZCVGl4TlFVRk5MRU5CUVhOQ08wbEJRVWNzUTBGQlF6dEpRVVUzUkN4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVOWUxFdEJRVEpDTEVWQlF6TkNMRTlCUVRoQ08xRkJSVGxDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZETDBNc1RVRkJUU3hMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTXhRaXhOUVVGTkxHRkJRV0VzUjBGRGFrSXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1NVRkJTU3h2UTBGQmIwTXNRMEZCUXp0UlFVVnFSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRekZDTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc2QwTkJRWGRETEVOQlFVTXNRMEZCUXp0UlFVTjBSU3hEUVVGRE8xRkJRMFFzU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFN4SFFVRkhMR0ZCUVdFc1JVRkJSU3hEUVVGRE8xbEJRMnBETEUxQlFVMHNTVUZCU1N4dFFrRkJiVUlzUTBGRE0wSXNiME5CUVc5RExFdEJRVXNzUTBGQlF5eE5RVUZOTEUxQlFVMHNZVUZCWVN4SFFVRkhMRU5CUTNaRkxFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRExGRkJRVkVzU1VGQlNTeE5RVUZOTEVOQlFVTTdVVUZETjBNc1RVRkJUU3hWUVVGVkxFZEJRVWNzVVVGQlVTeERRVUZETEZWQlFWVXNTVUZCU1N4UlFVRlJMRU5CUVVNN1VVRkRia1FzVFVGQlRTeFRRVUZUTEVkQlFVY3NVVUZCVVN4RFFVRkRMRk5CUVZNc1NVRkJTU3hQUVVGUExFTkJRVU03VVVGRGFFUXNUVUZCVFN4WlFVRlpMRWRCUVVjc1VVRkJVU3hEUVVGRExFbEJRU3RDTEVOQlFVTTdVVUZGT1VRc1RVRkJUU3hQUVVGUExFZEJRV01zUlVGQlJTeERRVUZETzFGQlF6bENMRWxCUVVrc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZGZUVJc1RVRkJUU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkZia1VzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOMFF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJRMnBDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eHpRa0ZCYzBJN1owSkJRM0JFTEZOQlFWTXNSVUZCUlN4RFFVRkRPMkZCUTJJc1EwRkJReXhEUVVGRE8xbEJSVWdzVFVGQlRTeFhRVUZYTEVkQlFYbENPMmRDUVVONFF5eERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzQkNMRXRCUVVzc1JVRkJSU3hEUVVGRE8yRkJRMVFzUTBGQlF6dFpRVU5HTEVsQlFVa3NTMEZCU3l4TFFVRkxMRk5CUVZNN1owSkJRVVVzVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVWNFJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVU16UXl4WlFVRlpMRVZCUTFvc1YwRkJWeXhGUVVOWU8yZENRVU5GTEZkQlFWY3NSVUZCUlN4UFFVRlBMRU5CUVVNc1MwRkJTenRuUWtGRE1VSXNTVUZCU1N4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zU1VGQlNTeEZRVUZGTEdGQlFXRXNRMEZCUXl4RlFVRkZMRU5CUVVNN1lVRkRNVU1zUTBGRFJpeERRVUZETzFsQlJVWXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRPVU1zU1VGQlNTeFhRVUZYTEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExGTkJRVk1zUlVGQlJTeERRVUZETzJkQ1FVTnFSQ3hMUVVGTExFZEJRVWNzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVONlF5eERRVUZETzFsQlJVUXNUVUZCVFN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8yZENRVU5xUWl4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNkMEpCUVhkQ08yZENRVU4wUkN4VFFVRlRMRVZCUVVVc1EwRkJRenRoUVVOaUxFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTTdVVUZGUkN4TlFVRk5MRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnlSU3hOUVVGTkxFMUJRVTBzUjBGQmVVSTdXVUZEYmtNc1QwRkJUenRaUVVOUUxGVkJRVlVzUlVGQlJTeExRVUZMTEVOQlFVTXNUVUZCVFR0VFFVTjZRaXhEUVVGRE8xRkJRMFlzU1VGQlNTeExRVUZMTEV0QlFVc3NVMEZCVXp0WlFVRkZMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdVVUZEYmtRc1QwRkJUeXhOUVVGTkxFTkJRVU03U1VGRGFFSXNRMEZCUXp0SlFVVlBMR1ZCUVdVc1EwRkJReXhQUVVFNFFqdFJRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJTU3hQUVVGUExFTkJRVU1zU1VGQldTeERRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTVHRaUVVOd1JDeFBRVUZQTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xbEJRMVFzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4MVEwRkJkVU1zUTBGQlF5eERRVUZETzFGQlEzSkZMRU5CUVVNN1VVRkRSQ3hQUVVGUExFZEJRWGRDTEVOQlFVTTdTVUZEYkVNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXNiMjl3Y3k5R2IzSmxZV05vUjNKaGNHaE9iMlJsUlhobFkzVjBiM0pjYmlBcUlFQnpkVzF0WVhKNUlFWnZjbVZoWTJnZ2JHOXZjQ0J1YjJSbElHVjRaV04xZEc5eUxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFVjRaV04xZEdWeklHRWdZbTlrZVNCM2IzSnJabXh2ZHlCdmJtTmxJSEJsY2lCcGRHVnRJR2x1SUhSb1pTQnBibkIxZENCaGNuSmhlU3dnWTI5c2JHVmpkR2x1WnlCeVpYTjFiSFJ6SUdsdUlHOXlaR1Z5TGx4dUlDb3ZYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlIMGdabkp2YlNCY0lpNHVMMlY0WldOMWRHbHZiaTlIY21Gd2FFNXZaR1ZGZUdWamRYUnZjbHdpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FFVjRaV04xZEdsdmJrTnZiblJsZUhRZ2ZTQm1jbTl0SUZ3aUxpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZEZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZia1Z1WjJsdVpTQjlJR1p5YjIwZ1hDSXVMaTlsZUdWamRYUnBiMjR2UjNKaGNHaEZlR1ZqZFhScGIyNUZibWRwYm1WY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTXNJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1YyOXlhMlpzYjNkRVpXWnBibWwwYVc5dUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OTFhUzFrWldOdmNtRjBiM0p6TDJkeVlYQm9YQ0k3WEc1Y2JtbHRjRzl5ZENCN0lFZFNRVkJJWDBSRlJrRlZURlJmVFVGWVgwWlBVa1ZCUTBoZlNWUkZVa0ZVU1U5T1V5d2dSM0poY0doRmVHVmpkWFJwYjI1RmRtVnVkRlI1Y0dVZ2ZTQm1jbTl0SUZ3aUxpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRWx1Y0hWMFJYSnliM0lnZlNCbWNtOXRJRndpTGk0dlpYSnliM0p6TDBkeVlYQm9TVzV3ZFhSRmNuSnZjbHdpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hNYjI5d1RHbHRhWFJGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXZSM0poY0doTWIyOXdUR2x0YVhSRmNuSnZjbHdpTzF4dVhHNHZLaXBjYmlBcUlFVjRaV04xZEc5eUlHWnZjaUJnWTI5eVpTNXNiMjl3TG1admNtVmhZMmhnSUc1dlpHVnpMbHh1SUNwY2JpQXFJRVY0Y0dWamRITWdhVzV3ZFhRNlhHNGdLaUF0SUdCcGRHVnRjMkE2SUdGeWNtRjVJRzltSUhaaGJIVmxjeUIwYnlCcGRHVnlZWFJsSUc5MlpYSmNiaUFxSUMwZ1lITjBZWFJsUDJBNklHOXdkR2x2Ym1Gc0lHbHVhWFJwWVd3Z2MzUmhkR1ZjYmlBcVhHNGdLaUJRY205a2RXTmxjeUJ2ZFhSd2RYUTZYRzRnS2lBdElHQnlaWE4xYkhSellEb2dZWEp5WVhrZ2IyWWdZbTlrZVNCdmRYUndkWFJ6SUNocGJpQnBkR1Z0SUc5eVpHVnlLVnh1SUNvZ0xTQmdjM1JoZEdVL1lEb2dabWx1WVd3Z2MzUmhkR1ZjYmlBcUlDMGdZR2wwWlhKaGRHbHZibk5nT2lCdWRXMWlaWElnYjJZZ2FYUmxjbUYwYVc5dWN5QmxlR1ZqZFhSbFpGeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSbTl5WldGamFFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlHbHRjR3hsYldWdWRITWdSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaHdjbWwyWVhSbElISmxZV1J2Ym14NUlHVnVaMmx1WlRvZ1IzSmhjR2hGZUdWamRYUnBiMjVGYm1kcGJtVXBJSHQ5WEc1Y2JpQWdZWE41Ym1NZ1pYaGxZM1YwWlNoY2JpQWdJQ0JwYm5CMWREb2dSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE1zWEc0Z0lDQWdZMjl1ZEdWNGREb2dSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwWEc0Z0lDazZJRkJ5YjIxcGMyVThSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE0rSUh0Y2JpQWdJQ0JqYjI1emRDQnRaWFJoWkdGMFlTQTlJSFJvYVhNdVpYaDBjbUZqZEUxbGRHRmtZWFJoS0dOdmJuUmxlSFFwTzF4dUlDQWdJR052Ym5OMElHbDBaVzF6SUQwZ2FXNXdkWFF1YVhSbGJYTTdYRzRnSUNBZ1kyOXVjM1FnYldGNFNYUmxjbUYwYVc5dWN5QTlYRzRnSUNBZ0lDQnRaWFJoWkdGMFlTNXRZWGhKZEdWeVlYUnBiMjV6SUQ4L0lFZFNRVkJJWDBSRlJrRlZURlJmVFVGWVgwWlBVa1ZCUTBoZlNWUkZVa0ZVU1U5T1V6dGNibHh1SUNBZ0lHbG1JQ2doUVhKeVlYa3VhWE5CY25KaGVTaHBkR1Z0Y3lrcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUVsdWNIVjBSWEp5YjNJb1hDSm1iM0psWVdOb0lHbHVjSFYwSUNkcGRHVnRjeWNnYlhWemRDQmlaU0JoYmlCaGNuSmhlVndpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dsMFpXMXpMbXhsYm1kMGFDQStJRzFoZUVsMFpYSmhkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUV4dmIzQk1hVzFwZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JnWm05eVpXRmphQ0JsZUdObFpXUmxaQ0J0WVhnZ2FYUmxjbUYwYVc5dWN5QW9KSHRwZEdWdGN5NXNaVzVuZEdoOUlENGdKSHR0WVhoSmRHVnlZWFJwYjI1emZTbGdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsMFpXMVFiM0owSUQwZ2JXVjBZV1JoZEdFdWFYUmxiVkJ2Y25RZ1B6OGdYQ0pwZEdWdFhDSTdYRzRnSUNBZ1kyOXVjM1FnY21WemRXeDBVRzl5ZENBOUlHMWxkR0ZrWVhSaExuSmxjM1ZzZEZCdmNuUWdQejhnWENKeVpYTjFiSFJjSWp0Y2JpQWdJQ0JqYjI1emRDQnpkR0YwWlZCdmNuUWdQU0J0WlhSaFpHRjBZUzV6ZEdGMFpWQnZjblFnUHo4Z1hDSnpkR0YwWlZ3aU8xeHVJQ0FnSUdOdmJuTjBJR0p2WkhsWGIzSnJabXh2ZHlBOUlHMWxkR0ZrWVhSaExtSnZaSGtnWVhNZ1IzSmhjR2hYYjNKclpteHZkMFJsWm1sdWFYUnBiMjQ3WEc1Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhSek9pQjFibXR1YjNkdVcxMGdQU0JiWFR0Y2JpQWdJQ0JzWlhRZ2MzUmhkR1VnUFNCcGJuQjFkQzV6ZEdGMFpUdGNibHh1SUNBZ0lHRjNZV2wwSUdOdmJuUmxlSFF1WlcxcGRDaDdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZVMVJCVWxSRlJDQjlLVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVhSbGJYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlNWUkZVa0ZVU1U5T1gxTlVRVkpVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJqb2dhU3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0JqYUdsc1pFbHVjSFYwY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTWdQU0I3WEc0Z0lDQWdJQ0FnSUZ0cGRHVnRVRzl5ZEYwNklHbDBaVzF6VzJsZExGeHVJQ0FnSUNBZ0lDQnBibVJsZURvZ2FTeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ0lDQnBaaUFvYzNSaGRHVWdJVDA5SUhWdVpHVm1hVzVsWkNrZ1kyaHBiR1JKYm5CMWRITmJjM1JoZEdWUWIzSjBYU0E5SUhOMFlYUmxPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQmphR2xzWkZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVpXNW5hVzVsTG1WNFpXTjFkR1VvWEc0Z0lDQWdJQ0FnSUdKdlpIbFhiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdZMmhwYkdSSmJuQjFkSE1zWEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQndZWEpsYm5SU2RXNUpaRG9nWTI5dWRHVjRkQzV5ZFc1SlpDeGNiaUFnSUNBZ0lDQWdJQ0J3WVhSb09pQmJMaTR1WTI5dWRHVjRkQzV3WVhSb0xDQmdhWFJsY21GMGFXOXVPaVI3YVgxZ1hTeGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdLVHRjYmx4dUlDQWdJQ0FnY21WemRXeDBjeTV3ZFhOb0tHTm9hV3hrVW1WemRXeDBMbTkxZEhCMWRITmJjbVZ6ZFd4MFVHOXlkRjBwTzF4dUlDQWdJQ0FnYVdZZ0tHTm9hV3hrVW1WemRXeDBMbTkxZEhCMWRITmJjM1JoZEdWUWIzSjBYU0FoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJSE4wWVhSbElEMGdZMmhwYkdSU1pYTjFiSFF1YjNWMGNIVjBjMXR6ZEdGMFpWQnZjblJkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwbFVSVkpCVkVsUFRsOURUMDFRVEVWVVJVUXNYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHbHZiam9nYVN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlEwOU5VRXhGVkVWRUlIMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2IzVjBjSFYwT2lCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN5QTlJSHRjYmlBZ0lDQWdJSEpsYzNWc2RITXNYRzRnSUNBZ0lDQnBkR1Z5WVhScGIyNXpPaUJwZEdWdGN5NXNaVzVuZEdnc1hHNGdJQ0FnZlR0Y2JpQWdJQ0JwWmlBb2MzUmhkR1VnSVQwOUlIVnVaR1ZtYVc1bFpDa2diM1YwY0hWMFczTjBZWFJsVUc5eWRGMGdQU0J6ZEdGMFpUdGNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JsZUhSeVlXTjBUV1YwWVdSaGRHRW9ZMjl1ZEdWNGREb2dSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwS1RvZ1IzSmhjR2hNYjI5d1RXVjBZV1JoZEdFZ2UxeHVJQ0FnSUdOdmJuTjBJSEpoZHlBOUlDaGpiMjUwWlhoMExtNXZaR1VnWVhNZ1lXNTVLUzVuY21Gd2FEOHViV1YwWVdSaGRHRS9MbXh2YjNBZ1B6OWNiaUFnSUNBZ0lDaGpiMjUwWlhoMExtMWxkR0ZrWVhSaElHRnpJR0Z1ZVNrL0xteHZiM0E3WEc0Z0lDQWdhV1lnS0NGeVlYY3BJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFbHVjSFYwUlhKeWIzSW9YQ0ptYjNKbFlXTm9JRzV2WkdVZ2FYTWdiV2x6YzJsdVp5QnNiMjl3SUcxbGRHRmtZWFJoWENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbUYzSUdGeklFZHlZWEJvVEc5dmNFMWxkR0ZrWVhSaE8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphConditionEvaluator = void 0;
|
|
4
|
-
const constants_js_1 = require("./../constants.cjs");
|
|
5
|
-
const GraphExecutionError_js_1 = require("./../errors/GraphExecutionError.cjs");
|
|
6
|
-
const ConditionExpressionEvaluator_js_1 = require("./ConditionExpressionEvaluator.cjs");
|
|
7
|
-
/**
|
|
8
|
-
* Evaluates loop conditions using built-in comparison types or the
|
|
9
|
-
* `ConditionExpression` DSL.
|
|
10
|
-
*/
|
|
11
|
-
class GraphConditionEvaluator {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.expressionEvaluator = new ConditionExpressionEvaluator_js_1.ConditionExpressionEvaluator();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Evaluates a condition against the given state.
|
|
17
|
-
*
|
|
18
|
-
* When the condition object carries an `op` field, it is treated as a
|
|
19
|
-
* `ConditionExpression` (§22.3) and dispatched to the
|
|
20
|
-
* {@link ConditionExpressionEvaluator}. Otherwise the built-in `type`-based
|
|
21
|
-
* switch is used.
|
|
22
|
-
*
|
|
23
|
-
* @param condition - The condition definition.
|
|
24
|
-
* @param state - The current loop state.
|
|
25
|
-
* @returns `true` when the condition passes.
|
|
26
|
-
*/
|
|
27
|
-
evaluate(condition, state) {
|
|
28
|
-
if (this.isConditionExpression(condition)) {
|
|
29
|
-
return this.expressionEvaluator.evaluate(condition, state);
|
|
30
|
-
}
|
|
31
|
-
const left = this.resolveValue(condition.left, state);
|
|
32
|
-
const right = condition.right;
|
|
33
|
-
switch (condition.type) {
|
|
34
|
-
case constants_js_1.GraphConditionType.TRUTHY:
|
|
35
|
-
return !!left;
|
|
36
|
-
case constants_js_1.GraphConditionType.FALSY:
|
|
37
|
-
return !left;
|
|
38
|
-
case constants_js_1.GraphConditionType.EQUALS:
|
|
39
|
-
return left === right;
|
|
40
|
-
case constants_js_1.GraphConditionType.NOT_EQUALS:
|
|
41
|
-
return left !== right;
|
|
42
|
-
case constants_js_1.GraphConditionType.GREATER_THAN:
|
|
43
|
-
return Number(left) > Number(right);
|
|
44
|
-
case constants_js_1.GraphConditionType.GREATER_THAN_OR_EQUAL:
|
|
45
|
-
return Number(left) >= Number(right);
|
|
46
|
-
case constants_js_1.GraphConditionType.LESS_THAN:
|
|
47
|
-
return Number(left) < Number(right);
|
|
48
|
-
case constants_js_1.GraphConditionType.LESS_THAN_OR_EQUAL:
|
|
49
|
-
return Number(left) <= Number(right);
|
|
50
|
-
case constants_js_1.GraphConditionType.EXISTS:
|
|
51
|
-
return left !== undefined && left !== null;
|
|
52
|
-
case constants_js_1.GraphConditionType.CUSTOM:
|
|
53
|
-
throw new GraphExecutionError_js_1.GraphExecutionError("Custom condition evaluators are not supported in v1", "GRAPH_CUSTOM_CONDITION_UNSUPPORTED");
|
|
54
|
-
default:
|
|
55
|
-
throw new GraphExecutionError_js_1.GraphExecutionError(`Unknown condition type '${condition.type}'`, "GRAPH_UNKNOWN_CONDITION_TYPE", { condition });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Resolves a value that may be a dotted path into the state object.
|
|
60
|
-
*/
|
|
61
|
-
resolveValue(path, state) {
|
|
62
|
-
if (!path)
|
|
63
|
-
return state;
|
|
64
|
-
const parts = path.split(".");
|
|
65
|
-
let current = state;
|
|
66
|
-
for (const part of parts) {
|
|
67
|
-
if (current == null)
|
|
68
|
-
return undefined;
|
|
69
|
-
current = current[part];
|
|
70
|
-
}
|
|
71
|
-
return current;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Detects whether a condition object is a `ConditionExpression` (§22.3) by
|
|
75
|
-
* checking for the presence of an `op` field. When true, the object is
|
|
76
|
-
* treated as a `ConditionExpression` and dispatched to the
|
|
77
|
-
* {@link ConditionExpressionEvaluator}.
|
|
78
|
-
*/
|
|
79
|
-
isConditionExpression(condition) {
|
|
80
|
-
return typeof condition.op === "string";
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.GraphConditionEvaluator = GraphConditionEvaluator;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbG9vcHMvR3JhcGhDb25kaXRpb25FdmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLDBCQUFxQjtBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkNBQXNDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwwQ0FBdUM7QUFFOUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNtQix3QkFBbUIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUE4RTVFLENBQUM7SUE1RUM7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxRQUFRLENBQUMsU0FBeUQsRUFBRSxLQUFjO1FBQ2hGLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFFOUIsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUM1QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsS0FBSyxrQkFBa0IsQ0FBQyxLQUFLO2dCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUM1QixPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7WUFDeEIsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVO2dCQUNoQyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUM7WUFDeEIsS0FBSyxrQkFBa0IsQ0FBQyxZQUFZO2dCQUNsQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsS0FBSyxrQkFBa0IsQ0FBQyxxQkFBcUI7Z0JBQzNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxLQUFLLGtCQUFrQixDQUFDLFNBQVM7Z0JBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxLQUFLLGtCQUFrQixDQUFDLGtCQUFrQjtnQkFDeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssa0JBQWtCLENBQUMsTUFBTTtnQkFDNUIsT0FBTyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUM7WUFDN0MsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUM1QixNQUFNLElBQUksbUJBQW1CLENBQzNCLHFEQUFxRCxFQUNyRCxvQ0FBb0MsQ0FDckMsQ0FBQztZQUNKO2dCQUNFLE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsMkJBQTJCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFDNUMsOEJBQThCLEVBQzlCLEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxZQUFZLENBQUMsSUFBd0IsRUFBRSxLQUFjO1FBQzNELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLE9BQU8sR0FBWSxLQUFLLENBQUM7UUFDN0IsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixJQUFJLE9BQU8sSUFBSSxJQUFJO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ3RDLE9BQU8sR0FBSSxPQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FBQyxTQUF5RDtRQUNyRixPQUFPLE9BQVEsU0FBd0MsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbG9vcHMvR3JhcGhDb25kaXRpb25FdmFsdWF0b3JcbiAqIEBzdW1tYXJ5IEV2YWx1YXRvciBmb3IgYnVpbHQtaW4gbG9vcCBjb25kaXRpb24gdHlwZXMgYW5kIHRoZSBgQ29uZGl0aW9uRXhwcmVzc2lvbmAgRFNMLlxuICogQGRlc2NyaXB0aW9uIFN1cHBvcnRzIHNhZmUsIGJ1aWx0LWluIGNvbmRpdGlvbiB0eXBlcyBvbmx5LiBEb2VzIE5PVCBldmFsdWF0ZSBhcmJpdHJhcnkgSmF2YVNjcmlwdCBleHByZXNzaW9ucy5cbiAqIFdoZW4gdGhlIGNvbmRpdGlvbiBvYmplY3QgY2FycmllcyBhbiBgb3BgIGZpZWxkIChBTEZSRUQtNSDCpzggLyBERUNBRi0zMiDCpzIyLjMpLCBkaXNwYXRjaGVzIHRvIHRoZVxuICoge0BsaW5rIENvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3J9IGluc3RlYWQgb2YgdGhlIGJ1aWx0LWluIGB0eXBlYC1iYXNlZCBzd2l0Y2guXG4gKi9cbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uRXhwcmVzc2lvbiwgR3JhcGhDb25kaXRpb25EZWZpbml0aW9uIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmFwaENvbmRpdGlvblR5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy9HcmFwaEV4ZWN1dGlvbkVycm9yXCI7XG5pbXBvcnQgeyBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yIH0gZnJvbSBcIi4vQ29uZGl0aW9uRXhwcmVzc2lvbkV2YWx1YXRvclwiO1xuXG4vKipcbiAqIEV2YWx1YXRlcyBsb29wIGNvbmRpdGlvbnMgdXNpbmcgYnVpbHQtaW4gY29tcGFyaXNvbiB0eXBlcyBvciB0aGVcbiAqIGBDb25kaXRpb25FeHByZXNzaW9uYCBEU0wuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXhwcmVzc2lvbkV2YWx1YXRvciA9IG5ldyBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yKCk7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIGNvbmRpdGlvbiBhZ2FpbnN0IHRoZSBnaXZlbiBzdGF0ZS5cbiAgICpcbiAgICogV2hlbiB0aGUgY29uZGl0aW9uIG9iamVjdCBjYXJyaWVzIGFuIGBvcGAgZmllbGQsIGl0IGlzIHRyZWF0ZWQgYXMgYVxuICAgKiBgQ29uZGl0aW9uRXhwcmVzc2lvbmAgKMKnMjIuMykgYW5kIGRpc3BhdGNoZWQgdG8gdGhlXG4gICAqIHtAbGluayBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yfS4gT3RoZXJ3aXNlIHRoZSBidWlsdC1pbiBgdHlwZWAtYmFzZWRcbiAgICogc3dpdGNoIGlzIHVzZWQuXG4gICAqXG4gICAqIEBwYXJhbSBjb25kaXRpb24gLSBUaGUgY29uZGl0aW9uIGRlZmluaXRpb24uXG4gICAqIEBwYXJhbSBzdGF0ZSAtIFRoZSBjdXJyZW50IGxvb3Agc3RhdGUuXG4gICAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBjb25kaXRpb24gcGFzc2VzLlxuICAgKi9cbiAgZXZhbHVhdGUoY29uZGl0aW9uOiBHcmFwaENvbmRpdGlvbkRlZmluaXRpb24gfCBDb25kaXRpb25FeHByZXNzaW9uLCBzdGF0ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzQ29uZGl0aW9uRXhwcmVzc2lvbihjb25kaXRpb24pKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHByZXNzaW9uRXZhbHVhdG9yLmV2YWx1YXRlKGNvbmRpdGlvbiwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0IGxlZnQgPSB0aGlzLnJlc29sdmVWYWx1ZShjb25kaXRpb24ubGVmdCwgc3RhdGUpO1xuICAgIGNvbnN0IHJpZ2h0ID0gY29uZGl0aW9uLnJpZ2h0O1xuXG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuVFJVVEhZOlxuICAgICAgICByZXR1cm4gISFsZWZ0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRkFMU1k6XG4gICAgICAgIHJldHVybiAhbGVmdDtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkVRVUFMUzpcbiAgICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuTk9UX0VRVUFMUzpcbiAgICAgICAgcmV0dXJuIGxlZnQgIT09IHJpZ2h0O1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuR1JFQVRFUl9USEFOOlxuICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID4gTnVtYmVyKHJpZ2h0KTtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA+PSBOdW1iZXIocmlnaHQpO1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuTEVTU19USEFOOlxuICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpIDwgTnVtYmVyKHJpZ2h0KTtcbiAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkxFU1NfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8PSBOdW1iZXIocmlnaHQpO1xuICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRVhJU1RTOlxuICAgICAgICByZXR1cm4gbGVmdCAhPT0gdW5kZWZpbmVkICYmIGxlZnQgIT09IG51bGw7XG4gICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5DVVNUT006XG4gICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICAgIFwiQ3VzdG9tIGNvbmRpdGlvbiBldmFsdWF0b3JzIGFyZSBub3Qgc3VwcG9ydGVkIGluIHYxXCIsXG4gICAgICAgICAgXCJHUkFQSF9DVVNUT01fQ09ORElUSU9OX1VOU1VQUE9SVEVEXCJcbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICAgIGBVbmtub3duIGNvbmRpdGlvbiB0eXBlICcke2NvbmRpdGlvbi50eXBlfSdgLFxuICAgICAgICAgIFwiR1JBUEhfVU5LTk9XTl9DT05ESVRJT05fVFlQRVwiLFxuICAgICAgICAgIHsgY29uZGl0aW9uIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSB2YWx1ZSB0aGF0IG1heSBiZSBhIGRvdHRlZCBwYXRoIGludG8gdGhlIHN0YXRlIG9iamVjdC5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVZhbHVlKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCwgc3RhdGU6IHVua25vd24pOiB1bmtub3duIHtcbiAgICBpZiAoIXBhdGgpIHJldHVybiBzdGF0ZTtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGxldCBjdXJyZW50OiB1bmtub3duID0gc3RhdGU7XG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICBpZiAoY3VycmVudCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY3VycmVudCA9IChjdXJyZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtwYXJ0XTtcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0cyB3aGV0aGVyIGEgY29uZGl0aW9uIG9iamVjdCBpcyBhIGBDb25kaXRpb25FeHByZXNzaW9uYCAowqcyMi4zKSBieVxuICAgKiBjaGVja2luZyBmb3IgdGhlIHByZXNlbmNlIG9mIGFuIGBvcGAgZmllbGQuIFdoZW4gdHJ1ZSwgdGhlIG9iamVjdCBpc1xuICAgKiB0cmVhdGVkIGFzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gIGFuZCBkaXNwYXRjaGVkIHRvIHRoZVxuICAgKiB7QGxpbmsgQ29uZGl0aW9uRXhwcmVzc2lvbkV2YWx1YXRvcn0uXG4gICAqL1xuICBwcml2YXRlIGlzQ29uZGl0aW9uRXhwcmVzc2lvbihjb25kaXRpb246IEdyYXBoQ29uZGl0aW9uRGVmaW5pdGlvbiB8IENvbmRpdGlvbkV4cHJlc3Npb24pOiBjb25kaXRpb24gaXMgQ29uZGl0aW9uRXhwcmVzc2lvbiB7XG4gICAgcmV0dXJuIHR5cGVvZiAoY29uZGl0aW9uIGFzIHVua25vd24gYXMgeyBvcD86IHN0cmluZyB9KS5vcCA9PT0gXCJzdHJpbmdcIjtcbiAgfVxufVxuIl19
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaENvbmRpdGlvbkV2YWx1YXRvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBdUQ7QUFDdkQsK0VBQXlFO0FBQ3pFLHVGQUFpRjtBQUNqRjs7O0dBR0c7QUFDSCxNQUFhLHVCQUF1QjtJQUNoQztRQUNJLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLDhEQUE0QixFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUNEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLO1FBQ3JCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsS0FBSyxpQ0FBa0IsQ0FBQyxNQUFNO2dCQUMxQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsS0FBSyxpQ0FBa0IsQ0FBQyxLQUFLO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEtBQUssaUNBQWtCLENBQUMsTUFBTTtnQkFDMUIsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQzFCLEtBQUssaUNBQWtCLENBQUMsVUFBVTtnQkFDOUIsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQzFCLEtBQUssaUNBQWtCLENBQUMsWUFBWTtnQkFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLEtBQUssaUNBQWtCLENBQUMscUJBQXFCO2dCQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsS0FBSyxpQ0FBa0IsQ0FBQyxTQUFTO2dCQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsS0FBSyxpQ0FBa0IsQ0FBQyxrQkFBa0I7Z0JBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxLQUFLLGlDQUFrQixDQUFDLE1BQU07Z0JBQzFCLE9BQU8sSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQy9DLEtBQUssaUNBQWtCLENBQUMsTUFBTTtnQkFDMUIsTUFBTSxJQUFJLDRDQUFtQixDQUFDLHFEQUFxRCxFQUFFLG9DQUFvQyxDQUFDLENBQUM7WUFDL0g7Z0JBQ0ksTUFBTSxJQUFJLDRDQUFtQixDQUFDLDJCQUEyQixTQUFTLENBQUMsSUFBSSxHQUFHLEVBQUUsOEJBQThCLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25JLENBQUM7SUFDTCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDcEIsSUFBSSxDQUFDLElBQUk7WUFDTCxPQUFPLEtBQUssQ0FBQztRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxJQUFJLElBQUk7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7WUFDckIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsU0FBUztRQUMzQixPQUFPLE9BQU8sU0FBUyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBdkVELDBEQXVFQztBQUNELGt5UEFBa3lQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhDb25kaXRpb25UeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3IuanNcIjtcbmltcG9ydCB7IENvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3IgfSBmcm9tIFwiLi9Db25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yLmpzXCI7XG4vKipcbiAqIEV2YWx1YXRlcyBsb29wIGNvbmRpdGlvbnMgdXNpbmcgYnVpbHQtaW4gY29tcGFyaXNvbiB0eXBlcyBvciB0aGVcbiAqIGBDb25kaXRpb25FeHByZXNzaW9uYCBEU0wuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbkV2YWx1YXRvciA9IG5ldyBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV2YWx1YXRlcyBhIGNvbmRpdGlvbiBhZ2FpbnN0IHRoZSBnaXZlbiBzdGF0ZS5cbiAgICAgKlxuICAgICAqIFdoZW4gdGhlIGNvbmRpdGlvbiBvYmplY3QgY2FycmllcyBhbiBgb3BgIGZpZWxkLCBpdCBpcyB0cmVhdGVkIGFzIGFcbiAgICAgKiBgQ29uZGl0aW9uRXhwcmVzc2lvbmAgKMKnMjIuMykgYW5kIGRpc3BhdGNoZWQgdG8gdGhlXG4gICAgICoge0BsaW5rIENvbmRpdGlvbkV4cHJlc3Npb25FdmFsdWF0b3J9LiBPdGhlcndpc2UgdGhlIGJ1aWx0LWluIGB0eXBlYC1iYXNlZFxuICAgICAqIHN3aXRjaCBpcyB1c2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmRpdGlvbiAtIFRoZSBjb25kaXRpb24gZGVmaW5pdGlvbi5cbiAgICAgKiBAcGFyYW0gc3RhdGUgLSBUaGUgY3VycmVudCBsb29wIHN0YXRlLlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBjb25kaXRpb24gcGFzc2VzLlxuICAgICAqL1xuICAgIGV2YWx1YXRlKGNvbmRpdGlvbiwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb25kaXRpb25FeHByZXNzaW9uKGNvbmRpdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3IuZXZhbHVhdGUoY29uZGl0aW9uLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGVmdCA9IHRoaXMucmVzb2x2ZVZhbHVlKGNvbmRpdGlvbi5sZWZ0LCBzdGF0ZSk7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gY29uZGl0aW9uLnJpZ2h0O1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5UUlVUSFk6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbGVmdDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkZBTFNZOlxuICAgICAgICAgICAgICAgIHJldHVybiAhbGVmdDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkVRVUFMUzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5OT1RfRVFVQUxTOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0ICE9PSByaWdodDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID4gTnVtYmVyKHJpZ2h0KTtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkdSRUFURVJfVEhBTl9PUl9FUVVBTDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGxlZnQpID49IE51bWJlcihyaWdodCk7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5MRVNTX1RIQU46XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8IE51bWJlcihyaWdodCk7XG4gICAgICAgICAgICBjYXNlIEdyYXBoQ29uZGl0aW9uVHlwZS5MRVNTX1RIQU5fT1JfRVFVQUw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihsZWZ0KSA8PSBOdW1iZXIocmlnaHQpO1xuICAgICAgICAgICAgY2FzZSBHcmFwaENvbmRpdGlvblR5cGUuRVhJU1RTOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0ICE9PSB1bmRlZmluZWQgJiYgbGVmdCAhPT0gbnVsbDtcbiAgICAgICAgICAgIGNhc2UgR3JhcGhDb25kaXRpb25UeXBlLkNVU1RPTTpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhFeGVjdXRpb25FcnJvcihcIkN1c3RvbSBjb25kaXRpb24gZXZhbHVhdG9ycyBhcmUgbm90IHN1cHBvcnRlZCBpbiB2MVwiLCBcIkdSQVBIX0NVU1RPTV9DT05ESVRJT05fVU5TVVBQT1JURURcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKGBVbmtub3duIGNvbmRpdGlvbiB0eXBlICcke2NvbmRpdGlvbi50eXBlfSdgLCBcIkdSQVBIX1VOS05PV05fQ09ORElUSU9OX1RZUEVcIiwgeyBjb25kaXRpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSB2YWx1ZSB0aGF0IG1heSBiZSBhIGRvdHRlZCBwYXRoIGludG8gdGhlIHN0YXRlIG9iamVjdC5cbiAgICAgKi9cbiAgICByZXNvbHZlVmFsdWUocGF0aCwgc3RhdGUpIHtcbiAgICAgICAgaWYgKCFwYXRoKVxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgICAgICBsZXQgY3VycmVudCA9IHN0YXRlO1xuICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50ID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZXRlY3RzIHdoZXRoZXIgYSBjb25kaXRpb24gb2JqZWN0IGlzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gICjCpzIyLjMpIGJ5XG4gICAgICogY2hlY2tpbmcgZm9yIHRoZSBwcmVzZW5jZSBvZiBhbiBgb3BgIGZpZWxkLiBXaGVuIHRydWUsIHRoZSBvYmplY3QgaXNcbiAgICAgKiB0cmVhdGVkIGFzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gIGFuZCBkaXNwYXRjaGVkIHRvIHRoZVxuICAgICAqIHtAbGluayBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yfS5cbiAgICAgKi9cbiAgICBpc0NvbmRpdGlvbkV4cHJlc3Npb24oY29uZGl0aW9uKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgY29uZGl0aW9uLm9wID09PSBcInN0cmluZ1wiO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hEYjI1a2FYUnBiMjVGZG1Gc2RXRjBiM0l1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ykc5dmNITXZSM0poY0doRGIyNWthWFJwYjI1RmRtRnNkV0YwYjNJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJVVUVzVDBGQlR5eEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxEQkNRVUZ4UWp0QlFVTnNSQ3hQUVVGUExFVkJRVVVzYlVKQlFXMUNMRVZCUVVVc01rTkJRWE5ETzBGQlEzQkZMRTlCUVU4c1JVRkJSU3cwUWtGQk5FSXNSVUZCUlN3d1EwRkJkVU03UVVGRk9VVTdPenRIUVVkSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEhWQ1FVRjFRanRKUVVGd1F6dFJRVU50UWl4M1FrRkJiVUlzUjBGQlJ5eEpRVUZKTERSQ1FVRTBRaXhGUVVGRkxFTkJRVU03U1VFNFJUVkZMRU5CUVVNN1NVRTFSVU03T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4UlFVRlJMRU5CUVVNc1UwRkJlVVFzUlVGQlJTeExRVUZqTzFGQlEyaEdMRWxCUVVrc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRE1VTXNUMEZCVHl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMUZCUlVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEzUkVMRTFCUVUwc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZGT1VJc1VVRkJVU3hUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZEZGtJc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4TlFVRk5PMmRDUVVNMVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRhRUlzUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTE8yZENRVU16UWl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRE8xbEJRMllzUzBGQlN5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4UFFVRlBMRWxCUVVrc1MwRkJTeXhMUVVGTExFTkJRVU03V1VGRGVFSXNTMEZCU3l4clFrRkJhMElzUTBGQlF5eFZRVUZWTzJkQ1FVTm9ReXhQUVVGUExFbEJRVWtzUzBGQlN5eExRVUZMTEVOQlFVTTdXVUZEZUVJc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4WlFVRlpPMmRDUVVOc1F5eFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdXVUZEZEVNc1MwRkJTeXhyUWtGQmEwSXNRMEZCUXl4eFFrRkJjVUk3WjBKQlF6TkRMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMlF5eExRVUZMTEd0Q1FVRnJRaXhEUVVGRExGTkJRVk03WjBKQlF5OUNMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMFF5eExRVUZMTEd0Q1FVRnJRaXhEUVVGRExHdENRVUZyUWp0blFrRkRlRU1zVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlEzWkRMRXRCUVVzc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFR0blFrRkROVUlzVDBGQlR5eEpRVUZKTEV0QlFVc3NVMEZCVXl4SlFVRkpMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03V1VGRE4wTXNTMEZCU3l4clFrRkJhMElzUTBGQlF5eE5RVUZOTzJkQ1FVTTFRaXhOUVVGTkxFbEJRVWtzYlVKQlFXMUNMRU5CUXpOQ0xIRkVRVUZ4UkN4RlFVTnlSQ3h2UTBGQmIwTXNRMEZEY2tNc1EwRkJRenRaUVVOS08yZENRVU5GTEUxQlFVMHNTVUZCU1N4dFFrRkJiVUlzUTBGRE0wSXNNa0pCUVRKQ0xGTkJRVk1zUTBGQlF5eEpRVUZKTEVkQlFVY3NSVUZETlVNc09FSkJRVGhDTEVWQlF6bENMRVZCUVVVc1UwRkJVeXhGUVVGRkxFTkJRMlFzUTBGQlF6dFJRVU5PTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eFpRVUZaTEVOQlFVTXNTVUZCZDBJc1JVRkJSU3hMUVVGak8xRkJRek5FTEVsQlFVa3NRMEZCUXl4SlFVRkpPMWxCUVVVc1QwRkJUeXhMUVVGTExFTkJRVU03VVVGRGVFSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTTVRaXhKUVVGSkxFOUJRVThzUjBGQldTeExRVUZMTEVOQlFVTTdVVUZETjBJc1MwRkJTeXhOUVVGTkxFbEJRVWtzU1VGQlNTeExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTjZRaXhKUVVGSkxFOUJRVThzU1VGQlNTeEpRVUZKTzJkQ1FVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8xbEJRM1JETEU5QlFVOHNSMEZCU1N4UFFVRnRReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzWkVMRU5CUVVNN1VVRkRSQ3hQUVVGUExFOUJRVThzUTBGQlF6dEpRVU5xUWl4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTeXh4UWtGQmNVSXNRMEZCUXl4VFFVRjVSRHRSUVVOeVJpeFBRVUZQTEU5QlFWRXNVMEZCZDBNc1EwRkJReXhGUVVGRkxFdEJRVXNzVVVGQlVTeERRVUZETzBsQlF6RkZMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Ykc5dmNITXZSM0poY0doRGIyNWthWFJwYjI1RmRtRnNkV0YwYjNKY2JpQXFJRUJ6ZFcxdFlYSjVJRVYyWVd4MVlYUnZjaUJtYjNJZ1luVnBiSFF0YVc0Z2JHOXZjQ0JqYjI1a2FYUnBiMjRnZEhsd1pYTWdZVzVrSUhSb1pTQmdRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZibUFnUkZOTUxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGTjFjSEJ2Y25SeklITmhabVVzSUdKMWFXeDBMV2x1SUdOdmJtUnBkR2x2YmlCMGVYQmxjeUJ2Ym14NUxpQkViMlZ6SUU1UFZDQmxkbUZzZFdGMFpTQmhjbUpwZEhKaGNua2dTbUYyWVZOamNtbHdkQ0JsZUhCeVpYTnphVzl1Y3k1Y2JpQXFJRmRvWlc0Z2RHaGxJR052Ym1ScGRHbHZiaUJ2WW1wbFkzUWdZMkZ5Y21sbGN5QmhiaUJnYjNCZ0lHWnBaV3hrSUNoQlRFWlNSVVF0TlNEQ3B6Z2dMeUJFUlVOQlJpMHpNaURDcHpJeUxqTXBMQ0JrYVhOd1lYUmphR1Z6SUhSdklIUm9aVnh1SUNvZ2UwQnNhVzVySUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI1RmRtRnNkV0YwYjNKOUlHbHVjM1JsWVdRZ2IyWWdkR2hsSUdKMWFXeDBMV2x1SUdCMGVYQmxZQzFpWVhObFpDQnpkMmwwWTJndVhHNGdLaTljYm1sdGNHOXlkQ0IwZVhCbElIc2dRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZiaXdnUjNKaGNHaERiMjVrYVhScGIyNUVaV1pwYm1sMGFXOXVJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRU52Ym1ScGRHbHZibFI1Y0dVZ2ZTQm1jbTl0SUZ3aUxpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRVY0WldOMWRHbHZia1Z5Y205eUlIMGdabkp2YlNCY0lpNHVMMlZ5Y205eWN5OUhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVJYWmhiSFZoZEc5eUlIMGdabkp2YlNCY0lpNHZRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZia1YyWVd4MVlYUnZjbHdpTzF4dVhHNHZLaXBjYmlBcUlFVjJZV3gxWVhSbGN5QnNiMjl3SUdOdmJtUnBkR2x2Ym5NZ2RYTnBibWNnWW5WcGJIUXRhVzRnWTI5dGNHRnlhWE52YmlCMGVYQmxjeUJ2Y2lCMGFHVmNiaUFxSUdCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVlDQkVVMHd1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCSGNtRndhRU52Ym1ScGRHbHZia1YyWVd4MVlYUnZjaUI3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1pYaHdjbVZ6YzJsdmJrVjJZV3gxWVhSdmNpQTlJRzVsZHlCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVJYWmhiSFZoZEc5eUtDazdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVjJZV3gxWVhSbGN5QmhJR052Ym1ScGRHbHZiaUJoWjJGcGJuTjBJSFJvWlNCbmFYWmxiaUJ6ZEdGMFpTNWNiaUFnSUNwY2JpQWdJQ29nVjJobGJpQjBhR1VnWTI5dVpHbDBhVzl1SUc5aWFtVmpkQ0JqWVhKeWFXVnpJR0Z1SUdCdmNHQWdabWxsYkdRc0lHbDBJR2x6SUhSeVpXRjBaV1FnWVhNZ1lWeHVJQ0FnS2lCZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJtQWdLTUtuTWpJdU15a2dZVzVrSUdScGMzQmhkR05vWldRZ2RHOGdkR2hsWEc0Z0lDQXFJSHRBYkdsdWF5QkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlmUzRnVDNSb1pYSjNhWE5sSUhSb1pTQmlkV2xzZEMxcGJpQmdkSGx3WldBdFltRnpaV1JjYmlBZ0lDb2djM2RwZEdOb0lHbHpJSFZ6WldRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmpiMjVrYVhScGIyNGdMU0JVYUdVZ1kyOXVaR2wwYVc5dUlHUmxabWx1YVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCemRHRjBaU0F0SUZSb1pTQmpkWEp5Wlc1MElHeHZiM0FnYzNSaGRHVXVYRzRnSUNBcUlFQnlaWFIxY201eklHQjBjblZsWUNCM2FHVnVJSFJvWlNCamIyNWthWFJwYjI0Z2NHRnpjMlZ6TGx4dUlDQWdLaTljYmlBZ1pYWmhiSFZoZEdVb1kyOXVaR2wwYVc5dU9pQkhjbUZ3YUVOdmJtUnBkR2x2YmtSbFptbHVhWFJwYjI0Z2ZDQkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVMQ0J6ZEdGMFpUb2dkVzVyYm05M2JpazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZiaWhqYjI1a2FYUnBiMjRwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWxlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlMbVYyWVd4MVlYUmxLR052Ym1ScGRHbHZiaXdnYzNSaGRHVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUd4bFpuUWdQU0IwYUdsekxuSmxjMjlzZG1WV1lXeDFaU2hqYjI1a2FYUnBiMjR1YkdWbWRDd2djM1JoZEdVcE8xeHVJQ0FnSUdOdmJuTjBJSEpwWjJoMElEMGdZMjl1WkdsMGFXOXVMbkpwWjJoME8xeHVYRzRnSUNBZ2MzZHBkR05vSUNoamIyNWthWFJwYjI0dWRIbHdaU2tnZTF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVWRkpWVkVoWk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0lTRnNaV1owTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSa0ZNVTFrNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBaGJHVm1kRHRjYmlBZ0lDQWdJR05oYzJVZ1IzSmhjR2hEYjI1a2FYUnBiMjVVZVhCbExrVlJWVUZNVXpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUd4bFpuUWdQVDA5SUhKcFoyaDBPMXh1SUNBZ0lDQWdZMkZ6WlNCSGNtRndhRU52Ym1ScGRHbHZibFI1Y0dVdVRrOVVYMFZSVlVGTVV6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGxablFnSVQwOUlISnBaMmgwTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSMUpGUVZSRlVsOVVTRUZPT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVG5WdFltVnlLR3hsWm5RcElENGdUblZ0WW1WeUtISnBaMmgwS1R0Y2JpQWdJQ0FnSUdOaGMyVWdSM0poY0doRGIyNWthWFJwYjI1VWVYQmxMa2RTUlVGVVJWSmZWRWhCVGw5UFVsOUZVVlZCVERwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUU1MWJXSmxjaWhzWldaMEtTQStQU0JPZFcxaVpYSW9jbWxuYUhRcE8xeHVJQ0FnSUNBZ1kyRnpaU0JIY21Gd2FFTnZibVJwZEdsdmJsUjVjR1V1VEVWVFUxOVVTRUZPT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVG5WdFltVnlLR3hsWm5RcElEd2dUblZ0WW1WeUtISnBaMmgwS1R0Y2JpQWdJQ0FnSUdOaGMyVWdSM0poY0doRGIyNWthWFJwYjI1VWVYQmxMa3hGVTFOZlZFaEJUbDlQVWw5RlVWVkJURHBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTUxYldKbGNpaHNaV1owS1NBOFBTQk9kVzFpWlhJb2NtbG5hSFFwTzF4dUlDQWdJQ0FnWTJGelpTQkhjbUZ3YUVOdmJtUnBkR2x2YmxSNWNHVXVSVmhKVTFSVE9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JHVm1kQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR3hsWm5RZ0lUMDlJRzUxYkd3N1hHNGdJQ0FnSUNCallYTmxJRWR5WVhCb1EyOXVaR2wwYVc5dVZIbHdaUzVEVlZOVVQwMDZYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lGd2lRM1Z6ZEc5dElHTnZibVJwZEdsdmJpQmxkbUZzZFdGMGIzSnpJR0Z5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtJR2x1SUhZeFhDSXNYRzRnSUNBZ0lDQWdJQ0FnWENKSFVrRlFTRjlEVlZOVVQwMWZRMDlPUkVsVVNVOU9YMVZPVTFWUVVFOVNWRVZFWENKY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUdCVmJtdHViM2R1SUdOdmJtUnBkR2x2YmlCMGVYQmxJQ2NrZTJOdmJtUnBkR2x2Ymk1MGVYQmxmU2RnTEZ4dUlDQWdJQ0FnSUNBZ0lGd2lSMUpCVUVoZlZVNUxUazlYVGw5RFQwNUVTVlJKVDA1ZlZGbFFSVndpTEZ4dUlDQWdJQ0FnSUNBZ0lIc2dZMjl1WkdsMGFXOXVJSDFjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVnpiMngyWlhNZ1lTQjJZV3gxWlNCMGFHRjBJRzFoZVNCaVpTQmhJR1J2ZEhSbFpDQndZWFJvSUdsdWRHOGdkR2hsSUhOMFlYUmxJRzlpYW1WamRDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdjbVZ6YjJ4MlpWWmhiSFZsS0hCaGRHZzZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3dnYzNSaGRHVTZJSFZ1YTI1dmQyNHBPaUIxYm10dWIzZHVJSHRjYmlBZ0lDQnBaaUFvSVhCaGRHZ3BJSEpsZEhWeWJpQnpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQndZWEowY3lBOUlIQmhkR2d1YzNCc2FYUW9YQ0l1WENJcE8xeHVJQ0FnSUd4bGRDQmpkWEp5Wlc1ME9pQjFibXR1YjNkdUlEMGdjM1JoZEdVN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCd1lYSjBJRzltSUhCaGNuUnpLU0I3WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZENBOVBTQnVkV3hzS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnWTNWeWNtVnVkQ0E5SUNoamRYSnlaVzUwSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrS1Z0d1lYSjBYVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdOMWNuSmxiblE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JHVjBaV04wY3lCM2FHVjBhR1Z5SUdFZ1kyOXVaR2wwYVc5dUlHOWlhbVZqZENCcGN5QmhJR0JEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1WUNBb3dxY3lNaTR6S1NCaWVWeHVJQ0FnS2lCamFHVmphMmx1WnlCbWIzSWdkR2hsSUhCeVpYTmxibU5sSUc5bUlHRnVJR0J2Y0dBZ1ptbGxiR1F1SUZkb1pXNGdkSEoxWlN3Z2RHaGxJRzlpYW1WamRDQnBjMXh1SUNBZ0tpQjBjbVZoZEdWa0lHRnpJR0VnWUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI1Z0lHRnVaQ0JrYVhOd1lYUmphR1ZrSUhSdklIUm9aVnh1SUNBZ0tpQjdRR3hwYm1zZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJrVjJZV3gxWVhSdmNuMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR2x6UTI5dVpHbDBhVzl1Ulhod2NtVnpjMmx2YmloamIyNWthWFJwYjI0NklFZHlZWEJvUTI5dVpHbDBhVzl1UkdWbWFXNXBkR2x2YmlCOElFTnZibVJwZEdsdmJrVjRjSEpsYzNOcGIyNHBPaUJqYjI1a2FYUnBiMjRnYVhNZ1EyOXVaR2wwYVc5dVJYaHdjbVZ6YzJsdmJpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUFvWTI5dVpHbDBhVzl1SUdGeklIVnVhMjV2ZDI0Z1lYTWdleUJ2Y0Q4NklITjBjbWx1WnlCOUtTNXZjQ0E5UFQwZ1hDSnpkSEpwYm1kY0lqdGNiaUFnZlZ4dWZWeHVJbDE5Il19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphLoopExecutionContext = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Context for a single loop execution, carrying the loop metadata and
|
|
6
|
-
* current iteration index.
|
|
7
|
-
*/
|
|
8
|
-
class GraphLoopExecutionContext {
|
|
9
|
-
constructor(iteration, metadata) {
|
|
10
|
-
this.iteration = iteration;
|
|
11
|
-
this.metadata = metadata;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.GraphLoopExecutionContext = GraphLoopExecutionContext;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhMb29wRXhlY3V0aW9uQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9sb29wcy9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBWSxTQUFpQixFQUFFLFFBQTJCO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbG9vcHMvR3JhcGhMb29wRXhlY3V0aW9uQ29udGV4dFxuICogQHN1bW1hcnkgQ29udGV4dCBmb3IgbG9vcCBub2RlIGV4ZWN1dGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBDYXJyaWVzIGxvb3Atc3BlY2lmaWMgbWV0YWRhdGEgYW5kIGl0ZXJhdGlvbiBzdGF0ZSBkdXJpbmcgbG9vcCBleGVjdXRpb24uXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhMb29wTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBDb250ZXh0IGZvciBhIHNpbmdsZSBsb29wIGV4ZWN1dGlvbiwgY2FycnlpbmcgdGhlIGxvb3AgbWV0YWRhdGEgYW5kXG4gKiBjdXJyZW50IGl0ZXJhdGlvbiBpbmRleC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTG9vcEV4ZWN1dGlvbkNvbnRleHQge1xuICByZWFkb25seSBpdGVyYXRpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEdyYXBoTG9vcE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZXJhdGlvbjogbnVtYmVyLCBtZXRhZGF0YTogR3JhcGhMb29wTWV0YWRhdGEpIHtcbiAgICB0aGlzLml0ZXJhdGlvbiA9IGl0ZXJhdGlvbjtcbiAgICB0aGlzLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIH1cbn1cbiJdfQ==
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhMb29wRXhlY3V0aW9uQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoTG9vcEV4ZWN1dGlvbkNvbnRleHQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7OztHQUdHO0FBQ0gsTUFBYSx5QkFBeUI7SUFDbEMsWUFBWSxTQUFTLEVBQUUsUUFBUTtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFMRCw4REFLQztBQUNELDB6Q0FBMHpDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250ZXh0IGZvciBhIHNpbmdsZSBsb29wIGV4ZWN1dGlvbiwgY2FycnlpbmcgdGhlIGxvb3AgbWV0YWRhdGEgYW5kXG4gKiBjdXJyZW50IGl0ZXJhdGlvbiBpbmRleC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTG9vcEV4ZWN1dGlvbkNvbnRleHQge1xuICAgIGNvbnN0cnVjdG9yKGl0ZXJhdGlvbiwgbWV0YWRhdGEpIHtcbiAgICAgICAgdGhpcy5pdGVyYXRpb24gPSBpdGVyYXRpb247XG4gICAgICAgIHRoaXMubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSM0poY0doTWIyOXdSWGhsWTNWMGFXOXVRMjl1ZEdWNGRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOXNiMjl3Y3k5SGNtRndhRXh2YjNCRmVHVmpkWFJwYjI1RGIyNTBaWGgwTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVOUJPenM3UjBGSFJ6dEJRVU5JTEUxQlFVMHNUMEZCVHl4NVFrRkJlVUk3U1VGSmNFTXNXVUZCV1N4VFFVRnBRaXhGUVVGRkxGRkJRVEpDTzFGQlEzaEVMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzVTBGQlV5eERRVUZETzFGQlF6TkNMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzBsQlF6TkNMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Ykc5dmNITXZSM0poY0doTWIyOXdSWGhsWTNWMGFXOXVRMjl1ZEdWNGRGeHVJQ29nUUhOMWJXMWhjbmtnUTI5dWRHVjRkQ0JtYjNJZ2JHOXZjQ0J1YjJSbElHVjRaV04xZEdsdmJpNWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkRZWEp5YVdWeklHeHZiM0F0YzNCbFkybG1hV01nYldWMFlXUmhkR0VnWVc1a0lHbDBaWEpoZEdsdmJpQnpkR0YwWlNCa2RYSnBibWNnYkc5dmNDQmxlR1ZqZFhScGIyNHVYRzRnS2k5Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaE1iMjl3VFdWMFlXUmhkR0VnZlNCbWNtOXRJRndpTGk0dmRIbHdaWE5jSWp0Y2JseHVMeW9xWEc0Z0tpQkRiMjUwWlhoMElHWnZjaUJoSUhOcGJtZHNaU0JzYjI5d0lHVjRaV04xZEdsdmJpd2dZMkZ5Y25scGJtY2dkR2hsSUd4dmIzQWdiV1YwWVdSaGRHRWdZVzVrWEc0Z0tpQmpkWEp5Wlc1MElHbDBaWEpoZEdsdmJpQnBibVJsZUM1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFZHlZWEJvVEc5dmNFVjRaV04xZEdsdmJrTnZiblJsZUhRZ2UxeHVJQ0J5WldGa2IyNXNlU0JwZEdWeVlYUnBiMjQ2SUc1MWJXSmxjanRjYmlBZ2NtVmhaRzl1YkhrZ2JXVjBZV1JoZEdFNklFZHlZWEJvVEc5dmNFMWxkR0ZrWVhSaE8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHbDBaWEpoZEdsdmJqb2diblZ0WW1WeUxDQnRaWFJoWkdGMFlUb2dSM0poY0doTWIyOXdUV1YwWVdSaGRHRXBJSHRjYmlBZ0lDQjBhR2x6TG1sMFpYSmhkR2x2YmlBOUlHbDBaWEpoZEdsdmJqdGNiaUFnSUNCMGFHbHpMbTFsZEdGa1lYUmhJRDBnYldWMFlXUmhkR0U3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UntilGraphNodeExecutor = void 0;
|
|
4
|
-
const constants_js_1 = require("./../constants.cjs");
|
|
5
|
-
const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
|
|
6
|
-
const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
|
|
7
|
-
const GraphConditionEvaluator_js_1 = require("./GraphConditionEvaluator.cjs");
|
|
8
|
-
/**
|
|
9
|
-
* Executor for `core.loop.until` nodes.
|
|
10
|
-
*
|
|
11
|
-
* Executes the body at least once, then checks the condition. Repeats until
|
|
12
|
-
* the condition evaluates to true.
|
|
13
|
-
*/
|
|
14
|
-
class UntilGraphNodeExecutor {
|
|
15
|
-
constructor(engine) {
|
|
16
|
-
this.engine = engine;
|
|
17
|
-
this.evaluator = new GraphConditionEvaluator_js_1.GraphConditionEvaluator();
|
|
18
|
-
}
|
|
19
|
-
async execute(input, context) {
|
|
20
|
-
const metadata = this.extractMetadata(context);
|
|
21
|
-
const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
|
|
22
|
-
const condition = metadata.condition;
|
|
23
|
-
if (!condition) {
|
|
24
|
-
throw new GraphInputError_js_1.GraphInputError("until node is missing a condition");
|
|
25
|
-
}
|
|
26
|
-
const statePort = metadata.statePort ?? "state";
|
|
27
|
-
const bodyWorkflow = metadata.body;
|
|
28
|
-
let state = input.state;
|
|
29
|
-
let iteration = 0;
|
|
30
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_STARTED });
|
|
31
|
-
let shouldStop = false;
|
|
32
|
-
do {
|
|
33
|
-
if (iteration >= maxIterations) {
|
|
34
|
-
await context.emit({
|
|
35
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_LIMIT_REACHED,
|
|
36
|
-
iteration,
|
|
37
|
-
});
|
|
38
|
-
throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`until loop exceeded max iterations (${maxIterations})`);
|
|
39
|
-
}
|
|
40
|
-
await context.emit({
|
|
41
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
|
|
42
|
-
iteration,
|
|
43
|
-
});
|
|
44
|
-
const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
|
|
45
|
-
parentRunId: context.runId,
|
|
46
|
-
path: [...context.path, `iteration:${iteration}`],
|
|
47
|
-
});
|
|
48
|
-
state = childResult.outputs[statePort];
|
|
49
|
-
await context.emit({
|
|
50
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
|
|
51
|
-
iteration,
|
|
52
|
-
});
|
|
53
|
-
const conditionResult = this.evaluator.evaluate(condition, state);
|
|
54
|
-
await context.emit({
|
|
55
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
|
|
56
|
-
iteration,
|
|
57
|
-
payload: { result: conditionResult },
|
|
58
|
-
});
|
|
59
|
-
iteration++;
|
|
60
|
-
shouldStop = conditionResult;
|
|
61
|
-
} while (!shouldStop);
|
|
62
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_COMPLETED });
|
|
63
|
-
return { [statePort]: state, iterations: iteration };
|
|
64
|
-
}
|
|
65
|
-
extractMetadata(context) {
|
|
66
|
-
const raw = context.node.graph?.metadata?.loop ??
|
|
67
|
-
context.metadata?.loop;
|
|
68
|
-
if (!raw) {
|
|
69
|
-
throw new GraphInputError_js_1.GraphInputError("until node is missing loop metadata");
|
|
70
|
-
}
|
|
71
|
-
return raw;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.UntilGraphNodeExecutor = UntilGraphNodeExecutor;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW50aWxHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9sb29wcy9VbnRpbEdyYXBoTm9kZUV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx1QkFBdUIsRUFBRSwwQkFBcUI7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSx1Q0FBa0M7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJDQUFzQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUNBQWtDO0FBRXBFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUE2QixNQUE0QjtRQUE1QixXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUZ4QyxjQUFTLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBRUMsQ0FBQztJQUU3RCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQTJCLEVBQzNCLE9BQThCO1FBRTlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQ2pCLFFBQVEsQ0FBQyxhQUFhLElBQUksaUNBQWlDLENBQUM7UUFDOUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZUFBZSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUErQixDQUFDO1FBRTlELElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRW5FLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV2QixHQUFHLENBQUM7WUFDRixJQUFJLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsa0JBQWtCO29CQUNoRCxTQUFTO2lCQUNWLENBQUMsQ0FBQztnQkFDSCxNQUFNLElBQUksbUJBQW1CLENBQzNCLHVDQUF1QyxhQUFhLEdBQUcsQ0FDeEQsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxzQkFBc0I7Z0JBQ3BELFNBQVM7YUFDVixDQUFDLENBQUM7WUFFSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMzQyxZQUFZLEVBQ1osRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFDakM7Z0JBQ0UsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxTQUFTLEVBQUUsQ0FBQzthQUNsRCxDQUNGLENBQUM7WUFFRixLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV2QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7YUFDVixDQUFDLENBQUM7WUFFSCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsd0JBQXdCO2dCQUN0RCxTQUFTO2dCQUNULE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUU7YUFDckMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxFQUFFLENBQUM7WUFDWixVQUFVLEdBQUcsZUFBZSxDQUFDO1FBQy9CLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUV0QixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVyRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTyxlQUFlLENBQUMsT0FBOEI7UUFDcEQsTUFBTSxHQUFHLEdBQUksT0FBTyxDQUFDLElBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDcEQsT0FBTyxDQUFDLFFBQWdCLEVBQUUsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxlQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxHQUF3QixDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbG9vcHMvVW50aWxHcmFwaE5vZGVFeGVjdXRvclxuICogQHN1bW1hcnkgVW50aWwgbG9vcCBub2RlIGV4ZWN1dG9yLlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgYm9keSB3b3JrZmxvdyBhdCBsZWFzdCBvbmNlIGFuZCByZXBlYXRzIHVudGlsIGEgY29uZGl0aW9uIGlzIHRydWUuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3IgfSBmcm9tIFwiLi4vZXhlY3V0aW9uL0dyYXBoTm9kZUV4ZWN1dG9yXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuLi9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRW5naW5lIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkVuZ2luZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblZhbHVlcywgR3JhcGhMb29wTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEdyYXBoSW5wdXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB9IGZyb20gXCIuL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yXCI7XG5cbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3AudW50aWxgIG5vZGVzLlxuICpcbiAqIEV4ZWN1dGVzIHRoZSBib2R5IGF0IGxlYXN0IG9uY2UsIHRoZW4gY2hlY2tzIHRoZSBjb25kaXRpb24uIFJlcGVhdHMgdW50aWxcbiAqIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBVbnRpbEdyYXBoTm9kZUV4ZWN1dG9yIGltcGxlbWVudHMgR3JhcGhOb2RlRXhlY3V0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGV2YWx1YXRvciA9IG5ldyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZW5naW5lOiBHcmFwaEV4ZWN1dGlvbkVuZ2luZSkge31cblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgICBjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHRcbiAgKTogUHJvbWlzZTxHcmFwaEV4ZWN1dGlvblZhbHVlcz4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5leHRyYWN0TWV0YWRhdGEoY29udGV4dCk7XG4gICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9XG4gICAgICBtZXRhZGF0YS5tYXhJdGVyYXRpb25zID8/IEdSQVBIX0RFRkFVTFRfTUFYX0xPT1BfSVRFUkFUSU9OUztcbiAgICBjb25zdCBjb25kaXRpb24gPSBtZXRhZGF0YS5jb25kaXRpb247XG4gICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ1bnRpbCBub2RlIGlzIG1pc3NpbmcgYSBjb25kaXRpb25cIik7XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgY29uc3QgYm9keVdvcmtmbG93ID0gbWV0YWRhdGEuYm9keSBhcyBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbjtcblxuICAgIGxldCBzdGF0ZSA9IGlucHV0LnN0YXRlO1xuICAgIGxldCBpdGVyYXRpb24gPSAwO1xuXG4gICAgYXdhaXQgY29udGV4dC5lbWl0KHsgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9TVEFSVEVEIH0pO1xuXG4gICAgbGV0IHNob3VsZFN0b3AgPSBmYWxzZTtcblxuICAgIGRvIHtcbiAgICAgIGlmIChpdGVyYXRpb24gPj0gbWF4SXRlcmF0aW9ucykge1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfTElNSVRfUkVBQ0hFRCxcbiAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBuZXcgR3JhcGhMb29wTGltaXRFcnJvcihcbiAgICAgICAgICBgdW50aWwgbG9vcCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHttYXhJdGVyYXRpb25zfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX1NUQVJURUQsXG4gICAgICAgIGl0ZXJhdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaGlsZFJlc3VsdCA9IGF3YWl0IHRoaXMuZW5naW5lLmV4ZWN1dGUoXG4gICAgICAgIGJvZHlXb3JrZmxvdyxcbiAgICAgICAgeyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbiB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyZW50UnVuSWQ6IGNvbnRleHQucnVuSWQsXG4gICAgICAgICAgcGF0aDogWy4uLmNvbnRleHQucGF0aCwgYGl0ZXJhdGlvbjoke2l0ZXJhdGlvbn1gXSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG5cbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgaXRlcmF0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbmRpdGlvblJlc3VsdCA9IHRoaXMuZXZhbHVhdG9yLmV2YWx1YXRlKGNvbmRpdGlvbiwgc3RhdGUpO1xuXG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTkRJVElPTl9FVkFMVUFURUQsXG4gICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgcGF5bG9hZDogeyByZXN1bHQ6IGNvbmRpdGlvblJlc3VsdCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgc2hvdWxkU3RvcCA9IGNvbmRpdGlvblJlc3VsdDtcbiAgICB9IHdoaWxlICghc2hvdWxkU3RvcCk7XG5cbiAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcblxuICAgIHJldHVybiB7IFtzdGF0ZVBvcnRdOiBzdGF0ZSwgaXRlcmF0aW9uczogaXRlcmF0aW9uIH07XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RNZXRhZGF0YShjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHQpOiBHcmFwaExvb3BNZXRhZGF0YSB7XG4gICAgY29uc3QgcmF3ID0gKGNvbnRleHQubm9kZSBhcyBhbnkpLmdyYXBoPy5tZXRhZGF0YT8ubG9vcCA/P1xuICAgICAgKGNvbnRleHQubWV0YWRhdGEgYXMgYW55KT8ubG9vcDtcbiAgICBpZiAoIXJhdykge1xuICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcInVudGlsIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmF3IGFzIEdyYXBoTG9vcE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW50aWxHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlVudGlsR3JhcGhOb2RlRXhlY3V0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStGO0FBQy9GLHVFQUFpRTtBQUNqRSwrRUFBeUU7QUFDekUsNkVBQXVFO0FBQ3ZFOzs7OztHQUtHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDL0IsWUFBWSxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLG9EQUF1QixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU87UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxJQUFJLGdEQUFpQyxDQUFDO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLG9DQUFlLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsc0NBQXVCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsR0FBRyxDQUFDO1lBQ0EsSUFBSSxTQUFTLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDZixJQUFJLEVBQUUsc0NBQXVCLENBQUMsa0JBQWtCO29CQUNoRCxTQUFTO2lCQUNaLENBQUMsQ0FBQztnQkFDSCxNQUFNLElBQUksNENBQW1CLENBQUMsdUNBQXVDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDM0YsQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsc0NBQXVCLENBQUMsc0JBQXNCO2dCQUNwRCxTQUFTO2FBQ1osQ0FBQyxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDM0YsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxTQUFTLEVBQUUsQ0FBQzthQUNwRCxDQUFDLENBQUM7WUFDSCxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUzthQUNaLENBQUMsQ0FBQztZQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUztnQkFDVCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFO2FBQ3ZDLENBQUMsQ0FBQztZQUNILFNBQVMsRUFBRSxDQUFDO1lBQ1osVUFBVSxHQUFHLGVBQWUsQ0FBQztRQUNqQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDdEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQU87UUFDbkIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDMUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLG9DQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0o7QUEzREQsd0RBMkRDO0FBQ0QsMDZQQUEwNlAiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlMsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi8uLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoTG9vcExpbWl0RXJyb3IuanNcIjtcbmltcG9ydCB7IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yIH0gZnJvbSBcIi4vR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanNcIjtcbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3AudW50aWxgIG5vZGVzLlxuICpcbiAqIEV4ZWN1dGVzIHRoZSBib2R5IGF0IGxlYXN0IG9uY2UsIHRoZW4gY2hlY2tzIHRoZSBjb25kaXRpb24uIFJlcGVhdHMgdW50aWxcbiAqIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBVbnRpbEdyYXBoTm9kZUV4ZWN1dG9yIHtcbiAgICBjb25zdHJ1Y3RvcihlbmdpbmUpIHtcbiAgICAgICAgdGhpcy5lbmdpbmUgPSBlbmdpbmU7XG4gICAgICAgIHRoaXMuZXZhbHVhdG9yID0gbmV3IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yKCk7XG4gICAgfVxuICAgIGFzeW5jIGV4ZWN1dGUoaW5wdXQsIGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4dHJhY3RNZXRhZGF0YShjb250ZXh0KTtcbiAgICAgICAgY29uc3QgbWF4SXRlcmF0aW9ucyA9IG1ldGFkYXRhLm1heEl0ZXJhdGlvbnMgPz8gR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TO1xuICAgICAgICBjb25zdCBjb25kaXRpb24gPSBtZXRhZGF0YS5jb25kaXRpb247XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhJbnB1dEVycm9yKFwidW50aWwgbm9kZSBpcyBtaXNzaW5nIGEgY29uZGl0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlUG9ydCA9IG1ldGFkYXRhLnN0YXRlUG9ydCA/PyBcInN0YXRlXCI7XG4gICAgICAgIGNvbnN0IGJvZHlXb3JrZmxvdyA9IG1ldGFkYXRhLmJvZHk7XG4gICAgICAgIGxldCBzdGF0ZSA9IGlucHV0LnN0YXRlO1xuICAgICAgICBsZXQgaXRlcmF0aW9uID0gMDtcbiAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHsgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9TVEFSVEVEIH0pO1xuICAgICAgICBsZXQgc2hvdWxkU3RvcCA9IGZhbHNlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBpZiAoaXRlcmF0aW9uID49IG1heEl0ZXJhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0xJTUlUX1JFQUNIRUQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhMb29wTGltaXRFcnJvcihgdW50aWwgbG9vcCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHttYXhJdGVyYXRpb25zfSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9JVEVSQVRJT05fU1RBUlRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkUmVzdWx0ID0gYXdhaXQgdGhpcy5lbmdpbmUuZXhlY3V0ZShib2R5V29ya2Zsb3csIHsgW3N0YXRlUG9ydF06IHN0YXRlLCBpdGVyYXRpb24gfSwge1xuICAgICAgICAgICAgICAgIHBhcmVudFJ1bklkOiBjb250ZXh0LnJ1bklkLFxuICAgICAgICAgICAgICAgIHBhdGg6IFsuLi5jb250ZXh0LnBhdGgsIGBpdGVyYXRpb246JHtpdGVyYXRpb259YF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXRlID0gY2hpbGRSZXN1bHQub3V0cHV0c1tzdGF0ZVBvcnRdO1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9DT01QTEVURUQsXG4gICAgICAgICAgICAgICAgaXRlcmF0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHN0YXRlKTtcbiAgICAgICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9DT05ESVRJT05fRVZBTFVBVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7IHJlc3VsdDogY29uZGl0aW9uUmVzdWx0IH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgICAgICAgc2hvdWxkU3RvcCA9IGNvbmRpdGlvblJlc3VsdDtcbiAgICAgICAgfSB3aGlsZSAoIXNob3VsZFN0b3ApO1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcbiAgICAgICAgcmV0dXJuIHsgW3N0YXRlUG9ydF06IHN0YXRlLCBpdGVyYXRpb25zOiBpdGVyYXRpb24gfTtcbiAgICB9XG4gICAgZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgcmF3ID0gY29udGV4dC5ub2RlLmdyYXBoPy5tZXRhZGF0YT8ubG9vcCA/P1xuICAgICAgICAgICAgY29udGV4dC5tZXRhZGF0YT8ubG9vcDtcbiAgICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ1bnRpbCBub2RlIGlzIG1pc3NpbmcgbG9vcCBtZXRhZGF0YVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmF3O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVZXNTBhV3hIY21Gd2FFNXZaR1ZGZUdWamRYUnZjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlzYjI5d2N5OVZiblJwYkVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWZEJMRTlCUVU4c1JVRkJSU3hwUTBGQmFVTXNSVUZCUlN4MVFrRkJkVUlzUlVGQlJTd3dRa0ZCY1VJN1FVRkRNVVlzVDBGQlR5eEZRVUZGTEdWQlFXVXNSVUZCUlN4MVEwRkJhME03UVVGRE5VUXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTERKRFFVRnpRenRCUVVOd1JTeFBRVUZQTEVWQlFVVXNkVUpCUVhWQ0xFVkJRVVVzY1VOQlFXdERPMEZCUlhCRk96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFBRVUZQTEhOQ1FVRnpRanRKUVVkcVF5eFpRVUUyUWl4TlFVRTBRanRSUVVFMVFpeFhRVUZOTEVkQlFVNHNUVUZCVFN4RFFVRnpRanRSUVVaNFF5eGpRVUZUTEVkQlFVY3NTVUZCU1N4MVFrRkJkVUlzUlVGQlJTeERRVUZETzBsQlJVTXNRMEZCUXp0SlFVVTNSQ3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVU5ZTEV0QlFUSkNMRVZCUXpOQ0xFOUJRVGhDTzFGQlJUbENMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRMME1zVFVGQlRTeGhRVUZoTEVkQlEycENMRkZCUVZFc1EwRkJReXhoUVVGaExFbEJRVWtzYVVOQlFXbERMRU5CUVVNN1VVRkRPVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEcxRFFVRnRReXhEUVVGRExFTkJRVU03VVVGRGFrVXNRMEZCUXp0UlFVTkVMRTFCUVUwc1UwRkJVeXhIUVVGSExGRkJRVkVzUTBGQlF5eFRRVUZUTEVsQlFVa3NUMEZCVHl4RFFVRkRPMUZCUTJoRUxFMUJRVTBzV1VGQldTeEhRVUZITEZGQlFWRXNRMEZCUXl4SlFVRXJRaXhEUVVGRE8xRkJSVGxFTEVsQlFVa3NTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRGVFSXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSV3hDTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJXNUZMRWxCUVVrc1ZVRkJWU3hIUVVGSExFdEJRVXNzUTBGQlF6dFJRVVYyUWl4SFFVRkhMRU5CUVVNN1dVRkRSaXhKUVVGSkxGTkJRVk1zU1VGQlNTeGhRVUZoTEVWQlFVVXNRMEZCUXp0blFrRkRMMElzVFVGQlRTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRPMjlDUVVOcVFpeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zYTBKQlFXdENPMjlDUVVOb1JDeFRRVUZUTzJsQ1FVTldMRU5CUVVNc1EwRkJRenRuUWtGRFNDeE5RVUZOTEVsQlFVa3NiVUpCUVcxQ0xFTkJRek5DTEhWRFFVRjFReXhoUVVGaExFZEJRVWNzUTBGRGVFUXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkZSQ3hOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdaMEpCUTJwQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXh6UWtGQmMwSTdaMEpCUTNCRUxGTkJRVk03WVVGRFZpeERRVUZETEVOQlFVTTdXVUZGU0N4TlFVRk5MRmRCUVZjc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVTXpReXhaUVVGWkxFVkJRMW9zUlVGQlJTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzUlVGRGFrTTdaMEpCUTBVc1YwRkJWeXhGUVVGRkxFOUJRVThzUTBGQlF5eExRVUZMTzJkQ1FVTXhRaXhKUVVGSkxFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRVZCUVVVc1lVRkJZU3hUUVVGVExFVkJRVVVzUTBGQlF6dGhRVU5zUkN4RFFVTkdMRU5CUVVNN1dVRkZSaXhMUVVGTExFZEJRVWNzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVWMlF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1owSkJRMnBDTEVsQlFVa3NSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eDNRa0ZCZDBJN1owSkJRM1JFTEZOQlFWTTdZVUZEVml4RFFVRkRMRU5CUVVNN1dVRkZTQ3hOUVVGTkxHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdXVUZGYkVVc1RVRkJUU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETzJkQ1FVTnFRaXhKUVVGSkxFVkJRVVVzZFVKQlFYVkNMRU5CUVVNc2QwSkJRWGRDTzJkQ1FVTjBSQ3hUUVVGVE8yZENRVU5VTEU5QlFVOHNSVUZCUlN4RlFVRkZMRTFCUVUwc1JVRkJSU3hsUVVGbExFVkJRVVU3WVVGRGNrTXNRMEZCUXl4RFFVRkRPMWxCUlVnc1UwRkJVeXhGUVVGRkxFTkJRVU03V1VGRFdpeFZRVUZWTEVkQlFVY3NaVUZCWlN4RFFVRkRPMUZCUXk5Q0xFTkJRVU1zVVVGQlVTeERRVUZETEZWQlFWVXNSVUZCUlR0UlFVVjBRaXhOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVWeVJTeFBRVUZQTEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRVVVzVlVGQlZTeEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTNaRUxFTkJRVU03U1VGRlR5eGxRVUZsTEVOQlFVTXNUMEZCT0VJN1VVRkRjRVFzVFVGQlRTeEhRVUZITEVkQlFVa3NUMEZCVHl4RFFVRkRMRWxCUVZrc1EwRkJReXhMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEVsQlFVazdXVUZEY0VRc1QwRkJUeXhEUVVGRExGRkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTlVMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU1zY1VOQlFYRkRMRU5CUVVNc1EwRkJRenRSUVVOdVJTeERRVUZETzFGQlEwUXNUMEZCVHl4SFFVRjNRaXhEUVVGRE8wbEJRMnhETEVOQlFVTTdRMEZEUmlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZaM0poY0dndmJHOXZjSE12Vlc1MGFXeEhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNseHVJQ29nUUhOMWJXMWhjbmtnVlc1MGFXd2diRzl2Y0NCdWIyUmxJR1Y0WldOMWRHOXlMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVY0WldOMWRHVnpJR0VnWW05a2VTQjNiM0pyWm14dmR5QmhkQ0JzWldGemRDQnZibU5sSUdGdVpDQnlaWEJsWVhSeklIVnVkR2xzSUdFZ1kyOXVaR2wwYVc5dUlHbHpJSFJ5ZFdVdVhHNGdLaTljYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdmU0JtY205dElGd2lMaTR2WlhobFkzVjBhVzl1TDBkeVlYQm9UbTlrWlVWNFpXTjFkRzl5WENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQjlJR1p5YjIwZ1hDSXVMaTlsZUdWamRYUnBiMjR2UjNKaGNHaEZlR1ZqZFhScGIyNURiMjUwWlhoMFhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvUlhobFkzVjBhVzl1Ulc1bmFXNWxJSDBnWm5KdmJTQmNJaTR1TDJWNFpXTjFkR2x2Ymk5SGNtRndhRVY0WldOMWRHbHZia1Z1WjJsdVpWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2YmxaaGJIVmxjeXdnUjNKaGNHaE1iMjl3VFdWMFlXUmhkR0VnZlNCbWNtOXRJRndpTGk0dmRIbHdaWE5jSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaFhiM0pyWm14dmQwUmxabWx1YVhScGIyNGdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMM1ZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2hjSWp0Y2JseHVhVzF3YjNKMElIc2dSMUpCVUVoZlJFVkdRVlZNVkY5TlFWaGZURTlQVUY5SlZFVlNRVlJKVDA1VExDQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlNCOUlHWnliMjBnWENJdUxpOWpiMjV6ZEdGdWRITmNJanRjYm1sdGNHOXlkQ0I3SUVkeVlYQm9TVzV3ZFhSRmNuSnZjaUI5SUdaeWIyMGdYQ0l1TGk5bGNuSnZjbk12UjNKaGNHaEpibkIxZEVWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRXh2YjNCTWFXMXBkRVZ5Y205eUlIMGdabkp2YlNCY0lpNHVMMlZ5Y205eWN5OUhjbUZ3YUV4dmIzQk1hVzFwZEVWeWNtOXlYQ0k3WEc1cGJYQnZjblFnZXlCSGNtRndhRU52Ym1ScGRHbHZia1YyWVd4MVlYUnZjaUI5SUdaeWIyMGdYQ0l1TDBkeVlYQm9RMjl1WkdsMGFXOXVSWFpoYkhWaGRHOXlYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1JYaGxZM1YwYjNJZ1ptOXlJR0JqYjNKbExteHZiM0F1ZFc1MGFXeGdJRzV2WkdWekxseHVJQ3BjYmlBcUlFVjRaV04xZEdWeklIUm9aU0JpYjJSNUlHRjBJR3hsWVhOMElHOXVZMlVzSUhSb1pXNGdZMmhsWTJ0eklIUm9aU0JqYjI1a2FYUnBiMjR1SUZKbGNHVmhkSE1nZFc1MGFXeGNiaUFxSUhSb1pTQmpiMjVrYVhScGIyNGdaWFpoYkhWaGRHVnpJSFJ2SUhSeWRXVXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJWYm5ScGJFZHlZWEJvVG05a1pVVjRaV04xZEc5eUlHbHRjR3hsYldWdWRITWdSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdlMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUdWMllXeDFZWFJ2Y2lBOUlHNWxkeUJIY21Gd2FFTnZibVJwZEdsdmJrVjJZV3gxWVhSdmNpZ3BPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daVzVuYVc1bE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWdVoybHVaU2tnZTMxY2JseHVJQ0JoYzNsdVl5QmxlR1ZqZFhSbEtGeHVJQ0FnSUdsdWNIVjBPaUJIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3l4Y2JpQWdJQ0JqYjI1MFpYaDBPaUJIY21Gd2FFVjRaV04xZEdsdmJrTnZiblJsZUhSY2JpQWdLVG9nVUhKdmJXbHpaVHhIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3o0Z2UxeHVJQ0FnSUdOdmJuTjBJRzFsZEdGa1lYUmhJRDBnZEdocGN5NWxlSFJ5WVdOMFRXVjBZV1JoZEdFb1kyOXVkR1Y0ZENrN1hHNGdJQ0FnWTI5dWMzUWdiV0Y0U1hSbGNtRjBhVzl1Y3lBOVhHNGdJQ0FnSUNCdFpYUmhaR0YwWVM1dFlYaEpkR1Z5WVhScGIyNXpJRDgvSUVkU1FWQklYMFJGUmtGVlRGUmZUVUZZWDB4UFQxQmZTVlJGVWtGVVNVOU9VenRjYmlBZ0lDQmpiMjV6ZENCamIyNWthWFJwYjI0Z1BTQnRaWFJoWkdGMFlTNWpiMjVrYVhScGIyNDdYRzRnSUNBZ2FXWWdLQ0ZqYjI1a2FYUnBiMjRwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSGNtRndhRWx1Y0hWMFJYSnliM0lvWENKMWJuUnBiQ0J1YjJSbElHbHpJRzFwYzNOcGJtY2dZU0JqYjI1a2FYUnBiMjVjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElITjBZWFJsVUc5eWRDQTlJRzFsZEdGa1lYUmhMbk4wWVhSbFVHOXlkQ0EvUHlCY0luTjBZWFJsWENJN1hHNGdJQ0FnWTI5dWMzUWdZbTlrZVZkdmNtdG1iRzkzSUQwZ2JXVjBZV1JoZEdFdVltOWtlU0JoY3lCSGNtRndhRmR2Y210bWJHOTNSR1ZtYVc1cGRHbHZianRjYmx4dUlDQWdJR3hsZENCemRHRjBaU0E5SUdsdWNIVjBMbk4wWVhSbE8xeHVJQ0FnSUd4bGRDQnBkR1Z5WVhScGIyNGdQU0F3TzF4dVhHNGdJQ0FnWVhkaGFYUWdZMjl1ZEdWNGRDNWxiV2wwS0hzZ2RIbHdaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNUZkbVZ1ZEZSNWNHVXVURTlQVUY5VFZFRlNWRVZFSUgwcE8xeHVYRzRnSUNBZ2JHVjBJSE5vYjNWc1pGTjBiM0FnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR1J2SUh0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z5WVhScGIyNGdQajBnYldGNFNYUmxjbUYwYVc5dWN5a2dlMXh1SUNBZ0lDQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlRFbE5TVlJmVWtWQlEwaEZSQ3hjYmlBZ0lDQWdJQ0FnSUNCcGRHVnlZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUjNKaGNHaE1iMjl3VEdsdGFYUkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQmdkVzUwYVd3Z2JHOXZjQ0JsZUdObFpXUmxaQ0J0WVhnZ2FYUmxjbUYwYVc5dWN5QW9KSHR0WVhoSmRHVnlZWFJwYjI1emZTbGdYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdGM1lXbDBJR052Ym5SbGVIUXVaVzFwZENoN1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SVWVYQmxMa3hQVDFCZlNWUkZVa0ZVU1U5T1gxTlVRVkpVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJpeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQmphR2xzWkZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVpXNW5hVzVsTG1WNFpXTjFkR1VvWEc0Z0lDQWdJQ0FnSUdKdlpIbFhiM0pyWm14dmR5eGNiaUFnSUNBZ0lDQWdleUJiYzNSaGRHVlFiM0owWFRvZ2MzUmhkR1VzSUdsMFpYSmhkR2x2YmlCOUxGeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnY0dGeVpXNTBVblZ1U1dRNklHTnZiblJsZUhRdWNuVnVTV1FzWEc0Z0lDQWdJQ0FnSUNBZ2NHRjBhRG9nV3k0dUxtTnZiblJsZUhRdWNHRjBhQ3dnWUdsMFpYSmhkR2x2Ympva2UybDBaWEpoZEdsdmJuMWdYU3hjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnS1R0Y2JseHVJQ0FnSUNBZ2MzUmhkR1VnUFNCamFHbHNaRkpsYzNWc2RDNXZkWFJ3ZFhSelczTjBZWFJsVUc5eWRGMDdYRzVjYmlBZ0lDQWdJR0YzWVdsMElHTnZiblJsZUhRdVpXMXBkQ2g3WEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVJYWmxiblJVZVhCbExreFBUMUJmU1ZSRlVrRlVTVTlPWDBOUFRWQk1SVlJGUkN4Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYVc5dUxGeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR052Ym5OMElHTnZibVJwZEdsdmJsSmxjM1ZzZENBOUlIUm9hWE11WlhaaGJIVmhkRzl5TG1WMllXeDFZWFJsS0dOdmJtUnBkR2x2Yml3Z2MzUmhkR1VwTzF4dVhHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwTlBUa1JKVkVsUFRsOUZWa0ZNVlVGVVJVUXNYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHbHZiaXhjYmlBZ0lDQWdJQ0FnY0dGNWJHOWhaRG9nZXlCeVpYTjFiSFE2SUdOdmJtUnBkR2x2YmxKbGMzVnNkQ0I5TEZ4dUlDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lHbDBaWEpoZEdsdmJpc3JPMXh1SUNBZ0lDQWdjMmh2ZFd4a1UzUnZjQ0E5SUdOdmJtUnBkR2x2YmxKbGMzVnNkRHRjYmlBZ0lDQjlJSGRvYVd4bElDZ2hjMmh2ZFd4a1UzUnZjQ2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZXlCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBOUFRWQk1SVlJGUkNCOUtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lGdHpkR0YwWlZCdmNuUmRPaUJ6ZEdGMFpTd2dhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1SUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHVjRkSEpoWTNSTlpYUmhaR0YwWVNoamIyNTBaWGgwT2lCSGNtRndhRVY0WldOMWRHbHZia052Ym5SbGVIUXBPaUJIY21Gd2FFeHZiM0JOWlhSaFpHRjBZU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtRjNJRDBnS0dOdmJuUmxlSFF1Ym05a1pTQmhjeUJoYm5rcExtZHlZWEJvUHk1dFpYUmhaR0YwWVQ4dWJHOXZjQ0EvUDF4dUlDQWdJQ0FnS0dOdmJuUmxlSFF1YldWMFlXUmhkR0VnWVhNZ1lXNTVLVDh1Ykc5dmNEdGNiaUFnSUNCcFppQW9JWEpoZHlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFZHlZWEJvU1c1d2RYUkZjbkp2Y2loY0luVnVkR2xzSUc1dlpHVWdhWE1nYldsemMybHVaeUJzYjI5d0lHMWxkR0ZrWVhSaFhDSXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21GM0lHRnpJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WhileGraphNodeExecutor = void 0;
|
|
4
|
-
const constants_js_1 = require("./../constants.cjs");
|
|
5
|
-
const GraphInputError_js_1 = require("./../errors/GraphInputError.cjs");
|
|
6
|
-
const GraphLoopLimitError_js_1 = require("./../errors/GraphLoopLimitError.cjs");
|
|
7
|
-
const GraphConditionEvaluator_js_1 = require("./GraphConditionEvaluator.cjs");
|
|
8
|
-
/**
|
|
9
|
-
* Executor for `core.loop.while` nodes.
|
|
10
|
-
*
|
|
11
|
-
* Expects input:
|
|
12
|
-
* - `state`: initial state
|
|
13
|
-
*
|
|
14
|
-
* Produces output:
|
|
15
|
-
* - `state`: final state
|
|
16
|
-
* - `iterations`: number of iterations executed
|
|
17
|
-
*/
|
|
18
|
-
class WhileGraphNodeExecutor {
|
|
19
|
-
constructor(engine) {
|
|
20
|
-
this.engine = engine;
|
|
21
|
-
this.evaluator = new GraphConditionEvaluator_js_1.GraphConditionEvaluator();
|
|
22
|
-
}
|
|
23
|
-
async execute(input, context) {
|
|
24
|
-
const metadata = this.extractMetadata(context);
|
|
25
|
-
const maxIterations = metadata.maxIterations ?? constants_js_1.GRAPH_DEFAULT_MAX_LOOP_ITERATIONS;
|
|
26
|
-
const condition = metadata.condition;
|
|
27
|
-
if (!condition) {
|
|
28
|
-
throw new GraphInputError_js_1.GraphInputError("while node is missing a condition");
|
|
29
|
-
}
|
|
30
|
-
const statePort = metadata.statePort ?? "state";
|
|
31
|
-
const bodyWorkflow = metadata.body;
|
|
32
|
-
let state = input.state;
|
|
33
|
-
let iteration = 0;
|
|
34
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_STARTED });
|
|
35
|
-
while (this.evaluator.evaluate(condition, state)) {
|
|
36
|
-
if (iteration >= maxIterations) {
|
|
37
|
-
await context.emit({
|
|
38
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_LIMIT_REACHED,
|
|
39
|
-
iteration,
|
|
40
|
-
});
|
|
41
|
-
throw new GraphLoopLimitError_js_1.GraphLoopLimitError(`while loop exceeded max iterations (${maxIterations})`);
|
|
42
|
-
}
|
|
43
|
-
await context.emit({
|
|
44
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_CONDITION_EVALUATED,
|
|
45
|
-
iteration,
|
|
46
|
-
payload: { result: true },
|
|
47
|
-
});
|
|
48
|
-
await context.emit({
|
|
49
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_STARTED,
|
|
50
|
-
iteration,
|
|
51
|
-
});
|
|
52
|
-
const childResult = await this.engine.execute(bodyWorkflow, { [statePort]: state, iteration }, {
|
|
53
|
-
parentRunId: context.runId,
|
|
54
|
-
path: [...context.path, `iteration:${iteration}`],
|
|
55
|
-
});
|
|
56
|
-
state = childResult.outputs[statePort];
|
|
57
|
-
await context.emit({
|
|
58
|
-
type: constants_js_1.GraphExecutionEventType.LOOP_ITERATION_COMPLETED,
|
|
59
|
-
iteration,
|
|
60
|
-
});
|
|
61
|
-
iteration++;
|
|
62
|
-
}
|
|
63
|
-
await context.emit({ type: constants_js_1.GraphExecutionEventType.LOOP_COMPLETED });
|
|
64
|
-
return { [statePort]: state, iterations: iteration };
|
|
65
|
-
}
|
|
66
|
-
extractMetadata(context) {
|
|
67
|
-
const raw = context.node.graph?.metadata?.loop ??
|
|
68
|
-
context.metadata?.loop;
|
|
69
|
-
if (!raw) {
|
|
70
|
-
throw new GraphInputError_js_1.GraphInputError("while node is missing loop metadata");
|
|
71
|
-
}
|
|
72
|
-
return raw;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.WhileGraphNodeExecutor = WhileGraphNodeExecutor;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hpbGVHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9sb29wcy9XaGlsZUdyYXBoTm9kZUV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx1QkFBdUIsRUFBRSwwQkFBcUI7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSx1Q0FBa0M7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDJDQUFzQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUNBQWtDO0FBRXBFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBNkIsTUFBNEI7UUFBNUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFGeEMsY0FBUyxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztJQUVDLENBQUM7SUFFN0QsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUEyQixFQUMzQixPQUE4QjtRQUU5QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sYUFBYSxHQUNqQixRQUFRLENBQUMsYUFBYSxJQUFJLGlDQUFpQyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLGVBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBK0IsQ0FBQztRQUU5RCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUVsQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUVuRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pELElBQUksU0FBUyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUMvQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxrQkFBa0I7b0JBQ2hELFNBQVM7aUJBQ1YsQ0FBQyxDQUFDO2dCQUNILE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsdUNBQXVDLGFBQWEsR0FBRyxDQUN4RCxDQUFDO1lBQ0osQ0FBQztZQUVELE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDakIsSUFBSSxFQUFFLHVCQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUztnQkFDVCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2FBQzFCLENBQUMsQ0FBQztZQUNILE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDakIsSUFBSSxFQUFFLHVCQUF1QixDQUFDLHNCQUFzQjtnQkFDcEQsU0FBUzthQUNWLENBQUMsQ0FBQztZQUVILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzNDLFlBQVksRUFDWixFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUNqQztnQkFDRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQzFCLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLFNBQVMsRUFBRSxDQUFDO2FBQ2xELENBQ0YsQ0FBQztZQUVGLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXZDLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDakIsSUFBSSxFQUFFLHVCQUF1QixDQUFDLHdCQUF3QjtnQkFDdEQsU0FBUzthQUNWLENBQUMsQ0FBQztZQUVILFNBQVMsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUE4QjtRQUNwRCxNQUFNLEdBQUcsR0FBSSxPQUFPLENBQUMsSUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtZQUNwRCxPQUFPLENBQUMsUUFBZ0IsRUFBRSxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLGVBQWUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLEdBQXdCLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wcy9XaGlsZUdyYXBoTm9kZUV4ZWN1dG9yXG4gKiBAc3VtbWFyeSBXaGlsZSBsb29wIG5vZGUgZXhlY3V0b3IuXG4gKiBAZGVzY3JpcHRpb24gRXhlY3V0ZXMgYSBib2R5IHdvcmtmbG93IHJlcGVhdGVkbHkgd2hpbGUgYSBjb25kaXRpb24gaXMgdHJ1ZSwgZW5mb3JjaW5nIGEgbWF4aW11bSBpdGVyYXRpb24gbGltaXQuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlRXhlY3V0b3IgfSBmcm9tIFwiLi4vZXhlY3V0aW9uL0dyYXBoTm9kZUV4ZWN1dG9yXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCIuLi9leGVjdXRpb24vR3JhcGhFeGVjdXRpb25Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uRW5naW5lIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaEV4ZWN1dGlvbkVuZ2luZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblZhbHVlcywgR3JhcGhMb29wTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuaW1wb3J0IHsgR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TLCBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEdyYXBoSW5wdXRFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy9HcmFwaExvb3BMaW1pdEVycm9yXCI7XG5pbXBvcnQgeyBHcmFwaENvbmRpdGlvbkV2YWx1YXRvciB9IGZyb20gXCIuL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yXCI7XG5cbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3Aud2hpbGVgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBzdGF0ZWA6IGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGBzdGF0ZWA6IGZpbmFsIHN0YXRlXG4gKiAtIGBpdGVyYXRpb25zYDogbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFdoaWxlR3JhcGhOb2RlRXhlY3V0b3IgaW1wbGVtZW50cyBHcmFwaE5vZGVFeGVjdXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZhbHVhdG9yID0gbmV3IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbmdpbmU6IEdyYXBoRXhlY3V0aW9uRW5naW5lKSB7fVxuXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgaW5wdXQ6IEdyYXBoRXhlY3V0aW9uVmFsdWVzLFxuICAgIGNvbnRleHQ6IEdyYXBoRXhlY3V0aW9uQ29udGV4dFxuICApOiBQcm9taXNlPEdyYXBoRXhlY3V0aW9uVmFsdWVzPiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4dHJhY3RNZXRhZGF0YShjb250ZXh0KTtcbiAgICBjb25zdCBtYXhJdGVyYXRpb25zID1cbiAgICAgIG1ldGFkYXRhLm1heEl0ZXJhdGlvbnMgPz8gR1JBUEhfREVGQVVMVF9NQVhfTE9PUF9JVEVSQVRJT05TO1xuICAgIGNvbnN0IGNvbmRpdGlvbiA9IG1ldGFkYXRhLmNvbmRpdGlvbjtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcIndoaWxlIG5vZGUgaXMgbWlzc2luZyBhIGNvbmRpdGlvblwiKTtcbiAgICB9XG4gICAgY29uc3Qgc3RhdGVQb3J0ID0gbWV0YWRhdGEuc3RhdGVQb3J0ID8/IFwic3RhdGVcIjtcbiAgICBjb25zdCBib2R5V29ya2Zsb3cgPSBtZXRhZGF0YS5ib2R5IGFzIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uO1xuXG4gICAgbGV0IHN0YXRlID0gaW5wdXQuc3RhdGU7XG4gICAgbGV0IGl0ZXJhdGlvbiA9IDA7XG5cbiAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX1NUQVJURUQgfSk7XG5cbiAgICB3aGlsZSAodGhpcy5ldmFsdWF0b3IuZXZhbHVhdGUoY29uZGl0aW9uLCBzdGF0ZSkpIHtcbiAgICAgIGlmIChpdGVyYXRpb24gPj0gbWF4SXRlcmF0aW9ucykge1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfTElNSVRfUkVBQ0hFRCxcbiAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBuZXcgR3JhcGhMb29wTGltaXRFcnJvcihcbiAgICAgICAgICBgd2hpbGUgbG9vcCBleGNlZWRlZCBtYXggaXRlcmF0aW9ucyAoJHttYXhJdGVyYXRpb25zfSlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7XG4gICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09ORElUSU9OX0VWQUxVQVRFRCxcbiAgICAgICAgaXRlcmF0aW9uLFxuICAgICAgICBwYXlsb2FkOiB7IHJlc3VsdDogdHJ1ZSB9LFxuICAgICAgfSk7XG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9TVEFSVEVELFxuICAgICAgICBpdGVyYXRpb24sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY2hpbGRSZXN1bHQgPSBhd2FpdCB0aGlzLmVuZ2luZS5leGVjdXRlKFxuICAgICAgICBib2R5V29ya2Zsb3csXG4gICAgICAgIHsgW3N0YXRlUG9ydF06IHN0YXRlLCBpdGVyYXRpb24gfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmVudFJ1bklkOiBjb250ZXh0LnJ1bklkLFxuICAgICAgICAgIHBhdGg6IFsuLi5jb250ZXh0LnBhdGgsIGBpdGVyYXRpb246JHtpdGVyYXRpb259YF0sXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHN0YXRlID0gY2hpbGRSZXN1bHQub3V0cHV0c1tzdGF0ZVBvcnRdO1xuXG4gICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9DT01QTEVURUQsXG4gICAgICAgIGl0ZXJhdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBpdGVyYXRpb24rKztcbiAgICB9XG5cbiAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0NPTVBMRVRFRCB9KTtcblxuICAgIHJldHVybiB7IFtzdGF0ZVBvcnRdOiBzdGF0ZSwgaXRlcmF0aW9uczogaXRlcmF0aW9uIH07XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RNZXRhZGF0YShjb250ZXh0OiBHcmFwaEV4ZWN1dGlvbkNvbnRleHQpOiBHcmFwaExvb3BNZXRhZGF0YSB7XG4gICAgY29uc3QgcmF3ID0gKGNvbnRleHQubm9kZSBhcyBhbnkpLmdyYXBoPy5tZXRhZGF0YT8ubG9vcCA/P1xuICAgICAgKGNvbnRleHQubWV0YWRhdGEgYXMgYW55KT8ubG9vcDtcbiAgICBpZiAoIXJhdykge1xuICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcIndoaWxlIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmF3IGFzIEdyYXBoTG9vcE1ldGFkYXRhO1xuICB9XG59XG4iXX0=
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hpbGVHcmFwaE5vZGVFeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIldoaWxlR3JhcGhOb2RlRXhlY3V0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQStGO0FBQy9GLHVFQUFpRTtBQUNqRSwrRUFBeUU7QUFDekUsNkVBQXVFO0FBQ3ZFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsc0JBQXNCO0lBQy9CLFlBQVksTUFBTTtRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxvREFBdUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsSUFBSSxnREFBaUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyxrQkFBa0I7b0JBQ2hELFNBQVM7aUJBQ1osQ0FBQyxDQUFDO2dCQUNILE1BQU0sSUFBSSw0Q0FBbUIsQ0FBQyx1Q0FBdUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUMzRixDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7Z0JBQ1QsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTthQUM1QixDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLHNDQUF1QixDQUFDLHNCQUFzQjtnQkFDcEQsU0FBUzthQUNaLENBQUMsQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7Z0JBQzNGLFdBQVcsRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDMUIsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsU0FBUyxFQUFFLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxzQ0FBdUIsQ0FBQyx3QkFBd0I7Z0JBQ3RELFNBQVM7YUFDWixDQUFDLENBQUM7WUFDSCxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNDQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQU87UUFDbkIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDMUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLG9DQUFlLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0o7QUF4REQsd0RBd0RDO0FBQ0QsMHNQQUEwc1AiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlMsIEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBHcmFwaElucHV0RXJyb3IgfSBmcm9tIFwiLi8uLi9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaExvb3BMaW1pdEVycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoTG9vcExpbWl0RXJyb3IuanNcIjtcbmltcG9ydCB7IEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yIH0gZnJvbSBcIi4vR3JhcGhDb25kaXRpb25FdmFsdWF0b3IuanNcIjtcbi8qKlxuICogRXhlY3V0b3IgZm9yIGBjb3JlLmxvb3Aud2hpbGVgIG5vZGVzLlxuICpcbiAqIEV4cGVjdHMgaW5wdXQ6XG4gKiAtIGBzdGF0ZWA6IGluaXRpYWwgc3RhdGVcbiAqXG4gKiBQcm9kdWNlcyBvdXRwdXQ6XG4gKiAtIGBzdGF0ZWA6IGZpbmFsIHN0YXRlXG4gKiAtIGBpdGVyYXRpb25zYDogbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZXhlY3V0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFdoaWxlR3JhcGhOb2RlRXhlY3V0b3Ige1xuICAgIGNvbnN0cnVjdG9yKGVuZ2luZSkge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgdGhpcy5ldmFsdWF0b3IgPSBuZXcgR3JhcGhDb25kaXRpb25FdmFsdWF0b3IoKTtcbiAgICB9XG4gICAgYXN5bmMgZXhlY3V0ZShpbnB1dCwgY29udGV4dCkge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXh0cmFjdE1ldGFkYXRhKGNvbnRleHQpO1xuICAgICAgICBjb25zdCBtYXhJdGVyYXRpb25zID0gbWV0YWRhdGEubWF4SXRlcmF0aW9ucyA/PyBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlM7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IG1ldGFkYXRhLmNvbmRpdGlvbjtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaElucHV0RXJyb3IoXCJ3aGlsZSBub2RlIGlzIG1pc3NpbmcgYSBjb25kaXRpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdGVQb3J0ID0gbWV0YWRhdGEuc3RhdGVQb3J0ID8/IFwic3RhdGVcIjtcbiAgICAgICAgY29uc3QgYm9keVdvcmtmbG93ID0gbWV0YWRhdGEuYm9keTtcbiAgICAgICAgbGV0IHN0YXRlID0gaW5wdXQuc3RhdGU7XG4gICAgICAgIGxldCBpdGVyYXRpb24gPSAwO1xuICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoeyB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX1NUQVJURUQgfSk7XG4gICAgICAgIHdoaWxlICh0aGlzLmV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24sIHN0YXRlKSkge1xuICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbiA+PSBtYXhJdGVyYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogR3JhcGhFeGVjdXRpb25FdmVudFR5cGUuTE9PUF9MSU1JVF9SRUFDSEVELFxuICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoTG9vcExpbWl0RXJyb3IoYHdoaWxlIGxvb3AgZXhjZWVkZWQgbWF4IGl0ZXJhdGlvbnMgKCR7bWF4SXRlcmF0aW9uc30pYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09ORElUSU9OX0VWQUxVQVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICAgICAgcGF5bG9hZDogeyByZXN1bHQ6IHRydWUgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgY29udGV4dC5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaEV4ZWN1dGlvbkV2ZW50VHlwZS5MT09QX0lURVJBVElPTl9TVEFSVEVELFxuICAgICAgICAgICAgICAgIGl0ZXJhdGlvbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRSZXN1bHQgPSBhd2FpdCB0aGlzLmVuZ2luZS5leGVjdXRlKGJvZHlXb3JrZmxvdywgeyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbiB9LCB7XG4gICAgICAgICAgICAgICAgcGFyZW50UnVuSWQ6IGNvbnRleHQucnVuSWQsXG4gICAgICAgICAgICAgICAgcGF0aDogWy4uLmNvbnRleHQucGF0aCwgYGl0ZXJhdGlvbjoke2l0ZXJhdGlvbn1gXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3RhdGUgPSBjaGlsZFJlc3VsdC5vdXRwdXRzW3N0YXRlUG9ydF07XG4gICAgICAgICAgICBhd2FpdCBjb250ZXh0LmVtaXQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfSVRFUkFUSU9OX0NPTVBMRVRFRCxcbiAgICAgICAgICAgICAgICBpdGVyYXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGl0ZXJhdGlvbisrO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGNvbnRleHQuZW1pdCh7IHR5cGU6IEdyYXBoRXhlY3V0aW9uRXZlbnRUeXBlLkxPT1BfQ09NUExFVEVEIH0pO1xuICAgICAgICByZXR1cm4geyBbc3RhdGVQb3J0XTogc3RhdGUsIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbiB9O1xuICAgIH1cbiAgICBleHRyYWN0TWV0YWRhdGEoY29udGV4dCkge1xuICAgICAgICBjb25zdCByYXcgPSBjb250ZXh0Lm5vZGUuZ3JhcGg/Lm1ldGFkYXRhPy5sb29wID8/XG4gICAgICAgICAgICBjb250ZXh0Lm1ldGFkYXRhPy5sb29wO1xuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoSW5wdXRFcnJvcihcIndoaWxlIG5vZGUgaXMgbWlzc2luZyBsb29wIG1ldGFkYXRhXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByYXc7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVjJocGJHVkhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOXNiMjl3Y3k5WGFHbHNaVWR5WVhCb1RtOWtaVVY0WldOMWRHOXlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZkQkxFOUJRVThzUlVGQlJTeHBRMEZCYVVNc1JVRkJSU3gxUWtGQmRVSXNSVUZCUlN3d1FrRkJjVUk3UVVGRE1VWXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3gxUTBGQmEwTTdRVUZETlVRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMREpEUVVGelF6dEJRVU53UlN4UFFVRlBMRVZCUVVVc2RVSkJRWFZDTEVWQlFVVXNjVU5CUVd0RE8wRkJSWEJGT3pzN096czdPenM3UjBGVFJ6dEJRVU5JTEUxQlFVMHNUMEZCVHl4elFrRkJjMEk3U1VGSGFrTXNXVUZCTmtJc1RVRkJORUk3VVVGQk5VSXNWMEZCVFN4SFFVRk9MRTFCUVUwc1EwRkJjMEk3VVVGR2VFTXNZMEZCVXl4SFFVRkhMRWxCUVVrc2RVSkJRWFZDTEVWQlFVVXNRMEZCUXp0SlFVVkRMRU5CUVVNN1NVRkZOMFFzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZEV0N4TFFVRXlRaXhGUVVNelFpeFBRVUU0UWp0UlFVVTVRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJReTlETEUxQlFVMHNZVUZCWVN4SFFVTnFRaXhSUVVGUkxFTkJRVU1zWVVGQllTeEpRVUZKTEdsRFFVRnBReXhEUVVGRE8xRkJRemxFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU03VVVGRGNrTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4dFEwRkJiVU1zUTBGQlF5eERRVUZETzFGQlEycEZMRU5CUVVNN1VVRkRSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNVMEZCVXl4SlFVRkpMRTlCUVU4c1EwRkJRenRSUVVOb1JDeE5RVUZOTEZsQlFWa3NSMEZCUnl4UlFVRlJMRU5CUVVNc1NVRkJLMElzUTBGQlF6dFJRVVU1UkN4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETzFGQlEzaENMRWxCUVVrc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVVZzUWl4TlFVRk5MRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEycEVMRWxCUVVrc1UwRkJVeXhKUVVGSkxHRkJRV0VzUlVGQlJTeERRVUZETzJkQ1FVTXZRaXhOUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdiMEpCUTJwQ0xFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhyUWtGQmEwSTdiMEpCUTJoRUxGTkJRVk03YVVKQlExWXNRMEZCUXl4RFFVRkRPMmRDUVVOSUxFMUJRVTBzU1VGQlNTeHRRa0ZCYlVJc1EwRkRNMElzZFVOQlFYVkRMR0ZCUVdFc1IwRkJSeXhEUVVONFJDeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVVkVMRTFCUVUwc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dG5Ra0ZEYWtJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMSGRDUVVGM1FqdG5Ra0ZEZEVRc1UwRkJVenRuUWtGRFZDeFBRVUZQTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1NVRkJTU3hGUVVGRk8yRkJRekZDTEVOQlFVTXNRMEZCUXp0WlFVTklMRTFCUVUwc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dG5Ra0ZEYWtJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWl4RFFVRkRMSE5DUVVGelFqdG5Ra0ZEY0VRc1UwRkJVenRoUVVOV0xFTkJRVU1zUTBGQlF6dFpRVVZJTEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlF6TkRMRmxCUVZrc1JVRkRXaXhGUVVGRkxFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3hGUVVOcVF6dG5Ra0ZEUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXM3WjBKQlF6RkNMRWxCUVVrc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4aFFVRmhMRk5CUVZNc1JVRkJSU3hEUVVGRE8yRkJRMnhFTEVOQlEwWXNRMEZCUXp0WlFVVkdMRXRCUVVzc1IwRkJSeXhYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMWxCUlhaRExFMUJRVTBzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXp0blFrRkRha0lzU1VGQlNTeEZRVUZGTEhWQ1FVRjFRaXhEUVVGRExIZENRVUYzUWp0blFrRkRkRVFzVTBGQlV6dGhRVU5XTEVOQlFVTXNRMEZCUXp0WlFVVklMRk5CUVZNc1JVRkJSU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVVZFTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJYSkZMRTlCUVU4c1JVRkJSU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEV0QlFVc3NSVUZCUlN4VlFVRlZMRVZCUVVVc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVlBMR1ZCUVdVc1EwRkJReXhQUVVFNFFqdFJRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJTU3hQUVVGUExFTkJRVU1zU1VGQldTeERRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTVHRaUVVOd1JDeFBRVUZQTEVOQlFVTXNVVUZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xbEJRMVFzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4eFEwRkJjVU1zUTBGQlF5eERRVUZETzFGQlEyNUZMRU5CUVVNN1VVRkRSQ3hQUVVGUExFZEJRWGRDTEVOQlFVTTdTVUZEYkVNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXNiMjl3Y3k5WGFHbHNaVWR5WVhCb1RtOWtaVVY0WldOMWRHOXlYRzRnS2lCQWMzVnRiV0Z5ZVNCWGFHbHNaU0JzYjI5d0lHNXZaR1VnWlhobFkzVjBiM0l1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUlhobFkzVjBaWE1nWVNCaWIyUjVJSGR2Y210bWJHOTNJSEpsY0dWaGRHVmtiSGtnZDJocGJHVWdZU0JqYjI1a2FYUnBiMjRnYVhNZ2RISjFaU3dnWlc1bWIzSmphVzVuSUdFZ2JXRjRhVzExYlNCcGRHVnlZWFJwYjI0Z2JHbHRhWFF1WEc0Z0tpOWNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYjNJZ2ZTQm1jbTl0SUZ3aUxpNHZaWGhsWTNWMGFXOXVMMGR5WVhCb1RtOWtaVVY0WldOMWRHOXlYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOUlHWnliMjBnWENJdUxpOWxlR1ZqZFhScGIyNHZSM0poY0doRmVHVmpkWFJwYjI1RGIyNTBaWGgwWENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVSVzVuYVc1bElIMGdabkp2YlNCY0lpNHVMMlY0WldOMWRHbHZiaTlIY21Gd2FFVjRaV04xZEdsdmJrVnVaMmx1WlZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN5d2dSM0poY0doTWIyOXdUV1YwWVdSaGRHRWdmU0JtY205dElGd2lMaTR2ZEhsd1pYTmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0Z2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwzVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHaGNJanRjYmx4dWFXMXdiM0owSUhzZ1IxSkJVRWhmUkVWR1FWVk1WRjlOUVZoZlRFOVBVRjlKVkVWU1FWUkpUMDVUTENCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaU0I5SUdaeWIyMGdYQ0l1TGk5amIyNXpkR0Z1ZEhOY0lqdGNibWx0Y0c5eWRDQjdJRWR5WVhCb1NXNXdkWFJGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXZSM0poY0doSmJuQjFkRVZ5Y205eVhDSTdYRzVwYlhCdmNuUWdleUJIY21Gd2FFeHZiM0JNYVcxcGRFVnljbTl5SUgwZ1puSnZiU0JjSWk0dUwyVnljbTl5Y3k5SGNtRndhRXh2YjNCTWFXMXBkRVZ5Y205eVhDSTdYRzVwYlhCdmNuUWdleUJIY21Gd2FFTnZibVJwZEdsdmJrVjJZV3gxWVhSdmNpQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1EyOXVaR2wwYVc5dVJYWmhiSFZoZEc5eVhDSTdYRzVjYmk4cUtseHVJQ29nUlhobFkzVjBiM0lnWm05eUlHQmpiM0psTG14dmIzQXVkMmhwYkdWZ0lHNXZaR1Z6TGx4dUlDcGNiaUFxSUVWNGNHVmpkSE1nYVc1d2RYUTZYRzRnS2lBdElHQnpkR0YwWldBNklHbHVhWFJwWVd3Z2MzUmhkR1ZjYmlBcVhHNGdLaUJRY205a2RXTmxjeUJ2ZFhSd2RYUTZYRzRnS2lBdElHQnpkR0YwWldBNklHWnBibUZzSUhOMFlYUmxYRzRnS2lBdElHQnBkR1Z5WVhScGIyNXpZRG9nYm5WdFltVnlJRzltSUdsMFpYSmhkR2x2Ym5NZ1pYaGxZM1YwWldSY2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGZG9hV3hsUjNKaGNHaE9iMlJsUlhobFkzVjBiM0lnYVcxd2JHVnRaVzUwY3lCSGNtRndhRTV2WkdWRmVHVmpkWFJ2Y2lCN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2daWFpoYkhWaGRHOXlJRDBnYm1WM0lFZHlZWEJvUTI5dVpHbDBhVzl1UlhaaGJIVmhkRzl5S0NrN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCbGJtZHBibVU2SUVkeVlYQm9SWGhsWTNWMGFXOXVSVzVuYVc1bEtTQjdmVnh1WEc0Z0lHRnplVzVqSUdWNFpXTjFkR1VvWEc0Z0lDQWdhVzV3ZFhRNklFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpMRnh1SUNBZ0lHTnZiblJsZUhRNklFZHlZWEJvUlhobFkzVjBhVzl1UTI5dWRHVjRkRnh1SUNBcE9pQlFjbTl0YVhObFBFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpQaUI3WEc0Z0lDQWdZMjl1YzNRZ2JXVjBZV1JoZEdFZ1BTQjBhR2x6TG1WNGRISmhZM1JOWlhSaFpHRjBZU2hqYjI1MFpYaDBLVHRjYmlBZ0lDQmpiMjV6ZENCdFlYaEpkR1Z5WVhScGIyNXpJRDFjYmlBZ0lDQWdJRzFsZEdGa1lYUmhMbTFoZUVsMFpYSmhkR2x2Ym5NZ1B6OGdSMUpCVUVoZlJFVkdRVlZNVkY5TlFWaGZURTlQVUY5SlZFVlNRVlJKVDA1VE8xeHVJQ0FnSUdOdmJuTjBJR052Ym1ScGRHbHZiaUE5SUcxbGRHRmtZWFJoTG1OdmJtUnBkR2x2Ymp0Y2JpQWdJQ0JwWmlBb0lXTnZibVJwZEdsdmJpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWR5WVhCb1NXNXdkWFJGY25KdmNpaGNJbmRvYVd4bElHNXZaR1VnYVhNZ2JXbHpjMmx1WnlCaElHTnZibVJwZEdsdmJsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYzNSaGRHVlFiM0owSUQwZ2JXVjBZV1JoZEdFdWMzUmhkR1ZRYjNKMElEOC9JRndpYzNSaGRHVmNJanRjYmlBZ0lDQmpiMjV6ZENCaWIyUjVWMjl5YTJac2IzY2dQU0J0WlhSaFpHRjBZUzVpYjJSNUlHRnpJRWR5WVhCb1YyOXlhMlpzYjNkRVpXWnBibWwwYVc5dU8xeHVYRzRnSUNBZ2JHVjBJSE4wWVhSbElEMGdhVzV3ZFhRdWMzUmhkR1U3WEc0Z0lDQWdiR1YwSUdsMFpYSmhkR2x2YmlBOUlEQTdYRzVjYmlBZ0lDQmhkMkZwZENCamIyNTBaWGgwTG1WdGFYUW9leUIwZVhCbE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmtWMlpXNTBWSGx3WlM1TVQwOVFYMU5VUVZKVVJVUWdmU2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kR2hwY3k1bGRtRnNkV0YwYjNJdVpYWmhiSFZoZEdVb1kyOXVaR2wwYVc5dUxDQnpkR0YwWlNrcElIdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWeVlYUnBiMjRnUGowZ2JXRjRTWFJsY21GMGFXOXVjeWtnZTF4dUlDQWdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZURWxOU1ZSZlVrVkJRMGhGUkN4Y2JpQWdJQ0FnSUNBZ0lDQnBkR1Z5WVhScGIyNHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1IzSmhjR2hNYjI5d1RHbHRhWFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JnZDJocGJHVWdiRzl2Y0NCbGVHTmxaV1JsWkNCdFlYZ2dhWFJsY21GMGFXOXVjeUFvSkh0dFlYaEpkR1Z5WVhScGIyNXpmU2xnWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHRjNZV2wwSUdOdmJuUmxlSFF1WlcxcGRDaDdYRzRnSUNBZ0lDQWdJSFI1Y0dVNklFZHlZWEJvUlhobFkzVjBhVzl1UlhabGJuUlVlWEJsTGt4UFQxQmZRMDlPUkVsVVNVOU9YMFZXUVV4VlFWUkZSQ3hjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBhVzl1TEZ4dUlDQWdJQ0FnSUNCd1lYbHNiMkZrT2lCN0lISmxjM1ZzZERvZ2RISjFaU0I5TEZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCaGQyRnBkQ0JqYjI1MFpYaDBMbVZ0YVhRb2UxeHVJQ0FnSUNBZ0lDQjBlWEJsT2lCSGNtRndhRVY0WldOMWRHbHZia1YyWlc1MFZIbHdaUzVNVDA5UVgwbFVSVkpCVkVsUFRsOVRWRUZTVkVWRUxGeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhScGIyNHNYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdZMmhwYkdSU1pYTjFiSFFnUFNCaGQyRnBkQ0IwYUdsekxtVnVaMmx1WlM1bGVHVmpkWFJsS0Z4dUlDQWdJQ0FnSUNCaWIyUjVWMjl5YTJac2IzY3NYRzRnSUNBZ0lDQWdJSHNnVzNOMFlYUmxVRzl5ZEYwNklITjBZWFJsTENCcGRHVnlZWFJwYjI0Z2ZTeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhCaGNtVnVkRkoxYmtsa09pQmpiMjUwWlhoMExuSjFia2xrTEZ4dUlDQWdJQ0FnSUNBZ0lIQmhkR2c2SUZzdUxpNWpiMjUwWlhoMExuQmhkR2dzSUdCcGRHVnlZWFJwYjI0NkpIdHBkR1Z5WVhScGIyNTlZRjBzWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNrN1hHNWNiaUFnSUNBZ0lITjBZWFJsSUQwZ1kyaHBiR1JTWlhOMWJIUXViM1YwY0hWMGMxdHpkR0YwWlZCdmNuUmRPMXh1WEc0Z0lDQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZTF4dUlDQWdJQ0FnSUNCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBsVVJWSkJWRWxQVGw5RFQwMVFURVZVUlVRc1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEdsdmJpeGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0JwZEdWeVlYUnBiMjRyS3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoZDJGcGRDQmpiMjUwWlhoMExtVnRhWFFvZXlCMGVYQmxPaUJIY21Gd2FFVjRaV04xZEdsdmJrVjJaVzUwVkhsd1pTNU1UMDlRWDBOUFRWQk1SVlJGUkNCOUtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lGdHpkR0YwWlZCdmNuUmRPaUJ6ZEdGMFpTd2dhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1SUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHVjRkSEpoWTNSTlpYUmhaR0YwWVNoamIyNTBaWGgwT2lCSGNtRndhRVY0WldOMWRHbHZia052Ym5SbGVIUXBPaUJIY21Gd2FFeHZiM0JOWlhSaFpHRjBZU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtRjNJRDBnS0dOdmJuUmxlSFF1Ym05a1pTQmhjeUJoYm5rcExtZHlZWEJvUHk1dFpYUmhaR0YwWVQ4dWJHOXZjQ0EvUDF4dUlDQWdJQ0FnS0dOdmJuUmxlSFF1YldWMFlXUmhkR0VnWVhNZ1lXNTVLVDh1Ykc5dmNEdGNiaUFnSUNCcFppQW9JWEpoZHlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFZHlZWEJvU1c1d2RYUkZjbkp2Y2loY0luZG9hV3hsSUc1dlpHVWdhWE1nYldsemMybHVaeUJzYjI5d0lHMWxkR0ZrWVhSaFhDSXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21GM0lHRnpJRWR5WVhCb1RHOXZjRTFsZEdGa1lYUmhPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
/**
|
|
18
|
-
* @module integrations/graph/loops
|
|
19
|
-
* @summary Structured loop executors.
|
|
20
|
-
* @description Re-exports the condition evaluator, loop execution context, and foreach/while/until executors.
|
|
21
|
-
*/
|
|
22
|
-
__exportStar(require("./GraphConditionEvaluator.cjs"), exports);
|
|
23
|
-
__exportStar(require("./ConditionExpressionEvaluator.cjs"), exports);
|
|
24
|
-
__exportStar(require("./GraphLoopExecutionContext.cjs"), exports);
|
|
25
|
-
__exportStar(require("./ForeachGraphNodeExecutor.cjs"), exports);
|
|
26
|
-
__exportStar(require("./WhileGraphNodeExecutor.cjs"), exports);
|
|
27
|
-
__exportStar(require("./UntilGraphNodeExecutor.cjs"), exports);
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbG9vcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILDZDQUEwQztBQUMxQyxrREFBK0M7QUFDL0MsK0NBQTRDO0FBQzVDLDhDQUEyQztBQUMzQyw0Q0FBeUM7QUFDekMsNENBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wc1xuICogQHN1bW1hcnkgU3RydWN0dXJlZCBsb29wIGV4ZWN1dG9ycy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBjb25kaXRpb24gZXZhbHVhdG9yLCBsb29wIGV4ZWN1dGlvbiBjb250ZXh0LCBhbmQgZm9yZWFjaC93aGlsZS91bnRpbCBleGVjdXRvcnMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Db25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1doaWxlR3JhcGhOb2RlRXhlY3V0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VudGlsR3JhcGhOb2RlRXhlY3V0b3JcIjtcbiJdfQ==
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILCtEQUE2QztBQUM3QyxvRUFBa0Q7QUFDbEQsaUVBQStDO0FBQy9DLGdFQUE4QztBQUM5Qyw4REFBNEM7QUFDNUMsOERBQTRDO0FBQzVDLDgrQkFBOCtCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9sb29wc1xuICogQHN1bW1hcnkgU3RydWN0dXJlZCBsb29wIGV4ZWN1dG9ycy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBjb25kaXRpb24gZXZhbHVhdG9yLCBsb29wIGV4ZWN1dGlvbiBjb250ZXh0LCBhbmQgZm9yZWFjaC93aGlsZS91bnRpbCBleGVjdXRvcnMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoQ29uZGl0aW9uRXZhbHVhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Db25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaExvb3BFeGVjdXRpb25Db250ZXh0LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Gb3JlYWNoR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1doaWxlR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VudGlsR3JhcGhOb2RlRXhlY3V0b3IuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ykc5dmNITXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN1IwRkpSenRCUVVOSUxEWkRRVUV3UXp0QlFVTXhReXhyUkVGQkswTTdRVUZETDBNc0swTkJRVFJETzBGQlF6VkRMRGhEUVVFeVF6dEJRVU16UXl3MFEwRkJlVU03UVVGRGVrTXNORU5CUVhsRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXNiMjl3YzF4dUlDb2dRSE4xYlcxaGNua2dVM1J5ZFdOMGRYSmxaQ0JzYjI5d0lHVjRaV04xZEc5eWN5NWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQlNaUzFsZUhCdmNuUnpJSFJvWlNCamIyNWthWFJwYjI0Z1pYWmhiSFZoZEc5eUxDQnNiMjl3SUdWNFpXTjFkR2x2YmlCamIyNTBaWGgwTENCaGJtUWdabTl5WldGamFDOTNhR2xzWlM5MWJuUnBiQ0JsZUdWamRYUnZjbk11WEc0Z0tpOWNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMGR5WVhCb1EyOXVaR2wwYVc5dVJYWmhiSFZoZEc5eVhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1UlhaaGJIVmhkRzl5WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhjbUZ3YUV4dmIzQkZlR1ZqZFhScGIyNURiMjUwWlhoMFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlHYjNKbFlXTm9SM0poY0doT2IyUmxSWGhsWTNWMGIzSmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDFkb2FXeGxSM0poY0doT2IyUmxSWGhsWTNWMGIzSmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDFWdWRHbHNSM0poY0doT2IyUmxSWGhsWTNWMGIzSmNJanRjYmlKZGZRPT0iXX0=
|