@decaf-ts/integrations 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integrations.cjs +2 -48
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -49
- package/dist/integrations.js.map +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs.map +1 -0
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/index.cjs +2 -2
- package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs.map +1 -0
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/docker/index.cjs.map +1 -0
- package/lib/cjs/graph/constants.cjs +2 -2
- package/lib/cjs/graph/constants.cjs.map +1 -0
- package/lib/cjs/graph/decorators.cjs +2 -2
- package/lib/cjs/graph/decorators.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphCycleError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphInputError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPinningError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPortError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphStoreError.cjs.map +1 -0
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +1 -0
- package/lib/cjs/graph/errors/index.cjs +2 -2
- package/lib/cjs/graph/errors/index.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +1 -0
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +1 -0
- package/lib/cjs/graph/events/index.cjs +2 -2
- package/lib/cjs/graph/events/index.cjs.map +1 -0
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +3 -2
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +1 -0
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +103 -0
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/execution/index.cjs +4 -2
- package/lib/cjs/graph/execution/index.cjs.map +1 -0
- package/lib/cjs/graph/index.cjs +7 -2
- package/lib/cjs/graph/index.cjs.map +1 -0
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/loops/index.cjs +3 -2
- package/lib/cjs/graph/loops/index.cjs.map +1 -0
- package/lib/cjs/graph/nodes/agent.cjs +110 -0
- package/lib/cjs/graph/nodes/agent.cjs.map +1 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/nodes/category-styles.cjs.map +1 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
- package/lib/cjs/graph/nodes/flow-control.cjs.map +1 -0
- package/lib/cjs/graph/nodes/index.cjs +34 -0
- package/lib/cjs/graph/nodes/index.cjs.map +1 -0
- package/lib/cjs/graph/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/nodes/triggers.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +1 -0
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +1 -0
- package/lib/cjs/graph/pinning/index.cjs +2 -2
- package/lib/cjs/graph/pinning/index.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +1 -0
- package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
- package/lib/cjs/graph/planning/GraphTopology.cjs.map +1 -0
- package/lib/cjs/graph/planning/index.cjs +2 -2
- package/lib/cjs/graph/planning/index.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +1 -0
- package/lib/cjs/graph/registry/index.cjs +2 -2
- package/lib/cjs/graph/registry/index.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
- package/lib/cjs/graph/snapshots/index.cjs +2 -2
- package/lib/cjs/graph/snapshots/index.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
- package/lib/cjs/graph/store/GraphCachedValue.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueKey.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStore.cjs.map +1 -0
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/store/index.cjs +2 -2
- package/lib/cjs/graph/store/index.cjs.map +1 -0
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/graph/types.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +1 -0
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
- package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +1 -0
- package/lib/cjs/graph/validation/index.cjs +2 -2
- package/lib/cjs/graph/validation/index.cjs.map +1 -0
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakService.cjs +5 -3
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
- 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 +20 -0
- 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 +6 -5
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaService.cjs +4 -2
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
- 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 +20 -0
- package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/kibana/types.cjs.map +1 -0
- package/lib/cjs/nest/authService.cjs +5 -2
- package/lib/cjs/nest/authService.cjs.map +1 -0
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/index.cjs.map +1 -0
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/logging.cjs.map +1 -0
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/types.cjs.map +1 -0
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/nest/utils.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs.map +1 -0
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs.map +1 -0
- package/lib/cjs/utils.cjs +2 -2
- package/lib/cjs/utils.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/azure/index.js.map +1 -0
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js.map +1 -0
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobKey.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js.map +1 -0
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/BlobValue.js.map +1 -0
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/core/index.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/gcp/index.js.map +1 -0
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/index.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/index.js +1 -1
- package/lib/esm/blob/ipfs/index.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/local/index.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/memory/index.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/blob/s3/index.js.map +1 -0
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/DockerComposeService.js.map +1 -0
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/docker/index.js.map +1 -0
- package/lib/esm/graph/constants.js +1 -1
- package/lib/esm/graph/constants.js.map +1 -0
- package/lib/esm/graph/decorators.js +1 -1
- package/lib/esm/graph/decorators.js.map +1 -0
- package/lib/esm/graph/errors/GraphCycleError.js +1 -1
- package/lib/esm/graph/errors/GraphCycleError.js.map +1 -0
- package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
- package/lib/esm/graph/errors/GraphExecutionError.js.map +1 -0
- package/lib/esm/graph/errors/GraphInputError.js +1 -1
- package/lib/esm/graph/errors/GraphInputError.js.map +1 -0
- package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
- package/lib/esm/graph/errors/GraphLoopLimitError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPinningError.js +1 -1
- package/lib/esm/graph/errors/GraphPinningError.js.map +1 -0
- package/lib/esm/graph/errors/GraphPortError.js +1 -1
- package/lib/esm/graph/errors/GraphPortError.js.map +1 -0
- package/lib/esm/graph/errors/GraphStoreError.js +1 -1
- package/lib/esm/graph/errors/GraphStoreError.js.map +1 -0
- package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
- package/lib/esm/graph/errors/GraphTopologyError.js.map +1 -0
- package/lib/esm/graph/errors/index.js +1 -1
- package/lib/esm/graph/errors/index.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEvent.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +1 -0
- package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
- package/lib/esm/graph/events/GraphExecutionObserver.js.map +1 -0
- package/lib/esm/graph/events/index.js +1 -1
- package/lib/esm/graph/events/index.js.map +1 -0
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionContext.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionEngine.js +2 -1
- package/lib/esm/graph/execution/GraphExecutionEngine.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionFrame.js.map +1 -0
- package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionResult.js.map +1 -0
- package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
- package/lib/esm/graph/execution/GraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +98 -0
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/execution/index.js +3 -1
- package/lib/esm/graph/execution/index.js.map +1 -0
- package/lib/esm/graph/index.js +6 -1
- package/lib/esm/graph/index.js.map +1 -0
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js.map +1 -0
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
- package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +1 -0
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +1 -0
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/loops/index.js +2 -1
- package/lib/esm/graph/loops/index.js.map +1 -0
- package/lib/esm/graph/nodes/agent.js +101 -0
- package/lib/esm/graph/nodes/agent.js.map +1 -0
- package/lib/esm/graph/nodes/category-styles.js +34 -0
- package/lib/esm/graph/nodes/category-styles.js.map +1 -0
- package/lib/esm/graph/nodes/flow-control.js +427 -0
- package/lib/esm/graph/nodes/flow-control.js.map +1 -0
- package/lib/esm/graph/nodes/index.js +17 -0
- package/lib/esm/graph/nodes/index.js.map +1 -0
- package/lib/esm/graph/nodes/triggers.js +241 -0
- package/lib/esm/graph/nodes/triggers.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +1 -0
- package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningService.js.map +1 -0
- package/lib/esm/graph/pinning/index.js +1 -1
- package/lib/esm/graph/pinning/index.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlan.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +1 -0
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +1 -0
- package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
- package/lib/esm/graph/planning/GraphRelationResolver.js.map +1 -0
- package/lib/esm/graph/planning/GraphTopology.js +1 -1
- package/lib/esm/graph/planning/GraphTopology.js.map +1 -0
- package/lib/esm/graph/planning/index.js +1 -1
- package/lib/esm/graph/planning/index.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +1 -0
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +1 -0
- package/lib/esm/graph/registry/index.js +1 -1
- package/lib/esm/graph/registry/index.js.map +1 -0
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
- package/lib/esm/graph/snapshots/index.js +1 -1
- package/lib/esm/graph/snapshots/index.js.map +1 -0
- package/lib/esm/graph/store/GraphCachedValue.js +1 -1
- package/lib/esm/graph/store/GraphCachedValue.js.map +1 -0
- package/lib/esm/graph/store/GraphValueKey.js +1 -1
- package/lib/esm/graph/store/GraphValueKey.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStore.js +1 -1
- package/lib/esm/graph/store/GraphValueStore.js.map +1 -0
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/store/index.js +1 -1
- package/lib/esm/graph/store/index.js.map +1 -0
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/graph/types.js.map +1 -0
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
- package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +1 -0
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +1 -0
- package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
- package/lib/esm/graph/validation/GraphValueValidator.js.map +1 -0
- package/lib/esm/graph/validation/index.js +1 -1
- package/lib/esm/graph/validation/index.js.map +1 -0
- package/lib/esm/index.js +4 -4
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/index.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakService.js +4 -2
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
- 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 +15 -0
- 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 +5 -4
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaService.js +3 -1
- package/lib/esm/kibana/services/KibanaService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaUserService.js +4 -3
- 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 +15 -0
- package/lib/esm/kibana/services/runtime.js.map +1 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/kibana/types.js.map +1 -0
- package/lib/esm/nest/authService.js +4 -1
- package/lib/esm/nest/authService.js.map +1 -0
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/index.js.map +1 -0
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -0
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/logging.js.map +1 -0
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/types.js.map +1 -0
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/nest/utils.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/aws/index.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/azure/index.js.map +1 -0
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretName.js.map +1 -0
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js.map +1 -0
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/core/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/gcp/index.js.map +1 -0
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/index.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/Secret.js.map +1 -0
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/model/index.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/onepassword/index.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/secrets/vault/index.js.map +1 -0
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/shared/runtime.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.cts +10 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.mts +10 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
- package/lib/types/graph/execution/index.d.cts +2 -0
- package/lib/types/graph/execution/index.d.mts +2 -0
- package/lib/types/graph/index.d.cts +4 -0
- package/lib/types/graph/index.d.mts +4 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
- package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
- package/lib/types/graph/loops/index.d.cts +1 -0
- package/lib/types/graph/loops/index.d.mts +1 -0
- package/lib/types/graph/nodes/agent.d.cts +44 -0
- package/lib/types/graph/nodes/agent.d.mts +44 -0
- package/lib/types/graph/nodes/category-styles.d.cts +8 -0
- package/lib/types/graph/nodes/category-styles.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control.d.cts +104 -0
- package/lib/types/graph/nodes/flow-control.d.mts +104 -0
- package/lib/types/graph/nodes/index.d.cts +16 -0
- package/lib/types/graph/nodes/index.d.mts +16 -0
- package/lib/types/graph/nodes/triggers.d.cts +53 -0
- package/lib/types/graph/nodes/triggers.d.mts +53 -0
- package/lib/types/graph/types.d.cts +102 -0
- package/lib/types/graph/types.d.mts +102 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/services/runtime.d.cts +6 -0
- package/lib/types/keycloak/services/runtime.d.mts +6 -0
- package/lib/types/kibana/services/runtime.d.cts +6 -0
- package/lib/types/kibana/services/runtime.d.mts +6 -0
- package/lib/types/nest/authService.d.cts +1 -0
- package/lib/types/nest/authService.d.mts +1 -0
- package/package.json +1 -1
|
@@ -41,6 +41,7 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
|
41
41
|
const core_1 = require("@decaf-ts/core");
|
|
42
42
|
const axios_1 = __importDefault(require("axios"));
|
|
43
43
|
const https = __importStar(require("node:https"));
|
|
44
|
+
const runtime_js_1 = require("./runtime.cjs");
|
|
44
45
|
class KibanaAuthService extends core_1.ClientBasedService {
|
|
45
46
|
async initialize(...args) {
|
|
46
47
|
const { ctxArgs } = (await this.logCtx(args, "initialize", true)).for(this.initialize);
|
|
@@ -72,7 +73,7 @@ class KibanaAuthService extends core_1.ClientBasedService {
|
|
|
72
73
|
},
|
|
73
74
|
withCredentials: true,
|
|
74
75
|
httpsAgent: new https.Agent({
|
|
75
|
-
rejectUnauthorized: (this.config
|
|
76
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
76
77
|
}),
|
|
77
78
|
}, 200, ...ctxArgs);
|
|
78
79
|
if (response.status >= 300) {
|
|
@@ -115,7 +116,7 @@ class KibanaAuthService extends core_1.ClientBasedService {
|
|
|
115
116
|
baseURL: `${config.protocol}://${config.host}`,
|
|
116
117
|
validateStatus: () => true,
|
|
117
118
|
httpsAgent: new https.Agent({
|
|
118
|
-
rejectUnauthorized: (this.config
|
|
119
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
119
120
|
}),
|
|
120
121
|
});
|
|
121
122
|
}
|
|
@@ -134,12 +135,12 @@ class KibanaAuthService extends core_1.ClientBasedService {
|
|
|
134
135
|
: undefined,
|
|
135
136
|
validateStatus: () => true,
|
|
136
137
|
httpsAgent: new https.Agent({
|
|
137
|
-
rejectUnauthorized: (this.config
|
|
138
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
138
139
|
}),
|
|
139
140
|
...extra,
|
|
140
141
|
});
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
144
|
exports.KibanaAuthService = KibanaAuthService;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hQXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMva2liYW5hL3NlcnZpY2VzL0tpYmFuYUF1dGhTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEtBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzdDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFHdEM7SUFDQyxLQUFLLENBQUMsVUFBVSxDQUNkLEdBQUcsSUFBNkI7UUFFaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQ2xCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUM1QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBc0IsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FDakIsUUFBNEIsRUFDNUIsUUFBNEIsRUFDNUIsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUks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LEVBQUUsQ0FBQzthQUMxRCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQ25CLE1BQXlDLEVBQ3pDLEdBQVcsRUFDWCxPQUFnQixFQUNoQixPQUErQixFQUMvQixLQUEwQixFQUMxQixXQUFtQixFQUNuQixHQUFHLElBQXlCO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3pCLE1BQU07WUFDTixHQUFHO1lBQ0gsSUFBSSxFQUNGLE9BQU8sS0FBSyxTQUFTO2dCQUNuQixDQUFDLENBQUMsU0FBUztnQkFDWCxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUTtvQkFDM0IsQ0FBQyxDQUFDLE9BQU87b0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQy9CLElBQUksRUFBRSxPQUFPO2dCQUNYLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUM1RCxDQUFDLENBQUMsU0FBUztZQUNiLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzFCLFVBQVUsRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLGtCQUFrQixFQUFFLENBQUUsSUFBSSxDQUFDLE1BQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUMxRCxDQUFDO1lBQ0YsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnRleHR1YWxBcmdzLCBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBLaWJhbmFTZXR1cENvbmZpZywgS2liYW5hVXNlciB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IEF4aW9zSW5zdGFuY2UgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5cbmV4cG9ydCBjbGFzcyBLaWJhbmFBdXRoU2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VydmljZTxcbiAgQXhpb3NJbnN0YW5jZSxcbiAgS2liYW5hU2V0dXBDb25maWdcbj4ge1xuICBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IEtpYmFuYVNldHVwQ29uZmlnOyBjbGllbnQ6IEF4aW9zSW5zdGFuY2UgfT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIEtpYmFuYVNldHVwQ29uZmlnO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQoY29uZmlnKTtcbiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luVG9LaWJhbmEoXG4gICAgdXNlcm5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwYXNzd29yZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8c3RyaW5nW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibG9naW5Ub0tpYmFuYVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMubG9naW5Ub0tpYmFuYSk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSB7XG4gICAgICB1c2VybmFtZTogdXNlcm5hbWUgPz8gY29uZmlnLmFkbWluQXBpVXNlcj8udXNlcm5hbWUsXG4gICAgICBwYXNzd29yZDogcGFzc3dvcmQgPz8gY29uZmlnLmFkbWluQXBpVXNlcj8ucGFzc3dvcmQsXG4gICAgfTtcbiAgICBpZiAoIWNyZWRlbnRpYWxzLnVzZXJuYW1lIHx8ICFjcmVkZW50aWFscy5wYXNzd29yZCkge1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihcIktpYmFuYSBsb2dpbiByZXF1aXJlcyBjcmVkZW50aWFsc1wiKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9L2ludGVybmFsL3NlY3VyaXR5L2xvZ2luYCxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZXJUeXBlOiBcImJhc2ljXCIsXG4gICAgICAgIHByb3ZpZGVyTmFtZTogXCJiYXNpY1wiLFxuICAgICAgICBjdXJyZW50VVJMOiBcIi9sb2dpblwiLFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgYXV0aDogY3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcImtibi14c3JmXCI6IFwidHJ1ZVwiLFxuICAgICAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICB9LFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYEtpYmFuYSBsb2dpbiBmYWlsZWQ6ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXRDb29raWUgPSByZXNwb25zZS5oZWFkZXJzW1wic2V0LWNvb2tpZVwiXSBhcyBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXNldENvb2tpZT8ubGVuZ3RoKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBzZXRDb29raWU7XG4gIH1cblxuICBhc3luYyBsb2dvdXQoXG4gICAgdXNlcjogS2liYW5hVXNlcixcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibG9nb3V0XCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5sb2dvdXQpO1xuICAgIGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYCR7dGhpcy5jb25maWcucHJvdG9jb2x9Oi8vJHt0aGlzLmNvbmZpZy5ob3N0fS9sb2dvdXRgLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdXNlcixcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiIH0sXG4gICAgICB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogRXJyb3IpOiBFcnJvciB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDlcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiaW52YWxpZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJiYWQgcmVxdWVzdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDBcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF1dGhvcml6ZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAxXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImZvcmJpZGRlblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUh0dHBDbGllbnQoY29uZmlnOiBLaWJhbmFTZXR1cENvbmZpZyk6IEF4aW9zSW5zdGFuY2Uge1xuICAgIHJldHVybiBBeGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9YCxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcXVlc3QoXG4gICAgbWV0aG9kOiBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJERUxFVEVcIixcbiAgICB1cmw6IHN0cmluZyxcbiAgICBwYXlsb2FkOiB1bmtub3duLFxuICAgIGFwaVVzZXI6IEtpYmFuYVVzZXIgfCB1bmRlZmluZWQsXG4gICAgZXh0cmE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgc3VjY2Vzc0NvZGU6IG51bWJlcixcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxhbnk+XG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQucmVxdWVzdCh7XG4gICAgICBtZXRob2QsXG4gICAgICB1cmwsXG4gICAgICBkYXRhOlxuICAgICAgICBwYXlsb2FkID09PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgIDogdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gcGF5bG9hZFxuICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgICAgIGF1dGg6IGFwaVVzZXJcbiAgICAgICAgPyB7IHVzZXJuYW1lOiBhcGlVc2VyLnVzZXJuYW1lLCBwYXNzd29yZDogYXBpVXNlci5wYXNzd29yZCB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6ICgodGhpcy5jb25maWcgYXMgYW55KS5pc1Byb2R1Y3Rpb24oKSksXG4gICAgICB9KSxcbiAgICAgIC4uLmV4dHJhLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hQXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJLaWJhbmFBdXRoU2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyREFBd0c7QUFDeEcseUNBQW9EO0FBQ3BELGtEQUEwQjtBQUMxQixrREFBb0M7QUFDcEMsTUFBYSxpQkFBa0IsU0FBUSx5QkFBa0I7SUFDckQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUk7UUFDcEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSTtRQUMzQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRztZQUNoQixRQUFR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UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDdkIsTUFBTTtZQUNOLEdBQUc7WUFDSCxJQUFJLEVBQUUsT0FBTyxLQUFLLFNBQVM7Z0JBQ3ZCLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRO29CQUN6QixDQUFDLENBQUMsT0FBTztvQkFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDakMsSUFBSSxFQUFFLE9BQU87Z0JBQ1QsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxTQUFTO1lBQ2YsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDMUIsVUFBVSxFQUFFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDeEIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ25ELENBQUM7WUFDRixHQUFHLEtBQUs7U0FDWCxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFsR0QsOENBa0dDO0FBQ0QsMDNZQUEwM1kiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYWRSZXF1ZXN0RXJyb3IsIENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5leHBvcnQgY2xhc3MgS2liYW5hQXV0aFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2Uge1xuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImluaXRpYWxpemVcIiwgdHJ1ZSkpLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgICAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdO1xuICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudChjb25maWcpO1xuICAgICAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gICAgfVxuICAgIGFzeW5jIGxvZ2luVG9LaWJhbmEodXNlcm5hbWUsIHBhc3N3b3JkLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibG9naW5Ub0tpYmFuYVwiLCB0cnVlKSkuZm9yKHRoaXMubG9naW5Ub0tpYmFuYSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgICAgICBjb25zdCBjcmVkZW50aWFscyA9IHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSA/PyBjb25maWcuYWRtaW5BcGlVc2VyPy51c2VybmFtZSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXNzd29yZCA/PyBjb25maWcuYWRtaW5BcGlVc2VyPy5wYXNzd29yZCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFjcmVkZW50aWFscy51c2VybmFtZSB8fCAhY3JlZGVudGlhbHMucGFzc3dvcmQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IoXCJLaWJhbmEgbG9naW4gcmVxdWlyZXMgY3JlZGVudGlhbHNcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fS9pbnRlcm5hbC9zZWN1cml0eS9sb2dpbmAsIHtcbiAgICAgICAgICAgIHByb3ZpZGVyVHlwZTogXCJiYXNpY1wiLFxuICAgICAgICAgICAgcHJvdmlkZXJOYW1lOiBcImJhc2ljXCIsXG4gICAgICAgICAgICBjdXJyZW50VVJMOiBcIi9sb2dpblwiLFxuICAgICAgICB9LCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGF1dGg6IGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6ICh0aGlzLmNvbmZpZy5pc1Byb2R1Y3Rpb24oKSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSwgMjAwLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSAzMDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgS2liYW5hIGxvZ2luIGZhaWxlZDogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWA7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNldENvb2tpZSA9IHJlc3BvbnNlLmhlYWRlcnNbXCJzZXQtY29va2llXCJdO1xuICAgICAgICBpZiAoIXNldENvb2tpZT8ubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHNldENvb2tpZTtcbiAgICB9XG4gICAgYXN5bmMgbG9nb3V0KHVzZXIsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsb2dvdXRcIiwgdHJ1ZSkpLmZvcih0aGlzLmxvZ291dCk7XG4gICAgICAgIGF3YWl0IHRoaXMucmVxdWVzdChcIlBPU1RcIiwgYCR7dGhpcy5jb25maWcucHJvdG9jb2x9Oi8vJHt0aGlzLmNvbmZpZy5ob3N0fS9sb2dvdXRgLCB1bmRlZmluZWQsIHVzZXIsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiB9LFxuICAgICAgICB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgIH1cbiAgICBwYXJzZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImludmFsaWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYmFkIHJlcXVlc3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAwXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJmb3JiaWRkZW5cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZykge1xuICAgICAgICByZXR1cm4gQXhpb3MuY3JlYXRlKHtcbiAgICAgICAgICAgIGJhc2VVUkw6IGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fWAsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAodGhpcy5jb25maWcuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyByZXF1ZXN0KG1ldGhvZCwgdXJsLCBwYXlsb2FkLCBhcGlVc2VyLCBleHRyYSwgc3VjY2Vzc0NvZGUsIC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZXF1ZXN0KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgZGF0YTogcGF5bG9hZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA6IHR5cGVvZiBwYXlsb2FkID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgICAgICAgICAgID8gcGF5bG9hZFxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpLFxuICAgICAgICAgICAgYXV0aDogYXBpVXNlclxuICAgICAgICAgICAgICAgID8geyB1c2VybmFtZTogYXBpVXNlci51c2VybmFtZSwgcGFzc3dvcmQ6IGFwaVVzZXIucGFzc3dvcmQgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKHRoaXMuY29uZmlnLmlzUHJvZHVjdGlvbigpKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uZXh0cmEsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVMybGlZVzVoUVhWMGFGTmxjblpwWTJVdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZhMmxpWVc1aEwzTmxjblpwWTJWekwwdHBZbUZ1WVVGMWRHaFRaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZEVEN4bFFVRmxMRVZCUTJZc1lVRkJZU3hGUVVOaUxHRkJRV0VzUlVGRFlpeGhRVUZoTEVkQlEyUXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVVZxUXl4UFFVRlBMRVZCUVVVc2EwSkJRV3RDTEVWQlFVVXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVVZ3UkN4UFFVRlBMRXRCUVhkQ0xFMUJRVTBzVDBGQlR5eERRVUZETzBGQlF6ZERMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzV1VGQldTeERRVUZETzBGQlJYQkRMRTFCUVUwc1QwRkJUeXhwUWtGQmEwSXNVMEZCVVN4clFrRkhkRU03U1VGRFF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVTmtMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRMnhDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzV1VGQldTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTTFReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRka0lzVFVGQlRTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJjMElzUTBGQlF6dFJRVU12UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF6dFJRVU4wUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRE4wTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU03VVVGRGRFSXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6dEpRVU0xUWl4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGRGFrSXNVVUZCTkVJc1JVRkROVUlzVVVGQk5FSXNSVUZETlVJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeGxRVUZsTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUXk5RExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRSUVVNeFFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRek5DTEUxQlFVMHNWMEZCVnl4SFFVRkhPMWxCUTJ4Q0xGRkJRVkVzUlVGQlJTeFJRVUZSTEVsQlFVa3NUVUZCVFN4RFFVRkRMRmxCUVZrc1JVRkJSU3hSUVVGUk8xbEJRMjVFTEZGQlFWRXNSVUZCUlN4UlFVRlJMRWxCUVVrc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGQlJTeFJRVUZSTzFOQlEzQkVMRU5CUVVNN1VVRkRSaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVU51UkN4TlFVRk5MRWxCUVVrc1pVRkJaU3hEUVVGRExHMURRVUZ0UXl4RFFVRkRMRU5CUVVNN1VVRkRha1VzUTBGQlF6dFJRVVZFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGRGFrTXNUVUZCVFN4RlFVTk9MRWRCUVVjc1RVRkJUU3hEUVVGRExGRkJRVkVzVFVGQlRTeE5RVUZOTEVOQlFVTXNTVUZCU1N3d1FrRkJNRUlzUlVGRE4wUTdXVUZEUlN4WlFVRlpMRVZCUVVVc1QwRkJUenRaUVVOeVFpeFpRVUZaTEVWQlFVVXNUMEZCVHp0WlFVTnlRaXhWUVVGVkxFVkJRVVVzVVVGQlVUdFRRVU55UWl4RlFVTkVMRk5CUVZNc1JVRkRWRHRaUVVORkxFbEJRVWtzUlVGQlJTeFhRVUZYTzFsQlEycENMRTlCUVU4c1JVRkJSVHRuUWtGRFVDeFZRVUZWTEVWQlFVVXNUVUZCVFR0blFrRkRiRUlzWTBGQll5eEZRVUZGTEd0Q1FVRnJRanRoUVVOdVF6dFpRVU5FTEdWQlFXVXNSVUZCUlN4SlFVRkpPMWxCUTNKQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVVVzU1VGQlNTeERRVUZETEUxQlFXTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRoUVVNeFJDeERRVUZETzFOQlEwZ3NSVUZEUkN4SFFVRkhMRVZCUTBnc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dFJRVVZHTEVsQlFVa3NVVUZCVVN4RFFVRkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dFpRVU16UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXgzUWtGQmQwSXNVVUZCVVN4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8xbEJRemxFTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGNrTXNRMEZCUXp0UlFVVkVMRTFCUVUwc1UwRkJVeXhIUVVGSExGRkJRVkVzUTBGQlF5eFBRVUZQTEVOQlFVTXNXVUZCV1N4RFFVRjVRaXhEUVVGRE8xRkJRM3BGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVc1RVRkJUVHRaUVVGRkxFOUJRVThzVTBGQlV5eERRVUZETzFGQlEzcERMRTlCUVU4c1UwRkJVeXhEUVVGRE8wbEJRMjVDTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVOV0xFbEJRV2RDTEVWQlEyaENMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRMnhDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTjRReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRia0lzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVTm9RaXhOUVVGTkxFVkJRMDRzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRkZCUVZFc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NVMEZCVXl4RlFVTjBSQ3hUUVVGVExFVkJRMVFzU1VGQlNTeEZRVU5LTzFsQlEwVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJUdFRRVU5vUXl4RlFVTkVMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVlRMRlZCUVZVc1EwRkJReXhMUVVGWk8xRkJReTlDTEUxQlFVMHNUMEZCVHl4SFFVRkhMRXRCUVVzc1EwRkJReXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NTVUZCU1N4bFFVRmxMRU5CUVVNN1VVRkRMMFFzVFVGQlRTeFpRVUZaTEVkQlFVY3NUMEZCVHl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJSVE5ETEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGRrVXNUMEZCVHl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU53UXl4RFFVRkRPMUZCUlVRc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRha2dzVDBGQlR5eEpRVUZKTEdGQlFXRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOd1F5eERRVUZETzFGQlJVUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRemRITEU5QlFVOHNTVUZCU1N4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGRFTXNRMEZCUXp0UlFVVkVMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlFVTTdXVUZETVVVc1QwRkJUeXhKUVVGSkxHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTndReXhEUVVGRE8xRkJSVVFzU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOMlJTeFBRVUZQTEVsQlFVa3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM0JETEVOQlFVTTdVVUZGUkN4UFFVRlBMRWxCUVVrc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEzQkRMRU5CUVVNN1NVRkZUeXhuUWtGQlowSXNRMEZCUXl4TlFVRjVRanRSUVVOb1JDeFBRVUZQTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNN1dVRkRiRUlzVDBGQlR5eEZRVUZGTEVkQlFVY3NUVUZCVFN4RFFVRkRMRkZCUVZFc1RVRkJUU3hOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTzFsQlF6bERMR05CUVdNc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eEpRVUZKTzFsQlF6RkNMRlZCUVZVc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTTdaMEpCUXpGQ0xHdENRVUZyUWl4RlFVRkZMRU5CUVVVc1NVRkJTU3hEUVVGRExFMUJRV01zUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXp0aFFVTXhSQ3hEUVVGRE8xTkJRMGdzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVlBMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRMjVDTEUxQlFYbERMRVZCUTNwRExFZEJRVmNzUlVGRFdDeFBRVUZuUWl4RlFVTm9RaXhQUVVFclFpeEZRVU12UWl4TFFVRXdRaXhGUVVNeFFpeFhRVUZ0UWl4RlFVTnVRaXhIUVVGSExFbEJRWGxDTzFGQlJUVkNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOb1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRE8xbEJRM3BDTEUxQlFVMDdXVUZEVGl4SFFVRkhPMWxCUTBnc1NVRkJTU3hGUVVOR0xFOUJRVThzUzBGQlN5eFRRVUZUTzJkQ1FVTnVRaXhEUVVGRExFTkJRVU1zVTBGQlV6dG5Ra0ZEV0N4RFFVRkRMRU5CUVVNc1QwRkJUeXhQUVVGUExFdEJRVXNzVVVGQlVUdHZRa0ZETTBJc1EwRkJReXhEUVVGRExFOUJRVTg3YjBKQlExUXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETzFsQlF5OUNMRWxCUVVrc1JVRkJSU3hQUVVGUE8yZENRVU5ZTEVOQlFVTXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hQUVVGUExFTkJRVU1zVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRU5CUVVNc1VVRkJVU3hGUVVGRk8yZENRVU0xUkN4RFFVRkRMRU5CUVVNc1UwRkJVenRaUVVOaUxHTkJRV01zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpPMWxCUXpGQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVVVzU1VGQlNTeERRVUZETEUxQlFXTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRoUVVNeFJDeERRVUZETzFsQlEwWXNSMEZCUnl4TFFVRkxPMU5CUTFRc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0Y2JpQWdRbUZrVW1WeGRXVnpkRVZ5Y205eUxGeHVJQ0JEYjI1bWJHbGpkRVZ5Y205eUxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JPYjNSR2IzVnVaRVZ5Y205eUxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5SbGVIUjFZV3hCY21kekxDQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRU5zYVdWdWRFSmhjMlZrVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkxhV0poYm1GVFpYUjFjRU52Ym1acFp5d2dTMmxpWVc1aFZYTmxjaUI5SUdaeWIyMGdYQ0l1TGk5MGVYQmxjMXdpTzF4dWFXMXdiM0owSUVGNGFXOXpMQ0I3SUVGNGFXOXpTVzV6ZEdGdVkyVWdmU0JtY205dElGd2lZWGhwYjNOY0lqdGNibWx0Y0c5eWRDQXFJR0Z6SUdoMGRIQnpJR1p5YjIwZ1hDSnViMlJsT21oMGRIQnpYQ0k3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJMYVdKaGJtRkJkWFJvVTJWeWRtbGpaU0JsZUhSbGJtUnpJRU5zYVdWdWRFSmhjMlZrVTJWeWRtbGpaVHhjYmlBZ1FYaHBiM05KYm5OMFlXNWpaU3hjYmlBZ1MybGlZVzVoVTJWMGRYQkRiMjVtYVdkY2JqNGdlMXh1SUNCaGMzbHVZeUJwYm1sMGFXRnNhWHBsS0Z4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZXlCamIyNW1hV2M2SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuT3lCamJHbGxiblE2SUVGNGFXOXpTVzV6ZEdGdVkyVWdmVDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pwYm1sMGFXRnNhWHBsWENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTVwYm1sMGFXRnNhWHBsS1R0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQmpkSGhCY21keld6QmRJR0Z6SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuTzF4dUlDQWdJSFJvYVhNdVgyTnZibVpwWnlBOUlHTnZibVpwWnp0Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5RZ1BTQjBhR2x6TG1OeVpXRjBaVWgwZEhCRGJHbGxiblFvWTI5dVptbG5LVHRjYmlBZ0lDQjBhR2x6TGw5amJHbGxiblFnUFNCamJHbGxiblE3WEc0Z0lDQWdjbVYwZFhKdUlIc2dZMjl1Wm1sbkxDQmpiR2xsYm5RZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHeHZaMmx1Vkc5TGFXSmhibUVvWEc0Z0lDQWdkWE5sY201aGJXVTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQndZWE56ZDI5eVpEb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThjM1J5YVc1blcxMGdmQ0IxYm1SbFptbHVaV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpYkc5bmFXNVViMHRwWW1GdVlWd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWJHOW5hVzVVYjB0cFltRnVZU2s3WEc0Z0lDQWdZMjl1YzNRZ1kyOXVabWxuSUQwZ2RHaHBjeTVqYjI1bWFXYzdYRzRnSUNBZ1kyOXVjM1FnWTNKbFpHVnVkR2xoYkhNZ1BTQjdYRzRnSUNBZ0lDQjFjMlZ5Ym1GdFpUb2dkWE5sY201aGJXVWdQejhnWTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2o4dWRYTmxjbTVoYldVc1hHNGdJQ0FnSUNCd1lYTnpkMjl5WkRvZ2NHRnpjM2R2Y21RZ1B6OGdZMjl1Wm1sbkxtRmtiV2x1UVhCcFZYTmxjajh1Y0dGemMzZHZjbVFzWEc0Z0lDQWdmVHRjYmlBZ0lDQnBaaUFvSVdOeVpXUmxiblJwWVd4ekxuVnpaWEp1WVcxbElIeDhJQ0ZqY21Wa1pXNTBhV0ZzY3k1d1lYTnpkMjl5WkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFSmhaRkpsY1hWbGMzUkZjbkp2Y2loY0lrdHBZbUZ1WVNCc2IyZHBiaUJ5WlhGMWFYSmxjeUJqY21Wa1pXNTBhV0ZzYzF3aUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUNSN1kyOXVabWxuTG5CeWIzUnZZMjlzZlRvdkx5UjdZMjl1Wm1sbkxtaHZjM1I5TDJsdWRHVnlibUZzTDNObFkzVnlhWFI1TDJ4dloybHVZQ3hjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnY0hKdmRtbGtaWEpVZVhCbE9pQmNJbUpoYzJsalhDSXNYRzRnSUNBZ0lDQWdJSEJ5YjNacFpHVnlUbUZ0WlRvZ1hDSmlZWE5wWTF3aUxGeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFZWSk1PaUJjSWk5c2IyZHBibHdpTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ1lYVjBhRG9nWTNKbFpHVnVkR2xoYkhNc1hHNGdJQ0FnSUNBZ0lHaGxZV1JsY25NNklIdGNiaUFnSUNBZ0lDQWdJQ0JjSW10aWJpMTRjM0ptWENJNklGd2lkSEoxWlZ3aUxGeHVJQ0FnSUNBZ0lDQWdJRndpWTI5dWRHVnVkQzEwZVhCbFhDSTZJRndpWVhCd2JHbGpZWFJwYjI0dmFuTnZibHdpTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQjNhWFJvUTNKbFpHVnVkR2xoYkhNNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUdoMGRIQnpRV2RsYm5RNklHNWxkeUJvZEhSd2N5NUJaMlZ1ZENoN1hHNGdJQ0FnSUNBZ0lDQWdjbVZxWldOMFZXNWhkWFJvYjNKcGVtVmtPaUFvS0hSb2FYTXVZMjl1Wm1sbklHRnpJR0Z1ZVNrdWFYTlFjbTlrZFdOMGFXOXVLQ2twTEZ4dUlDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQXlNREFzWEc0Z0lDQWdJQ0F1TGk1amRIaEJjbWR6WEc0Z0lDQWdLVHRjYmx4dUlDQWdJR2xtSUNoeVpYTndiMjV6WlM1emRHRjBkWE1nUGowZ016QXdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRXRwWW1GdVlTQnNiMmRwYmlCbVlXbHNaV1E2SUNSN2NtVnpjRzl1YzJVdWMzUmhkSFZ6VkdWNGRIMWdPMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRUpoWkZKbGNYVmxjM1JGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6WlhSRGIyOXJhV1VnUFNCeVpYTndiMjV6WlM1b1pXRmtaWEp6VzF3aWMyVjBMV052YjJ0cFpWd2lYU0JoY3lCemRISnBibWRiWFNCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9JWE5sZEVOdmIydHBaVDh1YkdWdVozUm9LU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lISmxkSFZ5YmlCelpYUkRiMjlyYVdVN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCc2IyZHZkWFFvWEc0Z0lDQWdkWE5sY2pvZ1MybGlZVzVoVlhObGNpeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR04wZUVGeVozTWdmU0E5SUNoY2JpQWdJQ0FnSUdGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpYkc5bmIzVjBYQ0lzSUhSeWRXVXBYRzRnSUNBZ0tTNW1iM0lvZEdocGN5NXNiMmR2ZFhRcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUNSN2RHaHBjeTVqYjI1bWFXY3VjSEp2ZEc5amIyeDlPaTh2Skh0MGFHbHpMbU52Ym1acFp5NW9iM04wZlM5c2IyZHZkWFJnTEZ4dUlDQWdJQ0FnZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnZFhObGNpeGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdhR1ZoWkdWeWN6b2dleUJjSW10aWJpMTRjM0ptWENJNklGd2lkSEoxWlZ3aUlIMHNYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdNakF3TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCd2NtOTBaV04wWldRZ2NHRnljMlZGY25KdmNpaGxjbkp2Y2pvZ1JYSnliM0lwT2lCRmNuSnZjaUI3WEc0Z0lDQWdZMjl1YzNRZ2JXVnpjMkZuWlNBOUlHVnljbTl5TG0xbGMzTmhaMlVnZkh3Z1pYSnliM0l1Ym1GdFpTQjhmQ0JjSWxWdWEyNXZkMjRnWlhKeWIzSmNJanRjYmlBZ0lDQmpiMjV6ZENCc2IzZGxjazFsYzNOaFoyVWdQU0J0WlhOellXZGxMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWJtOTBJR1p2ZFc1a1hDSXBJSHg4SUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJalF3TkZ3aUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJPYjNSR2IzVnVaRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKaGJISmxZV1I1SUdWNGFYTjBjMXdpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKamIyNW1iR2xqZEZ3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNRGxjSWlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dRMjl1Wm14cFkzUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpYVc1MllXeHBaRndpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKaVlXUWdjbVZ4ZFdWemRGd2lLU0I4ZkNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0kwTURCY0lpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUW1Ga1VtVnhkV1Z6ZEVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSjFibUYxZEdodmNtbDZaV1JjSWlrZ2ZId2diRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aU5EQXhYQ0lwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFNXZkRVp2ZFc1a1JYSnliM0lvYldWemMyRm5aU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbVp2Y21KcFpHUmxibHdpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENJME1ETmNJaWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RtOTBSbTkxYm1SRmNuSnZjaWh0WlhOellXZGxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHTnlaV0YwWlVoMGRIQkRiR2xsYm5Rb1kyOXVabWxuT2lCTGFXSmhibUZUWlhSMWNFTnZibVpwWnlrNklFRjRhVzl6U1c1emRHRnVZMlVnZTF4dUlDQWdJSEpsZEhWeWJpQkJlR2x2Y3k1amNtVmhkR1VvZTF4dUlDQWdJQ0FnWW1GelpWVlNURG9nWUNSN1kyOXVabWxuTG5CeWIzUnZZMjlzZlRvdkx5UjdZMjl1Wm1sbkxtaHZjM1I5WUN4Y2JpQWdJQ0FnSUhaaGJHbGtZWFJsVTNSaGRIVnpPaUFvS1NBOVBpQjBjblZsTEZ4dUlDQWdJQ0FnYUhSMGNITkJaMlZ1ZERvZ2JtVjNJR2gwZEhCekxrRm5aVzUwS0h0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wVlc1aGRYUm9iM0pwZW1Wa09pQW9LSFJvYVhNdVkyOXVabWxuSUdGeklHRnVlU2t1YVhOUWNtOWtkV04wYVc5dUtDa3BMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJSEpsY1hWbGMzUW9YRzRnSUNBZ2JXVjBhRzlrT2lCY0lrZEZWRndpSUh3Z1hDSlFUMU5VWENJZ2ZDQmNJbEJWVkZ3aUlId2dYQ0pFUlV4RlZFVmNJaXhjYmlBZ0lDQjFjbXc2SUhOMGNtbHVaeXhjYmlBZ0lDQndZWGxzYjJGa09pQjFibXR1YjNkdUxGeHVJQ0FnSUdGd2FWVnpaWEk2SUV0cFltRnVZVlZ6WlhJZ2ZDQjFibVJsWm1sdVpXUXNYRzRnSUNBZ1pYaDBjbUU2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0c1hHNGdJQ0FnYzNWalkyVnpjME52WkdVNklHNTFiV0psY2l4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJEYjI1MFpYaDBkV0ZzUVhKbmN6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThZVzU1UGlCN1hHNGdJQ0FnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnZEdocGN5NXlaWEYxWlhOMEtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiR2xsYm5RdWNtVnhkV1Z6ZENoN1hHNGdJQ0FnSUNCdFpYUm9iMlFzWEc0Z0lDQWdJQ0IxY213c1hHNGdJQ0FnSUNCa1lYUmhPbHh1SUNBZ0lDQWdJQ0J3WVhsc2IyRmtJRDA5UFNCMWJtUmxabWx1WldSY2JpQWdJQ0FnSUNBZ0lDQS9JSFZ1WkdWbWFXNWxaRnh1SUNBZ0lDQWdJQ0FnSURvZ2RIbHdaVzltSUhCaGVXeHZZV1FnUFQwOUlGd2ljM1J5YVc1blhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z2NHRjViRzloWkZ4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJLVTA5T0xuTjBjbWx1WjJsbWVTaHdZWGxzYjJGa0tTeGNiaUFnSUNBZ0lHRjFkR2c2SUdGd2FWVnpaWEpjYmlBZ0lDQWdJQ0FnUHlCN0lIVnpaWEp1WVcxbE9pQmhjR2xWYzJWeUxuVnpaWEp1WVcxbExDQndZWE56ZDI5eVpEb2dZWEJwVlhObGNpNXdZWE56ZDI5eVpDQjlYRzRnSUNBZ0lDQWdJRG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnZG1Gc2FXUmhkR1ZUZEdGMGRYTTZJQ2dwSUQwK0lIUnlkV1VzWEc0Z0lDQWdJQ0JvZEhSd2MwRm5aVzUwT2lCdVpYY2dhSFIwY0hNdVFXZGxiblFvZTF4dUlDQWdJQ0FnSUNCeVpXcGxZM1JWYm1GMWRHaHZjbWw2WldRNklDZ29kR2hwY3k1amIyNW1hV2NnWVhNZ1lXNTVLUzVwYzFCeWIyUjFZM1JwYjI0b0tTa3NYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJQzR1TG1WNGRISmhMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
145
|
+
//# sourceMappingURL=KibanaAuthService.js.map
|
|
146
|
+
//# sourceMappingURL=KibanaAuthService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kibana/services/KibanaAuthService.cjs","sourceRoot":"","sources":["kibana/services/KibanaAuthService.js"],"names":[],"mappings":"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"}
|
|
@@ -57,9 +57,10 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
57
57
|
const fs = __importStar(require("node:fs"));
|
|
58
58
|
const path = __importStar(require("node:path"));
|
|
59
59
|
const https = __importStar(require("node:https"));
|
|
60
|
+
const runtime_js_1 = require("./runtime.cjs");
|
|
60
61
|
const form_data_1 = __importDefault(require("form-data"));
|
|
61
62
|
const KibanaAuthService_js_1 = require("./KibanaAuthService.cjs");
|
|
62
|
-
const
|
|
63
|
+
const runtime_js_2 = require("./../../shared/runtime.cjs");
|
|
63
64
|
class KibanaDashboardService extends core_1.ClientBasedService {
|
|
64
65
|
async initialize(...args) {
|
|
65
66
|
const { ctxArgs } = (await this.logCtx(args, "initialize", true)).for(this.initialize);
|
|
@@ -76,7 +77,7 @@ class KibanaDashboardService extends core_1.ClientBasedService {
|
|
|
76
77
|
const message = `Unable to list dashboards from default space: ${response.statusText}`;
|
|
77
78
|
throw new db_decorators_1.BadRequestError(message);
|
|
78
79
|
}
|
|
79
|
-
const data = (0,
|
|
80
|
+
const data = (0, runtime_js_2.parseJsonBody)(response.data) ?? {};
|
|
80
81
|
const dashboards = data.saved_objects ?? [];
|
|
81
82
|
if (dashboards.length === 0)
|
|
82
83
|
return undefined;
|
|
@@ -118,7 +119,7 @@ class KibanaDashboardService extends core_1.ClientBasedService {
|
|
|
118
119
|
maxContentLength: Infinity,
|
|
119
120
|
validateStatus: () => true,
|
|
120
121
|
httpsAgent: new https.Agent({
|
|
121
|
-
rejectUnauthorized: (this.config
|
|
122
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
122
123
|
}),
|
|
123
124
|
});
|
|
124
125
|
if (importResp.status >= 300) {
|
|
@@ -151,7 +152,7 @@ class KibanaDashboardService extends core_1.ClientBasedService {
|
|
|
151
152
|
const message = `Unable to verify space ${realmName}: ${response.statusText}`;
|
|
152
153
|
throw new db_decorators_1.BadRequestError(message);
|
|
153
154
|
}
|
|
154
|
-
const data = (0,
|
|
155
|
+
const data = (0, runtime_js_2.parseJsonBody)(response.data);
|
|
155
156
|
if ((data?.total ?? 0) === 0) {
|
|
156
157
|
const message = `No dashboards found in space ${realmName}`;
|
|
157
158
|
throw new db_decorators_1.NotFoundError(message);
|
|
@@ -162,7 +163,7 @@ class KibanaDashboardService extends core_1.ClientBasedService {
|
|
|
162
163
|
baseURL: `${config.protocol}://${config.host}`,
|
|
163
164
|
validateStatus: () => true,
|
|
164
165
|
httpsAgent: new https.Agent({
|
|
165
|
-
rejectUnauthorized: (this.config
|
|
166
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
166
167
|
}),
|
|
167
168
|
});
|
|
168
169
|
}
|
|
@@ -201,7 +202,7 @@ class KibanaDashboardService extends core_1.ClientBasedService {
|
|
|
201
202
|
: undefined,
|
|
202
203
|
validateStatus: () => true,
|
|
203
204
|
httpsAgent: new https.Agent({
|
|
204
|
-
rejectUnauthorized: (this.config
|
|
205
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
205
206
|
}),
|
|
206
207
|
...extra,
|
|
207
208
|
});
|
|
@@ -212,5 +213,5 @@ __decorate([
|
|
|
212
213
|
(0, core_1.service)(),
|
|
213
214
|
__metadata("design:type", KibanaAuthService_js_1.KibanaAuthService)
|
|
214
215
|
], KibanaDashboardService.prototype, "authService", void 0);
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGFzaGJvYXJkU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9raWJhbmEvc2VydmljZXMvS2liYW5hRGFzaGJvYXJkU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzdELE9BQU8sS0FBNkIsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUIsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBNEI7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQ0FBNkI7QUFFckQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUczQztJQUlDLEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMs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cG9ydCB7XG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb250ZXh0dWFsQXJncywgTWF5YmVDb250ZXh0dWFsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIHNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHtcbiAgS2liYW5hU2V0dXBDb25maWcsXG4gIEtpYmFuYVVzZXIsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IHR5cGUgQXhpb3NJbnN0YW5jZSB9IGZyb20gXCJheGlvc1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcIm5vZGU6aHR0cHNcIjtcbmltcG9ydCBGb3JtRGF0YSBmcm9tIFwiZm9ybS1kYXRhXCI7XG5pbXBvcnQgeyBLaWJhbmFBdXRoU2VydmljZSB9IGZyb20gXCIuL0tpYmFuYUF1dGhTZXJ2aWNlXCI7XG5pbXBvcnQgeyBwYXJzZUpzb25Cb2R5IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9ydW50aW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXNoYm9hcmRTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlPFxuICBBeGlvc0luc3RhbmNlLFxuICBLaWJhbmFTZXR1cENvbmZpZ1xuPiB7XG4gIEBzZXJ2aWNlKClcbiAgcHJvdGVjdGVkIGF1dGhTZXJ2aWNlITogS2liYW5hQXV0aFNlcnZpY2U7XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBLaWJhbmFTZXR1cENvbmZpZzsgY2xpZW50OiBBeGlvc0luc3RhbmNlIH0+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgY29uc3QgY29uZmlnID0gY3R4QXJnc1swXSBhcyBLaWJhbmFTZXR1cENvbmZpZztcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5jcmVhdGVIdHRwQ2xpZW50KGNvbmZpZyk7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBjbG9uZURlZmF1bHREYXNoYm9hcmRzKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNsb25lRGVmYXVsdERhc2hib2FyZHNcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNsb25lRGVmYXVsdERhc2hib2FyZHMpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFxuICAgICAgXCJHRVRcIixcbiAgICAgIGAvcy9kZWZhdWx0L2FwaS9zYXZlZF9vYmplY3RzL19maW5kP3R5cGU9ZGFzaGJvYXJkJnBlcl9wYWdlPTEwMDBgLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIgfSB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBsaXN0IGRhc2hib2FyZHMgZnJvbSBkZWZhdWx0IHNwYWNlOiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSBwYXJzZUpzb25Cb2R5PGFueT4ocmVzcG9uc2UuZGF0YSkgPz8ge307XG4gICAgY29uc3QgZGFzaGJvYXJkczogQXJyYXk8eyBpZDogc3RyaW5nIH0+ID0gZGF0YS5zYXZlZF9vYmplY3RzID8/IFtdO1xuICAgIGlmIChkYXNoYm9hcmRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGNvcHlSZXNwID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFxuICAgICAgXCJQT1NUXCIsXG4gICAgICBgL2FwaS9zcGFjZXMvX2NvcHlfc2F2ZWRfb2JqZWN0c2AsXG4gICAgICB7XG4gICAgICAgIHNwYWNlczogW3JlYWxtTmFtZV0sXG4gICAgICAgIG9iamVjdHM6IGRhc2hib2FyZHMubWFwKChkYXNoYm9hcmQpID0+ICh7XG4gICAgICAgICAgaWQ6IGRhc2hib2FyZC5pZCxcbiAgICAgICAgICB0eXBlOiBcImRhc2hib2FyZFwiLFxuICAgICAgICB9KSksXG4gICAgICAgIGluY2x1ZGVSZWZlcmVuY2VzOiB0cnVlLFxuICAgICAgICBjcmVhdGVOZXdDb3BpZXM6IHRydWUsXG4gICAgICAgIG92ZXJ3cml0ZTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSxcbiAgICAgIDIwMCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGlmIChjb3B5UmVzcC5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBjb3B5IGRhc2hib2FyZHMgdG8gJHtyZWFsbU5hbWV9OiAke2NvcHlSZXNwLnN0YXR1c1RleHR9YDtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXNzZXRSb290ID0gdGhpcy5jb25maWcuZGFzaGJvYXJkSW1wb3J0UGF0aCA/PyB0aGlzLmNvbmZpZy5hc3NldHM7XG4gICAgaWYgKCFhc3NldFJvb3QpIHtcbiAgICAgIHJldHVybiBkYXNoYm9hcmRzWzBdPy5pZDtcbiAgICB9XG5cbiAgICBjb25zdCBuZGpzb25QYXRoID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGFzc2V0Um9vdCwgXCJwbGEtc2Nhbi5uZGpzb25cIik7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKG5kanNvblBhdGgpKSByZXR1cm4gZGFzaGJvYXJkc1swXT8uaWQ7XG4gICAgY29uc3QgZm9ybSA9IG5ldyAoRm9ybURhdGEgYXMgYW55KSgpO1xuICAgIGZvcm0uYXBwZW5kKFwiZmlsZVwiLCBmcy5jcmVhdGVSZWFkU3RyZWFtKG5kanNvblBhdGgpKTtcbiAgICBjb25zdCBpbXBvcnRSZXNwID0gYXdhaXQgQXhpb3MucG9zdChcbiAgICAgIGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vcy8ke3JlYWxtTmFtZX0vYXBpL3NhdmVkX29iamVjdHMvX2ltcG9ydD9vdmVyd3JpdGU9dHJ1ZWAsXG4gICAgICBmb3JtLFxuICAgICAge1xuICAgICAgICBhdXRoOiB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXJcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgdXNlcm5hbWU6IHRoaXMuY29uZmlnLmFkbWluQXBpVXNlci51c2VybmFtZSxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IHRoaXMuY29uZmlnLmFkbWluQXBpVXNlci5wYXNzd29yZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIC4uLmZvcm0uZ2V0SGVhZGVycygpLFxuICAgICAgICAgIFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIG1heEJvZHlMZW5ndGg6IEluZmluaXR5LFxuICAgICAgICBtYXhDb250ZW50TGVuZ3RoOiBJbmZpbml0eSxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICB9KSxcbiAgICAgIH1cbiAgICApO1xuICAgIGlmIChpbXBvcnRSZXNwLnN0YXR1cyA+PSAzMDApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5hYmxlIHRvIGltcG9ydCBkYXNoYm9hcmRzIGZvciAke3JlYWxtTmFtZX06ICR7aW1wb3J0UmVzcC5zdGF0dXNUZXh0fWA7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gZGFzaGJvYXJkc1swXT8uaWQ7XG4gIH1cblxuICBnZW5lcmF0ZURhc2hib2FyZEVtYmVkVXJsKG9wdGlvbnM6IHtcbiAgICBzcGFjZTogc3RyaW5nO1xuICAgIGRhc2hib2FyZElkOiBzdHJpbmc7XG4gICAgc2hvd1RpbWVGaWx0ZXI/OiBib29sZWFuO1xuICAgIHNob3dRdWVyeUlucHV0PzogYm9vbGVhbjtcbiAgICBzaG93RmlsdGVyQmFyPzogYm9vbGVhbjtcbiAgICBoaWRlUGFuZWxUaXRsZXM/OiBib29sZWFuO1xuICAgIHRpbWVSYW5nZT86IHsgZnJvbTogc3RyaW5nOyB0bzogc3RyaW5nIH07XG4gIH0pOiBzdHJpbmcge1xuICAgIGNvbnN0IHtcbiAgICAgIHNwYWNlLFxuICAgICAgZGFzaGJvYXJkSWQsXG4gICAgICBzaG93VGltZUZpbHRlciA9IGZhbHNlLFxuICAgICAgc2hvd1F1ZXJ5SW5wdXQgPSBmYWxzZSxcbiAgICAgIHNob3dGaWx0ZXJCYXIgPSBmYWxzZSxcbiAgICAgIGhpZGVQYW5lbFRpdGxlcyA9IGZhbHNlLFxuICAgICAgdGltZVJhbmdlLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGJhc2UgPSBgJHt0aGlzLmNvbmZpZy5wcm90b2NvbH06Ly8ke3RoaXMuY29uZmlnLmhvc3R9YDtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgZW1iZWQ6IFwidHJ1ZVwiIH0pO1xuICAgIGlmIChzaG93VGltZUZpbHRlcikgcGFyYW1zLnNldChcInNob3ctdGltZS1maWx0ZXJcIiwgXCJ0cnVlXCIpO1xuICAgIGlmIChzaG93UXVlcnlJbnB1dCkgcGFyYW1zLnNldChcInNob3ctcXVlcnktaW5wdXRcIiwgXCJ0cnVlXCIpO1xuICAgIGlmIChzaG93RmlsdGVyQmFyKSBwYXJhbXMuc2V0KFwic2hvdy1maWx0ZXItYmFyXCIsIFwidHJ1ZVwiKTtcbiAgICBpZiAoaGlkZVBhbmVsVGl0bGVzKSBwYXJhbXMuc2V0KFwiaGlkZS1wYW5lbC10aXRsZXNcIiwgXCJ0cnVlXCIpO1xuICAgIGNvbnN0IHRpbWVGcmFnbWVudCA9IHRpbWVSYW5nZVxuICAgICAgPyBgJl9nPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHsgdGltZTogdGltZVJhbmdlIH0pKX1gXG4gICAgICA6IFwiXCI7XG4gICAgcmV0dXJuIGAke2Jhc2V9L3MvJHtzcGFjZX0vYXBwL2Rhc2hib2FyZHMjL3ZpZXcvJHtkYXNoYm9hcmRJZH0/JHtwYXJhbXMudG9TdHJpbmcoKX0ke3RpbWVGcmFnbWVudH1gO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5U3BhY2VTZXR1cChcbiAgICByZWFsbU5hbWU6IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidmVyaWZ5U3BhY2VTZXR1cFwiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMudmVyaWZ5U3BhY2VTZXR1cCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXG4gICAgICBcIkdFVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvc2F2ZWRfb2JqZWN0cy9fZmluZD90eXBlPWRhc2hib2FyZCZwZXJfcGFnZT0xYCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiIH0gfSxcbiAgICAgIDIwMCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gdmVyaWZ5IHNwYWNlICR7cmVhbG1OYW1lfTogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWA7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gcGFyc2VKc29uQm9keTxhbnk+KHJlc3BvbnNlLmRhdGEpO1xuICAgIGlmICgoZGF0YT8udG90YWwgPz8gMCkgPT09IDApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTm8gZGFzaGJvYXJkcyBmb3VuZCBpbiBzcGFjZSAke3JlYWxtTmFtZX1gO1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZzogS2liYW5hU2V0dXBDb25maWcpOiBBeGlvc0luc3RhbmNlIHtcbiAgICByZXR1cm4gQXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fWAsXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKCh0aGlzLmNvbmZpZyBhcyBhbnkpLmlzUHJvZHVjdGlvbigpKSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRXJyb3IoZXJyb3I6IEVycm9yKTogRXJyb3Ige1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImludmFsaWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYmFkIHJlcXVlc3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAwXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJmb3JiaWRkZW5cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0KFxuICAgIG1ldGhvZDogXCJHRVRcIiB8IFwiUE9TVFwiIHwgXCJQVVRcIiB8IFwiREVMRVRFXCIsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcGF5bG9hZDogdW5rbm93bixcbiAgICBhcGlVc2VyOiBLaWJhbmFVc2VyIHwgdW5kZWZpbmVkLFxuICAgIGV4dHJhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHN1Y2Nlc3NDb2RlOiBudW1iZXIsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LnJlcXVlc3Qoe1xuICAgICAgbWV0aG9kLFxuICAgICAgdXJsLFxuICAgICAgZGF0YTpcbiAgICAgICAgcGF5bG9hZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IHR5cGVvZiBwYXlsb2FkID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gICAgICBhdXRoOiBhcGlVc2VyXG4gICAgICAgID8geyB1c2VybmFtZTogYXBpVXNlci51c2VybmFtZSwgcGFzc3dvcmQ6IGFwaVVzZXIucGFzc3dvcmQgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgfSksXG4gICAgICAuLi5leHRyYSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGFzaGJvYXJkU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIktpYmFuYURhc2hib2FyZFNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVB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Q0FDL0MsRUFBRSxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUQsODBvQkFBODBvQiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBCYWRSZXF1ZXN0RXJyb3IsIENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIHNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgRm9ybURhdGEgZnJvbSBcImZvcm0tZGF0YVwiO1xuaW1wb3J0IHsgS2liYW5hQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi9LaWJhbmFBdXRoU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgcGFyc2VKc29uQm9keSB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9ydW50aW1lLmpzXCI7XG5leHBvcnQgY2xhc3MgS2liYW5hRGFzaGJvYXJkU2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VydmljZSB7XG4gICAgYXN5bmMgaW5pdGlhbGl6ZSguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGN0eEFyZ3NbMF07XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5jcmVhdGVIdHRwQ2xpZW50KGNvbmZpZyk7XG4gICAgICAgIHRoaXMuX2NsaWVudCA9IGNsaWVudDtcbiAgICAgICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgICB9XG4gICAgYXN5bmMgY2xvbmVEZWZhdWx0RGFzaGJvYXJkcyhyZWFsbU5hbWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjbG9uZURlZmF1bHREYXNoYm9hcmRzXCIsIHRydWUpKS5mb3IodGhpcy5jbG9uZURlZmF1bHREYXNoYm9hcmRzKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJHRVRcIiwgYC9zL2RlZmF1bHQvYXBpL3NhdmVkX29iamVjdHMvX2ZpbmQ/dHlwZT1kYXNoYm9hcmQmcGVyX3BhZ2U9MTAwMGAsIHVuZGVmaW5lZCwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiB9IH0sIDIwMCwgLi4uY3R4QXJncyk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gbGlzdCBkYXNoYm9hcmRzIGZyb20gZGVmYXVsdCBzcGFjZTogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWA7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGEgPSBwYXJzZUpzb25Cb2R5KHJlc3BvbnNlLmRhdGEpID8/IHt9O1xuICAgICAgICBjb25zdCBkYXNoYm9hcmRzID0gZGF0YS5zYXZlZF9vYmplY3RzID8/IFtdO1xuICAgICAgICBpZiAoZGFzaGJvYXJkcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBjb3B5UmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcIlBPU1RcIiwgYC9hcGkvc3BhY2VzL19jb3B5X3NhdmVkX29iamVjdHNgLCB7XG4gICAgICAgICAgICBzcGFjZXM6IFtyZWFsbU5hbWVdLFxuICAgICAgICAgICAgb2JqZWN0czogZGFzaGJvYXJkcy5tYXAoKGRhc2hib2FyZCkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogZGFzaGJvYXJkLmlkLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiZGFzaGJvYXJkXCIsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBpbmNsdWRlUmVmZXJlbmNlczogdHJ1ZSxcbiAgICAgICAgICAgIGNyZWF0ZU5ld0NvcGllczogdHJ1ZSxcbiAgICAgICAgICAgIG92ZXJ3cml0ZTogZmFsc2UsXG4gICAgICAgIH0sIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlciwgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSwgMjAwLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKGNvcHlSZXNwLnN0YXR1cyA+PSAzMDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5hYmxlIHRvIGNvcHkgZGFzaGJvYXJkcyB0byAke3JlYWxtTmFtZX06ICR7Y29weVJlc3Auc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhc3NldFJvb3QgPSB0aGlzLmNvbmZpZy5kYXNoYm9hcmRJbXBvcnRQYXRoID8/IHRoaXMuY29uZmlnLmFzc2V0cztcbiAgICAgICAgaWYgKCFhc3NldFJvb3QpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXNoYm9hcmRzWzBdPy5pZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZGpzb25QYXRoID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGFzc2V0Um9vdCwgXCJwbGEtc2Nhbi5uZGpzb25cIik7XG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhuZGpzb25QYXRoKSlcbiAgICAgICAgICAgIHJldHVybiBkYXNoYm9hcmRzWzBdPy5pZDtcbiAgICAgICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtLmFwcGVuZChcImZpbGVcIiwgZnMuY3JlYXRlUmVhZFN0cmVhbShuZGpzb25QYXRoKSk7XG4gICAgICAgIGNvbnN0IGltcG9ydFJlc3AgPSBhd2FpdCBBeGlvcy5wb3N0KGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH0vcy8ke3JlYWxtTmFtZX0vYXBpL3NhdmVkX29iamVjdHMvX2ltcG9ydD9vdmVyd3JpdGU9dHJ1ZWAsIGZvcm0sIHtcbiAgICAgICAgICAgIGF1dGg6IHRoaXMuY29uZmlnLmFkbWluQXBpVXNlclxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLnVzZXJuYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLnBhc3N3b3JkLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAuLi5mb3JtLmdldEhlYWRlcnMoKSxcbiAgICAgICAgICAgICAgICBcImtibi14c3JmXCI6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1heEJvZHlMZW5ndGg6IEluZmluaXR5LFxuICAgICAgICAgICAgbWF4Q29udGVudExlbmd0aDogSW5maW5pdHksXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAodGhpcy5jb25maWcuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaW1wb3J0UmVzcC5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBpbXBvcnQgZGFzaGJvYXJkcyBmb3IgJHtyZWFsbU5hbWV9OiAke2ltcG9ydFJlc3Auc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGFzaGJvYXJkc1swXT8uaWQ7XG4gICAgfVxuICAgIGdlbmVyYXRlRGFzaGJvYXJkRW1iZWRVcmwob3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IHNwYWNlLCBkYXNoYm9hcmRJZCwgc2hvd1RpbWVGaWx0ZXIgPSBmYWxzZSwgc2hvd1F1ZXJ5SW5wdXQgPSBmYWxzZSwgc2hvd0ZpbHRlckJhciA9IGZhbHNlLCBoaWRlUGFuZWxUaXRsZXMgPSBmYWxzZSwgdGltZVJhbmdlLCB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgYmFzZSA9IGAke3RoaXMuY29uZmlnLnByb3RvY29sfTovLyR7dGhpcy5jb25maWcuaG9zdH1gO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgZW1iZWQ6IFwidHJ1ZVwiIH0pO1xuICAgICAgICBpZiAoc2hvd1RpbWVGaWx0ZXIpXG4gICAgICAgICAgICBwYXJhbXMuc2V0KFwic2hvdy10aW1lLWZpbHRlclwiLCBcInRydWVcIik7XG4gICAgICAgIGlmIChzaG93UXVlcnlJbnB1dClcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoXCJzaG93LXF1ZXJ5LWlucHV0XCIsIFwidHJ1ZVwiKTtcbiAgICAgICAgaWYgKHNob3dGaWx0ZXJCYXIpXG4gICAgICAgICAgICBwYXJhbXMuc2V0KFwic2hvdy1maWx0ZXItYmFyXCIsIFwidHJ1ZVwiKTtcbiAgICAgICAgaWYgKGhpZGVQYW5lbFRpdGxlcylcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoXCJoaWRlLXBhbmVsLXRpdGxlc1wiLCBcInRydWVcIik7XG4gICAgICAgIGNvbnN0IHRpbWVGcmFnbWVudCA9IHRpbWVSYW5nZVxuICAgICAgICAgICAgPyBgJl9nPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHsgdGltZTogdGltZVJhbmdlIH0pKX1gXG4gICAgICAgICAgICA6IFwiXCI7XG4gICAgICAgIHJldHVybiBgJHtiYXNlfS9zLyR7c3BhY2V9L2FwcC9kYXNoYm9hcmRzIy92aWV3LyR7ZGFzaGJvYXJkSWR9PyR7cGFyYW1zLnRvU3RyaW5nKCl9JHt0aW1lRnJhZ21lbnR9YDtcbiAgICB9XG4gICAgYXN5bmMgdmVyaWZ5U3BhY2VTZXR1cChyZWFsbU5hbWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJ2ZXJpZnlTcGFjZVNldHVwXCIsIHRydWUpKS5mb3IodGhpcy52ZXJpZnlTcGFjZVNldHVwKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJHRVRcIiwgYC9zLyR7cmVhbG1OYW1lfS9hcGkvc2F2ZWRfb2JqZWN0cy9fZmluZD90eXBlPWRhc2hib2FyZCZwZXJfcGFnZT0xYCwgdW5kZWZpbmVkLCB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIsIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiIH0gfSwgMjAwLCAuLi5jdHhBcmdzKTtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byB2ZXJpZnkgc3BhY2UgJHtyZWFsbU5hbWV9OiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YDtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IHBhcnNlSnNvbkJvZHkocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgIGlmICgoZGF0YT8udG90YWwgPz8gMCkgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTm8gZGFzaGJvYXJkcyBmb3VuZCBpbiBzcGFjZSAke3JlYWxtTmFtZX1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY3JlYXRlSHR0cENsaWVudChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIEF4aW9zLmNyZWF0ZSh7XG4gICAgICAgICAgICBiYXNlVVJMOiBgJHtjb25maWcucHJvdG9jb2x9Oi8vJHtjb25maWcuaG9zdH1gLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBodHRwc0FnZW50OiBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKHRoaXMuY29uZmlnLmlzUHJvZHVjdGlvbigpKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcGFyc2VFcnJvcihlcnJvcikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZSB8fCBlcnJvci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgICAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbmZsaWN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJpbnZhbGlkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImJhZCByZXF1ZXN0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXV0aG9yaXplZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDFcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZm9yYmlkZGVuXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwM1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgYXN5bmMgcmVxdWVzdChtZXRob2QsIHVybCwgcGF5bG9hZCwgYXBpVXNlciwgZXh0cmEsIHN1Y2Nlc3NDb2RlLCAuLi5hcmdzKSB7XG4gICAgICAgIHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVxdWVzdCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGRhdGE6IHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgICAgICAgICAgIGF1dGg6IGFwaVVzZXJcbiAgICAgICAgICAgICAgICA/IHsgdXNlcm5hbWU6IGFwaVVzZXIudXNlcm5hbWUsIHBhc3N3b3JkOiBhcGlVc2VyLnBhc3N3b3JkIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6ICh0aGlzLmNvbmZpZy5pc1Byb2R1Y3Rpb24oKSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLmV4dHJhLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICBzZXJ2aWNlKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEtpYmFuYUF1dGhTZXJ2aWNlKVxuXSwgS2liYW5hRGFzaGJvYXJkU2VydmljZS5wcm90b3R5cGUsIFwiYXV0aFNlcnZpY2VcIiwgdm9pZCAwKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVMybGlZVzVoUkdGemFHSnZZWEprVTJWeWRtbGpaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5cmFXSmhibUV2YzJWeWRtbGpaWE12UzJsaVlXNWhSR0Z6YUdKdllYSmtVMlZ5ZG1salpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCUVN4UFFVRlBMRVZCUTB3c1pVRkJaU3hGUVVObUxHRkJRV0VzUlVGRFlpeGhRVUZoTEVWQlEySXNZVUZCWVN4SFFVTmtMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGYWtNc1QwRkJUeXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxHZENRVUZuUWl4RFFVRkRPMEZCU3pkRUxFOUJRVThzUzBGQk5rSXNUVUZCVFN4UFFVRlBMRU5CUVVNN1FVRkRiRVFzVDBGQlR5eExRVUZMTEVWQlFVVXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRkRPVUlzVDBGQlR5eExRVUZMTEVsQlFVa3NUVUZCVFN4WFFVRlhMRU5CUVVNN1FVRkRiRU1zVDBGQlR5eExRVUZMTEV0QlFVc3NUVUZCVFN4WlFVRlpMRU5CUVVNN1FVRkRjRU1zVDBGQlR5eFJRVUZSTEUxQlFVMHNWMEZCVnl4RFFVRkRPMEZCUTJwRExFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3dyUWtGQk5FSTdRVUZEZUVRc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeHJRMEZCTmtJN1FVRkZja1FzVFVGQlRTeFBRVUZQTEhOQ1FVRjFRaXhUUVVGUkxHdENRVWN6UXp0SlFVbERMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRMlFzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRelZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZ6UWl4RFFVRkRPMUZCUXk5RExFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUTNSQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVTjBRaXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPMGxCUXpWQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNjMEpCUVhOQ0xFTkJRekZDTEZOQlFXbENMRVZCUTJwQ0xFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeEhRVUZITEVOQlEyeENMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNkMEpCUVhkQ0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlEzaEVMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1EwRkJReXhEUVVGRE8xRkJRMjVETEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGRGFrTXNTMEZCU3l4RlFVTk1MR2xGUVVGcFJTeEZRVU5xUlN4VFFVRlRMRVZCUTFRc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFpRVUZaTEVWQlEzaENMRVZCUVVVc1QwRkJUeXhGUVVGRkxFVkJRVVVzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZMRVZCUTI1RExFZEJRVWNzUlVGRFNDeEhRVUZITEU5QlFVOHNRMEZEV0N4RFFVRkRPMUZCUTBZc1NVRkJTU3hSUVVGUkxFTkJRVU1zVFVGQlRTeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMWxCUXpWQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEdsRVFVRnBSQ3hSUVVGUkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdXVUZEZGtZc1RVRkJUU3hKUVVGSkxHVkJRV1VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnlReXhEUVVGRE8xRkJRMFFzVFVGQlRTeEpRVUZKTEVkQlFVY3NZVUZCWVN4RFFVRk5MRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEY2tRc1RVRkJUU3hWUVVGVkxFZEJRVEJDTEVsQlFVa3NRMEZCUXl4aFFVRmhMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRMjVGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRE8xbEJRVVVzVDBGQlR5eFRRVUZUTEVOQlFVTTdVVUZGT1VNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVTnFReXhOUVVGTkxFVkJRMDRzYVVOQlFXbERMRVZCUTJwRE8xbEJRMFVzVFVGQlRTeEZRVUZGTEVOQlFVTXNVMEZCVXl4RFFVRkRPMWxCUTI1Q0xFOUJRVThzUlVGQlJTeFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzJkQ1FVTjBReXhGUVVGRkxFVkJRVVVzVTBGQlV5eERRVUZETEVWQlFVVTdaMEpCUTJoQ0xFbEJRVWtzUlVGQlJTeFhRVUZYTzJGQlEyeENMRU5CUVVNc1EwRkJRenRaUVVOSUxHbENRVUZwUWl4RlFVRkZMRWxCUVVrN1dVRkRka0lzWlVGQlpTeEZRVUZGTEVsQlFVazdXVUZEY2tJc1UwRkJVeXhGUVVGRkxFdEJRVXM3VTBGRGFrSXNSVUZEUkN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGRGVFSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZGTEdOQlFXTXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEVWQlEzWkZMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlEwWXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6TkNMRTFCUVUwc1QwRkJUeXhIUVVGSExHZERRVUZuUXl4VFFVRlRMRXRCUVVzc1VVRkJVU3hEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFsQlEzQkdMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEY2tNc1EwRkJRenRSUVVWRUxFMUJRVTBzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGVFVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8xbEJRMllzVDBGQlR5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRE8xRkJRek5DTEVOQlFVTTdVVUZGUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hUUVVGVExFVkJRVVVzYVVKQlFXbENMRU5CUVVNc1EwRkJRenRSUVVNeFJTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGQlJTeFBRVUZQTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRGVrUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTeXhSUVVGblFpeEZRVUZGTEVOQlFVTTdVVUZEY2tNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMR2RDUVVGblFpeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja1FzVFVGQlRTeFZRVUZWTEVkQlFVY3NUVUZCVFN4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVOcVF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4TlFVRk5MRk5CUVZNc01rTkJRVEpETEVWQlEzWkhMRWxCUVVrc1JVRkRTanRaUVVORkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmxCUVZrN1owSkJRelZDTEVOQlFVTXNRMEZCUXp0dlFrRkRSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1VVRkJVVHR2UWtGRE0wTXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zV1VGQldTeERRVUZETEZGQlFWRTdhVUpCUXpWRE8yZENRVU5JTEVOQlFVTXNRMEZCUXl4VFFVRlRPMWxCUTJJc1QwRkJUeXhGUVVGRk8yZENRVU5RTEVkQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHRuUWtGRGNFSXNWVUZCVlN4RlFVRkZMRTFCUVUwN1lVRkRia0k3V1VGRFJDeGhRVUZoTEVWQlFVVXNVVUZCVVR0WlFVTjJRaXhuUWtGQlowSXNSVUZCUlN4UlFVRlJPMWxCUXpGQ0xHTkJRV01zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpPMWxCUXpGQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVVVzU1VGQlNTeERRVUZETEUxQlFXTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRoUVVNeFJDeERRVUZETzFOQlEwZ3NRMEZEUml4RFFVRkRPMUZCUTBZc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkRPMWxCUXpkQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEcxRFFVRnRReXhUUVVGVExFdEJRVXNzVlVGQlZTeERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNwR0xFMUJRVTBzU1VGQlNTeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRja01zUTBGQlF6dFJRVU5FTEU5QlFVOHNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF6dEpRVU16UWl4RFFVRkRPMGxCUlVRc2VVSkJRWGxDTEVOQlFVTXNUMEZSZWtJN1VVRkRReXhOUVVGTkxFVkJRMG9zUzBGQlN5eEZRVU5NTEZkQlFWY3NSVUZEV0N4alFVRmpMRWRCUVVjc1MwRkJTeXhGUVVOMFFpeGpRVUZqTEVkQlFVY3NTMEZCU3l4RlFVTjBRaXhoUVVGaExFZEJRVWNzUzBGQlN5eEZRVU55UWl4bFFVRmxMRWRCUVVjc1MwRkJTeXhGUVVOMlFpeFRRVUZUTEVkQlExWXNSMEZCUnl4UFFVRlBMRU5CUVVNN1VVRkRXaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkROMFFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4bFFVRmxMRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hKUVVGSkxHTkJRV003V1VGQlJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUXpORUxFbEJRVWtzWTBGQll6dFpRVUZGTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRNMFFzU1VGQlNTeGhRVUZoTzFsQlFVVXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVONlJDeEpRVUZKTEdWQlFXVTdXVUZCUlN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRemRFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRk5CUVZNN1dVRkROVUlzUTBGQlF5eERRVUZETEU5QlFVOHNhMEpCUVd0Q0xFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVTdXVUZEYkVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF6dFJRVU5RTEU5QlFVOHNSMEZCUnl4SlFVRkpMRTFCUVUwc1MwRkJTeXg1UWtGQmVVSXNWMEZCVnl4SlFVRkpMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eFpRVUZaTEVWQlFVVXNRMEZCUXp0SlFVTjBSeXhEUVVGRE8wbEJSVVFzUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhEUVVOd1FpeFRRVUZwUWl4RlFVTnFRaXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUjBGQlJ5eERRVU5zUWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVU5zUkN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJRenRSUVVNM1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRMnBETEV0QlFVc3NSVUZEVEN4TlFVRk5MRk5CUVZNc2IwUkJRVzlFTEVWQlEyNUZMRk5CUVZNc1JVRkRWQ3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZsQlFWa3NSVUZEZUVJc1JVRkJSU3hQUVVGUExFVkJRVVVzUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVc1JVRkRia01zUjBGQlJ5eEZRVU5JTEVkQlFVY3NUMEZCVHl4RFFVTllMRU5CUVVNN1VVRkRSaXhKUVVGSkxGRkJRVkVzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNN1dVRkROVUlzVFVGQlRTeFBRVUZQTEVkQlFVY3NNRUpCUVRCQ0xGTkJRVk1zUzBGQlN5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1dVRkRPVVVzVFVGQlRTeEpRVUZKTEdWQlFXVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOeVF5eERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1lVRkJZU3hEUVVGTkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTXZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU0zUWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhuUTBGQlowTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkROVVFzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOdVF5eERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVlBMR2RDUVVGblFpeERRVUZETEUxQlFYbENPMUZCUTJoRUxFOUJRVThzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXp0WlFVTnNRaXhQUVVGUExFVkJRVVVzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVVUZCVVN4TlFVRk5MRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVU3V1VGRE9VTXNZMEZCWXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWs3V1VGRE1VSXNWVUZCVlN4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dG5Ra0ZETVVJc2EwSkJRV3RDTEVWQlFVVXNRMEZCUlN4SlFVRkpMRU5CUVVNc1RVRkJZeXhEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzJGQlF6RkVMRU5CUVVNN1UwRkRTQ3hEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBsQlJWTXNWVUZCVlN4RFFVRkRMRXRCUVZrN1VVRkRMMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTMEZCU3l4RFFVRkRMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeEpRVUZKTEdWQlFXVXNRMEZCUXp0UlFVTXZSQ3hOUVVGTkxGbEJRVmtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1VVRkZNME1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOMlJTeFBRVUZQTEVsQlFVa3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM0JETEVOQlFVTTdVVUZGUkN4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTnFTQ3hQUVVGUExFbEJRVWtzWVVGQllTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNCRExFTkJRVU03VVVGRlJDeEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkROMGNzVDBGQlR5eEpRVUZKTEdWQlFXVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOMFF5eERRVUZETzFGQlJVUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU14UlN4UFFVRlBMRWxCUVVrc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzQkRMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTNaRkxFOUJRVThzU1VGQlNTeGhRVUZoTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRjRU1zUTBGQlF6dFJRVVZFTEU5QlFVOHNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGNFTXNRMEZCUXp0SlFVVlBMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRMjVDTEUxQlFYbERMRVZCUTNwRExFZEJRVmNzUlVGRFdDeFBRVUZuUWl4RlFVTm9RaXhQUVVFclFpeEZRVU12UWl4TFFVRXdRaXhGUVVNeFFpeFhRVUZ0UWl4RlFVTnVRaXhIUVVGSExFbEJRWGxDTzFGQlJUVkNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOb1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRE8xbEJRM3BDTEUxQlFVMDdXVUZEVGl4SFFVRkhPMWxCUTBnc1NVRkJTU3hGUVVOR0xFOUJRVThzUzBGQlN5eFRRVUZUTzJkQ1FVTnVRaXhEUVVGRExFTkJRVU1zVTBGQlV6dG5Ra0ZEV0N4RFFVRkRMRU5CUVVNc1QwRkJUeXhQUVVGUExFdEJRVXNzVVVGQlVUdHZRa0ZETTBJc1EwRkJReXhEUVVGRExFOUJRVTg3YjBKQlExUXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETzFsQlF5OUNMRWxCUVVrc1JVRkJSU3hQUVVGUE8yZENRVU5ZTEVOQlFVTXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hQUVVGUExFTkJRVU1zVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRU5CUVVNc1VVRkJVU3hGUVVGRk8yZENRVU0xUkN4RFFVRkRMRU5CUVVNc1UwRkJVenRaUVVOaUxHTkJRV01zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpPMWxCUXpGQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVVVzU1VGQlNTeERRVUZETEUxQlFXTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRoUVVNeFJDeERRVUZETzFsQlEwWXNSMEZCUnl4TFFVRkxPMU5CUTFRc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dERRVU5HTzBGQkwwNVhPMGxCUkZRc1QwRkJUeXhGUVVGRk96aENRVU5qTEdsQ1FVRnBRanN5UkVGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdYRzRnSUVKaFpGSmxjWFZsYzNSRmNuSnZjaXhjYmlBZ1EyOXVabXhwWTNSRmNuSnZjaXhjYmlBZ1NXNTBaWEp1WVd4RmNuSnZjaXhjYmlBZ1RtOTBSbTkxYm1SRmNuSnZjaXhjYm4wZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCRGIyNTBaWGgwZFdGc1FYSm5jeXdnVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZXlCRGJHbGxiblJDWVhObFpGTmxjblpwWTJVc0lITmxjblpwWTJVZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHRjYmlBZ1MybGlZVzVoVTJWMGRYQkRiMjVtYVdjc1hHNGdJRXRwWW1GdVlWVnpaWElzWEc1OUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElFRjRhVzl6TENCN0lIUjVjR1VnUVhocGIzTkpibk4wWVc1alpTQjlJR1p5YjIwZ1hDSmhlR2x2YzF3aU8xeHVhVzF3YjNKMElDb2dZWE1nWm5NZ1puSnZiU0JjSW01dlpHVTZabk5jSWp0Y2JtbHRjRzl5ZENBcUlHRnpJSEJoZEdnZ1puSnZiU0JjSW01dlpHVTZjR0YwYUZ3aU8xeHVhVzF3YjNKMElDb2dZWE1nYUhSMGNITWdabkp2YlNCY0ltNXZaR1U2YUhSMGNITmNJanRjYm1sdGNHOXlkQ0JHYjNKdFJHRjBZU0JtY205dElGd2labTl5YlMxa1lYUmhYQ0k3WEc1cGJYQnZjblFnZXlCTGFXSmhibUZCZFhSb1UyVnlkbWxqWlNCOUlHWnliMjBnWENJdUwwdHBZbUZ1WVVGMWRHaFRaWEoyYVdObFhDSTdYRzVwYlhCdmNuUWdleUJ3WVhKelpVcHpiMjVDYjJSNUlIMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzl5ZFc1MGFXMWxYQ0k3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJMYVdKaGJtRkVZWE5vWW05aGNtUlRaWEoyYVdObElHVjRkR1Z1WkhNZ1EyeHBaVzUwUW1GelpXUlRaWEoyYVdObFBGeHVJQ0JCZUdsdmMwbHVjM1JoYm1ObExGeHVJQ0JMYVdKaGJtRlRaWFIxY0VOdmJtWnBaMXh1UGlCN1hHNGdJRUJ6WlhKMmFXTmxLQ2xjYmlBZ2NISnZkR1ZqZEdWa0lHRjFkR2hUWlhKMmFXTmxJVG9nUzJsaVlXNWhRWFYwYUZObGNuWnBZMlU3WEc1Y2JpQWdZWE41Ym1NZ2FXNXBkR2xoYkdsNlpTaGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIc2dZMjl1Wm1sbk9pQkxhV0poYm1GVFpYUjFjRU52Ym1acFp6c2dZMnhwWlc1ME9pQkJlR2x2YzBsdWMzUmhibU5sSUgwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWFXNXBkR2xoYkdsNlpWd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdWFXNXBkR2xoYkdsNlpTazdYRzRnSUNBZ1kyOXVjM1FnWTI5dVptbG5JRDBnWTNSNFFYSm5jMXN3WFNCaGN5QkxhV0poYm1GVFpYUjFjRU52Ym1acFp6dGNiaUFnSUNCMGFHbHpMbDlqYjI1bWFXY2dQU0JqYjI1bWFXYzdYRzRnSUNBZ1kyOXVjM1FnWTJ4cFpXNTBJRDBnZEdocGN5NWpjbVZoZEdWSWRIUndRMnhwWlc1MEtHTnZibVpwWnlrN1hHNGdJQ0FnZEdocGN5NWZZMnhwWlc1MElEMGdZMnhwWlc1ME8xeHVJQ0FnSUhKbGRIVnliaUI3SUdOdmJtWnBaeXdnWTJ4cFpXNTBJSDA3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJqYkc5dVpVUmxabUYxYkhSRVlYTm9ZbTloY21SektGeHVJQ0FnSUhKbFlXeHRUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4YzNSeWFXNW5JSHdnZFc1a1pXWnBibVZrUGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJqZEhoQmNtZHpJSDBnUFNBb1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW1Oc2IyNWxSR1ZtWVhWc2RFUmhjMmhpYjJGeVpITmNJaXdnZEhKMVpTbGNiaUFnSUNBcExtWnZjaWgwYUdsekxtTnNiMjVsUkdWbVlYVnNkRVJoYzJoaWIyRnlaSE1wTzF4dUlDQWdJR052Ym5OMElISmxjM0J2Ym5ObElEMGdZWGRoYVhRZ2RHaHBjeTV5WlhGMVpYTjBLRnh1SUNBZ0lDQWdYQ0pIUlZSY0lpeGNiaUFnSUNBZ0lHQXZjeTlrWldaaGRXeDBMMkZ3YVM5ellYWmxaRjl2WW1wbFkzUnpMMTltYVc1a1AzUjVjR1U5WkdGemFHSnZZWEprSm5CbGNsOXdZV2RsUFRFd01EQmdMRnh1SUNBZ0lDQWdkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUxGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJZ2ZTQjlMRnh1SUNBZ0lDQWdNakF3TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hKbGMzQnZibk5sTG5OMFlYUjFjeUFoUFQwZ01qQXdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRlZ1WVdKc1pTQjBieUJzYVhOMElHUmhjMmhpYjJGeVpITWdabkp2YlNCa1pXWmhkV3gwSUhOd1lXTmxPaUFrZTNKbGMzQnZibk5sTG5OMFlYUjFjMVJsZUhSOVlEdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkNZV1JTWlhGMVpYTjBSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHUmhkR0VnUFNCd1lYSnpaVXB6YjI1Q2IyUjVQR0Z1ZVQ0b2NtVnpjRzl1YzJVdVpHRjBZU2tnUHo4Z2UzMDdYRzRnSUNBZ1kyOXVjM1FnWkdGemFHSnZZWEprY3pvZ1FYSnlZWGs4ZXlCcFpEb2djM1J5YVc1bklIMCtJRDBnWkdGMFlTNXpZWFpsWkY5dlltcGxZM1J6SUQ4L0lGdGRPMXh1SUNBZ0lHbG1JQ2hrWVhOb1ltOWhjbVJ6TG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHTnZibk4wSUdOdmNIbFNaWE53SUQwZ1lYZGhhWFFnZEdocGN5NXlaWEYxWlhOMEtGeHVJQ0FnSUNBZ1hDSlFUMU5VWENJc1hHNGdJQ0FnSUNCZ0wyRndhUzl6Y0dGalpYTXZYMk52Y0hsZmMyRjJaV1JmYjJKcVpXTjBjMkFzWEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhOd1lXTmxjem9nVzNKbFlXeHRUbUZ0WlYwc1hHNGdJQ0FnSUNBZ0lHOWlhbVZqZEhNNklHUmhjMmhpYjJGeVpITXViV0Z3S0Noa1lYTm9ZbTloY21RcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ2FXUTZJR1JoYzJoaWIyRnlaQzVwWkN4Y2JpQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0ltUmhjMmhpYjJGeVpGd2lMRnh1SUNBZ0lDQWdJQ0I5S1Nrc1hHNGdJQ0FnSUNBZ0lHbHVZMngxWkdWU1pXWmxjbVZ1WTJWek9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNCamNtVmhkR1ZPWlhkRGIzQnBaWE02SUhSeWRXVXNYRzRnSUNBZ0lDQWdJRzkyWlhKM2NtbDBaVG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUxGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJc0lGd2lRMjl1ZEdWdWRDMVVlWEJsWENJNklGd2lZWEJ3YkdsallYUnBiMjR2YW5OdmJsd2lJSDBnZlN4Y2JpQWdJQ0FnSURJd01DeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdsbUlDaGpiM0I1VW1WemNDNXpkR0YwZFhNZ1BqMGdNekF3S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnWUZWdVlXSnNaU0IwYnlCamIzQjVJR1JoYzJoaWIyRnlaSE1nZEc4Z0pIdHlaV0ZzYlU1aGJXVjlPaUFrZTJOdmNIbFNaWE53TG5OMFlYUjFjMVJsZUhSOVlEdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkNZV1JTWlhGMVpYTjBSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdZWE56WlhSU2IyOTBJRDBnZEdocGN5NWpiMjVtYVdjdVpHRnphR0p2WVhKa1NXMXdiM0owVUdGMGFDQS9QeUIwYUdsekxtTnZibVpwWnk1aGMzTmxkSE03WEc0Z0lDQWdhV1lnS0NGaGMzTmxkRkp2YjNRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCa1lYTm9ZbTloY21Seld6QmRQeTVwWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnVaR3B6YjI1UVlYUm9JRDBnY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJR0Z6YzJWMFVtOXZkQ3dnWENKd2JHRXRjMk5oYmk1dVpHcHpiMjVjSWlrN1hHNGdJQ0FnYVdZZ0tDRm1jeTVsZUdsemRITlRlVzVqS0c1a2FuTnZibEJoZEdncEtTQnlaWFIxY200Z1pHRnphR0p2WVhKa2Mxc3dYVDh1YVdRN1hHNGdJQ0FnWTI5dWMzUWdabTl5YlNBOUlHNWxkeUFvUm05eWJVUmhkR0VnWVhNZ1lXNTVLU2dwTzF4dUlDQWdJR1p2Y20wdVlYQndaVzVrS0Z3aVptbHNaVndpTENCbWN5NWpjbVZoZEdWU1pXRmtVM1J5WldGdEtHNWthbk52YmxCaGRHZ3BLVHRjYmlBZ0lDQmpiMjV6ZENCcGJYQnZjblJTWlhOd0lEMGdZWGRoYVhRZ1FYaHBiM011Y0c5emRDaGNiaUFnSUNBZ0lHQWtlM1JvYVhNdVkyOXVabWxuTG5CeWIzUnZZMjlzZlRvdkx5UjdkR2hwY3k1amIyNW1hV2N1YUc5emRIMHZjeThrZTNKbFlXeHRUbUZ0WlgwdllYQnBMM05oZG1Wa1gyOWlhbVZqZEhNdlgybHRjRzl5ZEQ5dmRtVnlkM0pwZEdVOWRISjFaV0FzWEc0Z0lDQWdJQ0JtYjNKdExGeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQmhkWFJvT2lCMGFHbHpMbU52Ym1acFp5NWhaRzFwYmtGd2FWVnpaWEpjYmlBZ0lDQWdJQ0FnSUNBL0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RYTmxjbTVoYldVNklIUm9hWE11WTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2k1MWMyVnlibUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY0dGemMzZHZjbVE2SUhSb2FYTXVZMjl1Wm1sbkxtRmtiV2x1UVhCcFZYTmxjaTV3WVhOemQyOXlaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUNBZ2FHVmhaR1Z5Y3pvZ2UxeHVJQ0FnSUNBZ0lDQWdJQzR1TG1admNtMHVaMlYwU0dWaFpHVnljeWdwTEZ4dUlDQWdJQ0FnSUNBZ0lGd2lhMkp1TFhoemNtWmNJam9nWENKMGNuVmxYQ0lzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lHMWhlRUp2WkhsTVpXNW5kR2c2SUVsdVptbHVhWFI1TEZ4dUlDQWdJQ0FnSUNCdFlYaERiMjUwWlc1MFRHVnVaM1JvT2lCSmJtWnBibWwwZVN4Y2JpQWdJQ0FnSUNBZ2RtRnNhV1JoZEdWVGRHRjBkWE02SUNncElEMCtJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lHaDBkSEJ6UVdkbGJuUTZJRzVsZHlCb2RIUndjeTVCWjJWdWRDaDdYRzRnSUNBZ0lDQWdJQ0FnY21WcVpXTjBWVzVoZFhSb2IzSnBlbVZrT2lBb0tIUm9hWE11WTI5dVptbG5JR0Z6SUdGdWVTa3VhWE5RY205a2RXTjBhVzl1S0NrcExGeHVJQ0FnSUNBZ0lDQjlLU3hjYmlBZ0lDQWdJSDFjYmlBZ0lDQXBPMXh1SUNBZ0lHbG1JQ2hwYlhCdmNuUlNaWE53TG5OMFlYUjFjeUErUFNBek1EQXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHMWxjM05oWjJVZ1BTQmdWVzVoWW14bElIUnZJR2x0Y0c5eWRDQmtZWE5vWW05aGNtUnpJR1p2Y2lBa2UzSmxZV3h0VG1GdFpYMDZJQ1I3YVcxd2IzSjBVbVZ6Y0M1emRHRjBkWE5VWlhoMGZXQTdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dRbUZrVW1WeGRXVnpkRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdaR0Z6YUdKdllYSmtjMXN3WFQ4dWFXUTdYRzRnSUgxY2JseHVJQ0JuWlc1bGNtRjBaVVJoYzJoaWIyRnlaRVZ0WW1Wa1ZYSnNLRzl3ZEdsdmJuTTZJSHRjYmlBZ0lDQnpjR0ZqWlRvZ2MzUnlhVzVuTzF4dUlDQWdJR1JoYzJoaWIyRnlaRWxrT2lCemRISnBibWM3WEc0Z0lDQWdjMmh2ZDFScGJXVkdhV3gwWlhJL09pQmliMjlzWldGdU8xeHVJQ0FnSUhOb2IzZFJkV1Z5ZVVsdWNIVjBQem9nWW05dmJHVmhianRjYmlBZ0lDQnphRzkzUm1sc2RHVnlRbUZ5UHpvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0JvYVdSbFVHRnVaV3hVYVhSc1pYTS9PaUJpYjI5c1pXRnVPMXh1SUNBZ0lIUnBiV1ZTWVc1blpUODZJSHNnWm5KdmJUb2djM1J5YVc1bk95QjBiem9nYzNSeWFXNW5JSDA3WEc0Z0lIMHBPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUhOd1lXTmxMRnh1SUNBZ0lDQWdaR0Z6YUdKdllYSmtTV1FzWEc0Z0lDQWdJQ0J6YUc5M1ZHbHRaVVpwYkhSbGNpQTlJR1poYkhObExGeHVJQ0FnSUNBZ2MyaHZkMUYxWlhKNVNXNXdkWFFnUFNCbVlXeHpaU3hjYmlBZ0lDQWdJSE5vYjNkR2FXeDBaWEpDWVhJZ1BTQm1ZV3h6WlN4Y2JpQWdJQ0FnSUdocFpHVlFZVzVsYkZScGRHeGxjeUE5SUdaaGJITmxMRnh1SUNBZ0lDQWdkR2x0WlZKaGJtZGxMRnh1SUNBZ0lIMGdQU0J2Y0hScGIyNXpPMXh1SUNBZ0lHTnZibk4wSUdKaGMyVWdQU0JnSkh0MGFHbHpMbU52Ym1acFp5NXdjbTkwYjJOdmJIMDZMeThrZTNSb2FYTXVZMjl1Wm1sbkxtaHZjM1I5WUR0Y2JpQWdJQ0JqYjI1emRDQndZWEpoYlhNZ1BTQnVaWGNnVlZKTVUyVmhjbU5vVUdGeVlXMXpLSHNnWlcxaVpXUTZJRndpZEhKMVpWd2lJSDBwTzF4dUlDQWdJR2xtSUNoemFHOTNWR2x0WlVacGJIUmxjaWtnY0dGeVlXMXpMbk5sZENoY0luTm9iM2N0ZEdsdFpTMW1hV3gwWlhKY0lpd2dYQ0owY25WbFhDSXBPMXh1SUNBZ0lHbG1JQ2h6YUc5M1VYVmxjbmxKYm5CMWRDa2djR0Z5WVcxekxuTmxkQ2hjSW5Ob2IzY3RjWFZsY25rdGFXNXdkWFJjSWl3Z1hDSjBjblZsWENJcE8xeHVJQ0FnSUdsbUlDaHphRzkzUm1sc2RHVnlRbUZ5S1NCd1lYSmhiWE11YzJWMEtGd2ljMmh2ZHkxbWFXeDBaWEl0WW1GeVhDSXNJRndpZEhKMVpWd2lLVHRjYmlBZ0lDQnBaaUFvYUdsa1pWQmhibVZzVkdsMGJHVnpLU0J3WVhKaGJYTXVjMlYwS0Z3aWFHbGtaUzF3WVc1bGJDMTBhWFJzWlhOY0lpd2dYQ0owY25WbFhDSXBPMXh1SUNBZ0lHTnZibk4wSUhScGJXVkdjbUZuYldWdWRDQTlJSFJwYldWU1lXNW5aVnh1SUNBZ0lDQWdQeUJnSmw5blBTUjdaVzVqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLRXBUVDA0dWMzUnlhVzVuYVdaNUtIc2dkR2x0WlRvZ2RHbHRaVkpoYm1kbElIMHBLWDFnWEc0Z0lDQWdJQ0E2SUZ3aVhDSTdYRzRnSUNBZ2NtVjBkWEp1SUdBa2UySmhjMlY5TDNNdkpIdHpjR0ZqWlgwdllYQndMMlJoYzJoaWIyRnlaSE1qTDNacFpYY3ZKSHRrWVhOb1ltOWhjbVJKWkgwL0pIdHdZWEpoYlhNdWRHOVRkSEpwYm1jb0tYMGtlM1JwYldWR2NtRm5iV1Z1ZEgxZ08xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2RtVnlhV1o1VTNCaFkyVlRaWFIxY0NoY2JpQWdJQ0J5WldGc2JVNWhiV1U2SUhOMGNtbHVaeXhjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWRtVnlhV1o1VTNCaFkyVlRaWFIxY0Z3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11ZG1WeWFXWjVVM0JoWTJWVFpYUjFjQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpjRzl1YzJVZ1BTQmhkMkZwZENCMGFHbHpMbkpsY1hWbGMzUW9YRzRnSUNBZ0lDQmNJa2RGVkZ3aUxGeHVJQ0FnSUNBZ1lDOXpMeVI3Y21WaGJHMU9ZVzFsZlM5aGNHa3ZjMkYyWldSZmIySnFaV04wY3k5ZlptbHVaRDkwZVhCbFBXUmhjMmhpYjJGeVpDWndaWEpmY0dGblpUMHhZQ3hjYmlBZ0lDQWdJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJSFJvYVhNdVkyOXVabWxuTG1Ga2JXbHVRWEJwVlhObGNpeGNiaUFnSUNBZ0lIc2dhR1ZoWkdWeWN6b2dleUJjSW10aWJpMTRjM0ptWENJNklGd2lkSEoxWlZ3aUlIMGdmU3hjYmlBZ0lDQWdJREl3TUN4Y2JpQWdJQ0FnSUM0dUxtTjBlRUZ5WjNOY2JpQWdJQ0FwTzF4dUlDQWdJR2xtSUNoeVpYTndiMjV6WlM1emRHRjBkWE1nSVQwOUlESXdNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR0JWYm1GaWJHVWdkRzhnZG1WeWFXWjVJSE53WVdObElDUjdjbVZoYkcxT1lXMWxmVG9nSkh0eVpYTndiMjV6WlM1emRHRjBkWE5VWlhoMGZXQTdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dRbUZrVW1WeGRXVnpkRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQmtZWFJoSUQwZ2NHRnljMlZLYzI5dVFtOWtlVHhoYm5rK0tISmxjM0J2Ym5ObExtUmhkR0VwTzF4dUlDQWdJR2xtSUNnb1pHRjBZVDh1ZEc5MFlXd2dQejhnTUNrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJRzFsYzNOaFoyVWdQU0JnVG04Z1pHRnphR0p2WVhKa2N5Qm1iM1Z1WkNCcGJpQnpjR0ZqWlNBa2UzSmxZV3h0VG1GdFpYMWdPMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRTV2ZEVadmRXNWtSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCamNtVmhkR1ZJZEhSd1EyeHBaVzUwS0dOdmJtWnBaem9nUzJsaVlXNWhVMlYwZFhCRGIyNW1hV2NwT2lCQmVHbHZjMGx1YzNSaGJtTmxJSHRjYmlBZ0lDQnlaWFIxY200Z1FYaHBiM011WTNKbFlYUmxLSHRjYmlBZ0lDQWdJR0poYzJWVlVrdzZJR0FrZTJOdmJtWnBaeTV3Y205MGIyTnZiSDA2THk4a2UyTnZibVpwWnk1b2IzTjBmV0FzWEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk4wWVhSMWN6b2dLQ2tnUFQ0Z2RISjFaU3hjYmlBZ0lDQWdJR2gwZEhCelFXZGxiblE2SUc1bGR5Qm9kSFJ3Y3k1QloyVnVkQ2g3WEc0Z0lDQWdJQ0FnSUhKbGFtVmpkRlZ1WVhWMGFHOXlhWHBsWkRvZ0tDaDBhR2x6TG1OdmJtWnBaeUJoY3lCaGJua3BMbWx6VUhKdlpIVmpkR2x2YmlncEtTeGNiaUFnSUNBZ0lIMHBMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUhCaGNuTmxSWEp5YjNJb1pYSnliM0k2SUVWeWNtOXlLVG9nUlhKeWIzSWdlMXh1SUNBZ0lHTnZibk4wSUcxbGMzTmhaMlVnUFNCbGNuSnZjaTV0WlhOellXZGxJSHg4SUdWeWNtOXlMbTVoYldVZ2ZId2dYQ0pWYm10dWIzZHVJR1Z5Y205eVhDSTdYRzRnSUNBZ1kyOXVjM1FnYkc5M1pYSk5aWE56WVdkbElEMGdiV1Z6YzJGblpTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW01dmRDQm1iM1Z1WkZ3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNRFJjSWlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dUbTkwUm05MWJtUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpWVd4eVpXRmtlU0JsZUdsemRITmNJaWtnZkh3Z2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpWTI5dVpteHBZM1JjSWlrZ2ZId2diRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aU5EQTVYQ0lwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFTnZibVpzYVdOMFJYSnliM0lvYldWemMyRm5aU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbWx1ZG1Gc2FXUmNJaWtnZkh3Z2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpWW1Ga0lISmxjWFZsYzNSY0lpa2dmSHdnYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2lOREF3WENJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRUpoWkZKbGNYVmxjM1JGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWRXNWhkWFJvYjNKcGVtVmtYQ0lwSUh4OElHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSWpRd01Wd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCT2IzUkdiM1Z1WkVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSm1iM0ppYVdSa1pXNWNJaWtnZkh3Z2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpTkRBelhDSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdibVYzSUU1dmRFWnZkVzVrUlhKeWIzSW9iV1Z6YzJGblpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkpiblJsY201aGJFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCaGMzbHVZeUJ5WlhGMVpYTjBLRnh1SUNBZ0lHMWxkR2h2WkRvZ1hDSkhSVlJjSWlCOElGd2lVRTlUVkZ3aUlId2dYQ0pRVlZSY0lpQjhJRndpUkVWTVJWUkZYQ0lzWEc0Z0lDQWdkWEpzT2lCemRISnBibWNzWEc0Z0lDQWdjR0Y1Ykc5aFpEb2dkVzVyYm05M2JpeGNiaUFnSUNCaGNHbFZjMlZ5T2lCTGFXSmhibUZWYzJWeUlId2dkVzVrWldacGJtVmtMRnh1SUNBZ0lHVjRkSEpoT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0xGeHVJQ0FnSUhOMVkyTmxjM05EYjJSbE9pQnVkVzFpWlhJc1hHNGdJQ0FnTGk0dVlYSm5jem9nUTI5dWRHVjRkSFZoYkVGeVozTThZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQR0Z1ZVQ0Z2UxeHVJQ0FnSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUhSb2FYTXVjbVZ4ZFdWemRDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnhwWlc1MExuSmxjWFZsYzNRb2UxeHVJQ0FnSUNBZ2JXVjBhRzlrTEZ4dUlDQWdJQ0FnZFhKc0xGeHVJQ0FnSUNBZ1pHRjBZVHBjYmlBZ0lDQWdJQ0FnY0dGNWJHOWhaQ0E5UFQwZ2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdQeUIxYm1SbFptbHVaV1JjYmlBZ0lDQWdJQ0FnSUNBNklIUjVjR1Z2WmlCd1lYbHNiMkZrSUQwOVBTQmNJbk4wY21sdVoxd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lIQmhlV3h2WVdSY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nU2xOUFRpNXpkSEpwYm1kcFpua29jR0Y1Ykc5aFpDa3NYRzRnSUNBZ0lDQmhkWFJvT2lCaGNHbFZjMlZ5WEc0Z0lDQWdJQ0FnSUQ4Z2V5QjFjMlZ5Ym1GdFpUb2dZWEJwVlhObGNpNTFjMlZ5Ym1GdFpTd2djR0Z6YzNkdmNtUTZJR0Z3YVZWelpYSXVjR0Z6YzNkdmNtUWdmVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUhaaGJHbGtZWFJsVTNSaGRIVnpPaUFvS1NBOVBpQjBjblZsTEZ4dUlDQWdJQ0FnYUhSMGNITkJaMlZ1ZERvZ2JtVjNJR2gwZEhCekxrRm5aVzUwS0h0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wVlc1aGRYUm9iM0pwZW1Wa09pQW9LSFJvYVhNdVkyOXVabWxuSUdGeklHRnVlU2t1YVhOUWNtOWtkV04wYVc5dUtDa3BMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0F1TGk1bGVIUnlZU3hjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
|
|
216
|
+
//# sourceMappingURL=KibanaDashboardService.js.map
|
|
217
|
+
//# sourceMappingURL=KibanaDashboardService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kibana/services/KibanaDashboardService.cjs","sourceRoot":"","sources":["kibana/services/KibanaDashboardService.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF,2DAAwG;AACxG,yCAA6D;AAC7D,kDAA0B;AAC1B,4CAA8B;AAC9B,gDAAkC;AAClC,kDAAoC;AACpC,6CAAyD;AACzD,0DAAiC;AACjC,iEAA2D;AAC3D,0DAA0D;AAC1D,MAAa,sBAAuB,SAAQ,yBAAkB;IAC1D,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,SAAS,EAAE,GAAG,IAAI;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iEAAiE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACzM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,iDAAiD,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvF,MAAM,IAAI,+BAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iCAAiC,EAAE;YAC3E,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,WAAW;aACpB,CAAC,CAAC;YACH,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,KAAK;SACnB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACvH,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,gCAAgC,SAAS,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpF,MAAM,IAAI,+BAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAC1B,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,SAAS,2CAA2C,EAAE,IAAI,EAAE;YAC/I,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBAC1B,CAAC,CAAC;oBACE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ;oBAC3C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ;iBAC9C;gBACD,CAAC,CAAC,SAAS;YACf,OAAO,EAAE;gBACL,GAAG,IAAI,CAAC,UAAU,EAAE;gBACpB,UAAU,EAAE,MAAM;aACrB;YACD,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,QAAQ;YAC1B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;YAC1B,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC;gBACxB,kBAAkB,EAAE,CAAC,IAAA,sCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/D,CAAC;SACL,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,mCAAmC,SAAS,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YACzF,MAAM,IAAI,+BAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,CAAC;IACD,yBAAyB,CAAC,OAAO;QAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,GAAG,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,SAAS,GAAG,GAAG,OAAO,CAAC;QACnJ,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,cAAc;YACd,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,cAAc;YACd,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,aAAa;YACb,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,eAAe;YACf,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,SAAS;YAC1B,CAAC,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,GAAG,IAAI,MAAM,KAAK,yBAAyB,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;IACxG,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,IAAI;QACrC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,SAAS,oDAAoD,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QAC3M,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,0BAA0B,SAAS,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC9E,MAAM,IAAI,+BAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,gCAAgC,SAAS,EAAE,CAAC;YAC5D,MAAM,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IACD,gBAAgB,CAAC,MAAM;QACnB,OAAO,eAAK,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,IAAI,EAAE;YAC9C,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;YAC1B,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC;gBACxB,kBAAkB,EAAE,CAAC,IAAA,sCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/D,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IACD,UAAU,CAAC,KAAK;QACZ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/G,OAAO,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3G,OAAO,IAAI,+BAAe,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI;QACpE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvB,MAAM;YACN,GAAG;YACH,IAAI,EAAE,OAAO,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;oBACzB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,OAAO;gBACT,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC5D,CAAC,CAAC,SAAS;YACf,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;YAC1B,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC;gBACxB,kBAAkB,EAAE,CAAC,IAAA,sCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/D,CAAC;YACF,GAAG,KAAK;SACX,CAAC,CAAC;IACP,CAAC;CACJ;AAlJD,wDAkJC;AACD,UAAU,CAAC;IACP,IAAA,cAAO,GAAE;IACT,UAAU,CAAC,aAAa,EAAE,wCAAiB,CAAC;CAC/C,EAAE,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5D,kDAAkD"}
|
|
@@ -55,8 +55,9 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
|
55
55
|
const core_1 = require("@decaf-ts/core");
|
|
56
56
|
const axios_1 = __importDefault(require("axios"));
|
|
57
57
|
const https = __importStar(require("node:https"));
|
|
58
|
+
const runtime_js_1 = require("./runtime.cjs");
|
|
58
59
|
const KibanaAuthService_js_1 = require("./KibanaAuthService.cjs");
|
|
59
|
-
const
|
|
60
|
+
const runtime_js_2 = require("./../../shared/runtime.cjs");
|
|
60
61
|
class KibanaDataViewService extends core_1.ClientBasedService {
|
|
61
62
|
async initialize(...args) {
|
|
62
63
|
const { ctxArgs } = (await this.logCtx(args, "initialize", true)).for(this.initialize);
|
|
@@ -106,7 +107,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
106
107
|
if (statusResp.status !== 200 || !dvId) {
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
109
|
-
const statusData = (0,
|
|
110
|
+
const statusData = (0, runtime_js_2.parseJsonBody)(statusResp.data);
|
|
110
111
|
const kibanaVersion = statusData?.version?.number ?? statusData?.kibana?.version;
|
|
111
112
|
if (!kibanaVersion)
|
|
112
113
|
return;
|
|
@@ -121,7 +122,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
121
122
|
baseURL: `${config.protocol}://${config.host}`,
|
|
122
123
|
validateStatus: () => true,
|
|
123
124
|
httpsAgent: new https.Agent({
|
|
124
|
-
rejectUnauthorized: (this.config
|
|
125
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
125
126
|
}),
|
|
126
127
|
});
|
|
127
128
|
}
|
|
@@ -189,7 +190,7 @@ class KibanaDataViewService extends core_1.ClientBasedService {
|
|
|
189
190
|
: undefined,
|
|
190
191
|
validateStatus: () => true,
|
|
191
192
|
httpsAgent: new https.Agent({
|
|
192
|
-
rejectUnauthorized: (this.config
|
|
193
|
+
rejectUnauthorized: ((0, runtime_js_1.resolveKibanaIsProduction)(this.config)),
|
|
193
194
|
}),
|
|
194
195
|
...extra,
|
|
195
196
|
});
|
|
@@ -200,5 +201,5 @@ __decorate([
|
|
|
200
201
|
(0, core_1.service)(),
|
|
201
202
|
__metadata("design:type", KibanaAuthService_js_1.KibanaAuthService)
|
|
202
203
|
], KibanaDataViewService.prototype, "authService", void 0);
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tpYmFuYS9zZXJ2aWNlcy9LaWJhbmFEYXRhVmlld1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU03RCxPQUFPLEtBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzdDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBNEI7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQ0FBNkI7QUFFckQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUcxQztJQUlDLEtBQUssQ0FBQyxVQUFVLENBQ2QsR0FBRyxJQUE2QjtRQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNsQixTQUFpQixF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QU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekIsTUFBTTtZQUNOLEdBQUc7WUFDSCxJQUFJLEVBQ0YsT0FBTyxLQUFLLFNBQVM7Z0JBQ25CLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRO29CQUMzQixDQUFDLENBQUMsT0FBTztvQkFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDL0IsSUFBSSxFQUFFLE9BQU87Z0JBQ1gsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxTQUFTO1lBQ2IsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDMUIsVUFBVSxFQUFFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDMUIsa0JBQWtCLEVBQUUsQ0FBRSxJQUFJLENBQUMsTUFBYyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzFELENBQUM7WUFDRixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyT1c7SUFEVCxPQUFPLEVBQUU7OEJBQ2MsaUJBQWlCOzBEQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnRleHR1YWxBcmdzLCBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSwgc2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHR5cGUge1xuICBLaWJhbmFEYXRhVmlld0NvbmZpZyxcbiAgS2liYW5hU2V0dXBDb25maWcsXG4gIEtpYmFuYVVzZXIsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IEF4aW9zLCB7IEF4aW9zSW5zdGFuY2UgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyBLaWJhbmFBdXRoU2VydmljZSB9IGZyb20gXCIuL0tpYmFuYUF1dGhTZXJ2aWNlXCI7XG5pbXBvcnQgeyBwYXJzZUpzb25Cb2R5IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9ydW50aW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXRhVmlld1NlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIEF4aW9zSW5zdGFuY2UsXG4gIEtpYmFuYVNldHVwQ29uZmlnXG4+IHtcbiAgQHNlcnZpY2UoKVxuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2UhOiBLaWJhbmFBdXRoU2VydmljZTtcblxuICBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IEtpYmFuYVNldHVwQ29uZmlnOyBjbGllbnQ6IEF4aW9zSW5zdGFuY2UgfT4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJpbml0aWFsaXplXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdIGFzIEtpYmFuYVNldHVwQ29uZmlnO1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNyZWF0ZUh0dHBDbGllbnQoY29uZmlnKTtcbiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZURhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld1wiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuY3JlYXRlRGF0YVZpZXcpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgY29uc3QgY3JlYXRlUmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvZGF0YV92aWV3cy9kYXRhX3ZpZXdgLFxuICAgICAgeyBkYXRhX3ZpZXc6IHBheWxvYWQgfSxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcblxuICAgIGlmIChjcmVhdGVSZXNwLnN0YXR1cyA9PT0gMjAwIHx8IGNyZWF0ZVJlc3Auc3RhdHVzID09PSAyMDEpIHJldHVybjtcbiAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwOSAmJiBjcmVhdGVSZXNwLnN0YXR1cyAhPT0gNDAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBjcmVhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7Y3JlYXRlUmVzcC5zdGF0dXNUZXh0fWA7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMudXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJ1cGRhdGVEYXRhVmlld1wiLCB0cnVlKVxuICAgICkuZm9yKHRoaXMudXBkYXRlRGF0YVZpZXcpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgY29uc3QgeyBpZCwgLi4udXBkYXRlUGF5bG9hZCB9ID0gcGF5bG9hZDtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvZGF0YV92aWV3cy9kYXRhX3ZpZXcvJHtlbmNvZGVVUklDb21wb25lbnQoaWQpfWAsXG4gICAgICB7IGRhdGFfdmlldzogdXBkYXRlUGF5bG9hZCB9LFxuICAgICAgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIsIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfSxcbiAgICAgIDIwMCxcbiAgICAgIC4uLmN0eEFyZ3NcbiAgICApO1xuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byB1cGRhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGVEYXRhVmlld3MoXG4gICAgcmVhbG1OYW1lOiBzdHJpbmcsXG4gICAgZGF0YVZpZXdzOiBLaWJhbmFEYXRhVmlld0NvbmZpZ1tdIHwgdW5kZWZpbmVkLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld3NcIiwgdHJ1ZSlcbiAgICApLmZvcih0aGlzLmNyZWF0ZURhdGFWaWV3cyk7XG4gICAgY29uc3Qgc3BlY3MgPVxuICAgICAgZGF0YVZpZXdzICYmIGRhdGFWaWV3cy5sZW5ndGggPiAwXG4gICAgICAgID8gZGF0YVZpZXdzXG4gICAgICAgIDogdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSk7XG4gICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uY3R4QXJncyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0RGVmYXVsdERhdGFWaWV3KFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIGRhdGFWaWV3SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChcbiAgICAgIGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0RGVmYXVsdERhdGFWaWV3XCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5zZXREZWZhdWx0RGF0YVZpZXcpO1xuICAgIGNvbnN0IGR2SWQgPVxuICAgICAgZGF0YVZpZXdJZCA/P1xuICAgICAgdGhpcy5jb25maWcuZGF0YVZpZXdzPy5bMF0/LmlkID8/XG4gICAgICB0aGlzLmRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lKVswXT8uaWQ7XG4gICAgY29uc3Qgc3RhdHVzUmVzcCA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiR0VUXCIsXG4gICAgICBgL2FwaS9zdGF0dXNgLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgeyBoZWFkZXJzOiB7IFwia2JuLXhzcmZcIjogXCJ0cnVlXCIgfSB9LFxuICAgICAgMjAwLFxuICAgICAgLi4uY3R4QXJnc1xuICAgICk7XG4gICAgaWYgKHN0YXR1c1Jlc3Auc3RhdHVzICE9PSAyMDAgfHwgIWR2SWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzRGF0YSA9IHBhcnNlSnNvbkJvZHk8YW55PihzdGF0dXNSZXNwLmRhdGEpO1xuICAgIGNvbnN0IGtpYmFuYVZlcnNpb24gPVxuICAgICAgc3RhdHVzRGF0YT8udmVyc2lvbj8ubnVtYmVyID8/IHN0YXR1c0RhdGE/LmtpYmFuYT8udmVyc2lvbjtcbiAgICBpZiAoIWtpYmFuYVZlcnNpb24pIHJldHVybjtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgYC9zLyR7cmVhbG1OYW1lfS9hcGkvc2F2ZWRfb2JqZWN0cy9jb25maWcvJHtraWJhbmFWZXJzaW9ufT9vdmVyd3JpdGU9dHJ1ZWAsXG4gICAgICB7IGF0dHJpYnV0ZXM6IHsgZGVmYXVsdEluZGV4OiBkdklkIH0gfSxcbiAgICAgIHRoaXMuY29uZmlnLmFkbWluQXBpVXNlcixcbiAgICAgIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sXG4gICAgICAyMDAsXG4gICAgICAuLi5jdHhBcmdzXG4gICAgKTtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gc2V0IGRlZmF1bHQgZGF0YSB2aWV3IGZvciAke3JlYWxtTmFtZX06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUh0dHBDbGllbnQoY29uZmlnOiBLaWJhbmFTZXR1cENvbmZpZyk6IEF4aW9zSW5zdGFuY2Uge1xuICAgIHJldHVybiBBeGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogYCR7Y29uZmlnLnByb3RvY29sfTovLyR7Y29uZmlnLmhvc3R9YCxcbiAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAoKHRoaXMuY29uZmlnIGFzIGFueSkuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogRXJyb3IpOiBFcnJvciB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDlcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiaW52YWxpZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJiYWQgcmVxdWVzdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDBcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF1dGhvcml6ZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAxXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImZvcmJpZGRlblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKFxuICAgIHJlYWxtTmFtZTogc3RyaW5nLFxuICAgIHNwZWM6IEtpYmFuYURhdGFWaWV3Q29uZmlnXG4gICk6IEtpYmFuYURhdGFWaWV3Q29uZmlnIHtcbiAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3BlYyxcbiAgICAgIG5hbWU6IHNwZWMubmFtZSA/PyBzcGVjLmlkLFxuICAgICAgdGl0bGU6XG4gICAgICAgIHNwZWMudGl0bGUgPz9cbiAgICAgICAgKHNwZWMuaWQuaW5jbHVkZXMoXCJmaWxlYmVhdFwiKVxuICAgICAgICAgID8gYGZpbGViZWF0LXBsYS0ke3N1ZmZpeH0tKmBcbiAgICAgICAgICA6IGBtZXRyaWNiZWF0LXBsYS0ke3N1ZmZpeH0tKmApLFxuICAgICAgdGltZUZpZWxkTmFtZTogc3BlYy50aW1lRmllbGROYW1lID8/IFwiQHRpbWVzdGFtcFwiLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lOiBzdHJpbmcpOiBLaWJhbmFEYXRhVmlld0NvbmZpZ1tdIHtcbiAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogYGZpbGViZWF0X3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICBuYW1lOiBgUExBIEZpbGViZWF0IExvZ3MgKCR7cmVhbG1OYW1lfSlgLFxuICAgICAgICB0aXRsZTogYGZpbGViZWF0LXBsYS0ke3N1ZmZpeH0tKmAsXG4gICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IGBsb2dzX3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICBuYW1lOiBgUExBIE1ldHJpY2JlYXQgTG9ncyAoJHtyZWFsbU5hbWV9KWAsXG4gICAgICAgIHRpdGxlOiBgbWV0cmljYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICB0aW1lRmllbGROYW1lOiBcIkB0aW1lc3RhbXBcIixcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVxdWVzdChcbiAgICBtZXRob2Q6IFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIkRFTEVURVwiLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHBheWxvYWQ6IHVua25vd24sXG4gICAgYXBpVXNlcjogS2liYW5hVXNlciB8IHVuZGVmaW5lZCxcbiAgICBleHRyYTogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBzdWNjZXNzQ29kZTogbnVtYmVyLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPGFueT5cbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5yZXF1ZXN0KHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIHVybCxcbiAgICAgIGRhdGE6XG4gICAgICAgIHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgPyBwYXlsb2FkXG4gICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpLFxuICAgICAgYXV0aDogYXBpVXNlclxuICAgICAgICA/IHsgdXNlcm5hbWU6IGFwaVVzZXIudXNlcm5hbWUsIHBhc3N3b3JkOiBhcGlVc2VyLnBhc3N3b3JkIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogKCh0aGlzLmNvbmZpZyBhcyBhbnkpLmlzUHJvZHVjdGlvbigpKSxcbiAgICAgIH0pLFxuICAgICAgLi4uZXh0cmEsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2liYW5hRGF0YVZpZXdTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFF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QUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN2QixNQUFNO1lBQ04sR0FBRztZQUNILElBQUksRUFBRSxPQUFPLEtBQUssU0FBUztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVE7b0JBQ3pCLENBQUMsQ0FBQyxPQUFPO29CQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxJQUFJLEVBQUUsT0FBTztnQkFDVCxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDNUQsQ0FBQyxDQUFDLFNBQVM7WUFDZixjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUMxQixVQUFVLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QixrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDbkQsQ0FBQztZQUNGLEdBQUcsS0FBSztTQUNYLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQXpJRCxzREF5SUM7QUFDRCxVQUFVLENBQUM7SUFDUCxJQUFBLGNBQU8sR0FBRTtJQUNULFVBQVUsQ0FBQyxhQUFhLEVBQUUsd0NBQWlCLENBQUM7Q0FDL0MsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0QsOHFuQkFBOHFuQiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBCYWRSZXF1ZXN0RXJyb3IsIENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIHNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJub2RlOmh0dHBzXCI7XG5pbXBvcnQgeyBLaWJhbmFBdXRoU2VydmljZSB9IGZyb20gXCIuL0tpYmFuYUF1dGhTZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUpzb25Cb2R5IH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL3J1bnRpbWUuanNcIjtcbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXRhVmlld1NlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2Uge1xuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImluaXRpYWxpemVcIiwgdHJ1ZSkpLmZvcih0aGlzLmluaXRpYWxpemUpO1xuICAgICAgICBjb25zdCBjb25maWcgPSBjdHhBcmdzWzBdO1xuICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY3JlYXRlSHR0cENsaWVudChjb25maWcpO1xuICAgICAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gICAgfVxuICAgIGFzeW5jIGNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNyZWF0ZURhdGFWaWV3XCIsIHRydWUpKS5mb3IodGhpcy5jcmVhdGVEYXRhVmlldyk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLm5vcm1hbGl6ZURhdGFWaWV3Q29uZmlnKHJlYWxtTmFtZSwgc3BlYyk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVJlc3AgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3YCwgeyBkYXRhX3ZpZXc6IHBheWxvYWQgfSwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgPT09IDIwMCB8fCBjcmVhdGVSZXNwLnN0YXR1cyA9PT0gMjAxKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoY3JlYXRlUmVzcC5zdGF0dXMgIT09IDQwOSAmJiBjcmVhdGVSZXNwLnN0YXR1cyAhPT0gNDAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byBjcmVhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7Y3JlYXRlUmVzcC5zdGF0dXNUZXh0fWA7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBwYXlsb2FkLCAuLi5jdHhBcmdzKTtcbiAgICB9XG4gICAgYXN5bmMgdXBkYXRlRGF0YVZpZXcocmVhbG1OYW1lLCBzcGVjLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXBkYXRlRGF0YVZpZXdcIiwgdHJ1ZSkpLmZvcih0aGlzLnVwZGF0ZURhdGFWaWV3KTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMubm9ybWFsaXplRGF0YVZpZXdDb25maWcocmVhbG1OYW1lLCBzcGVjKTtcbiAgICAgICAgY29uc3QgeyBpZCwgLi4udXBkYXRlUGF5bG9hZCB9ID0gcGF5bG9hZDtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL2RhdGFfdmlld3MvZGF0YV92aWV3LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkKX1gLCB7IGRhdGFfdmlldzogdXBkYXRlUGF5bG9hZCB9LCB0aGlzLmNvbmZpZy5hZG1pbkFwaVVzZXIsIHsgaGVhZGVyczogeyBcImtibi14c3JmXCI6IFwidHJ1ZVwiLCBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH0sIDIwMCwgLi4uY3R4QXJncyk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMzAwKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYFVuYWJsZSB0byB1cGRhdGUgZGF0YSB2aWV3ICR7cGF5bG9hZC5pZH06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBjcmVhdGVEYXRhVmlld3MocmVhbG1OYW1lLCBkYXRhVmlld3MsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBjdHhBcmdzIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjcmVhdGVEYXRhVmlld3NcIiwgdHJ1ZSkpLmZvcih0aGlzLmNyZWF0ZURhdGFWaWV3cyk7XG4gICAgICAgIGNvbnN0IHNwZWNzID0gZGF0YVZpZXdzICYmIGRhdGFWaWV3cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGRhdGFWaWV3c1xuICAgICAgICAgICAgOiB0aGlzLmRlZmF1bHREYXRhVmlld0NvbmZpZ3MocmVhbG1OYW1lKTtcbiAgICAgICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNyZWF0ZURhdGFWaWV3KHJlYWxtTmFtZSwgc3BlYywgLi4uY3R4QXJncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgc2V0RGVmYXVsdERhdGFWaWV3KHJlYWxtTmFtZSwgZGF0YVZpZXdJZCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldERlZmF1bHREYXRhVmlld1wiLCB0cnVlKSkuZm9yKHRoaXMuc2V0RGVmYXVsdERhdGFWaWV3KTtcbiAgICAgICAgY29uc3QgZHZJZCA9IGRhdGFWaWV3SWQgPz9cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmRhdGFWaWV3cz8uWzBdPy5pZCA/P1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSlbMF0/LmlkO1xuICAgICAgICBjb25zdCBzdGF0dXNSZXNwID0gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiR0VUXCIsIGAvYXBpL3N0YXR1c2AsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiB9IH0sIDIwMCwgLi4uY3R4QXJncyk7XG4gICAgICAgIGlmIChzdGF0dXNSZXNwLnN0YXR1cyAhPT0gMjAwIHx8ICFkdklkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdHVzRGF0YSA9IHBhcnNlSnNvbkJvZHkoc3RhdHVzUmVzcC5kYXRhKTtcbiAgICAgICAgY29uc3Qga2liYW5hVmVyc2lvbiA9IHN0YXR1c0RhdGE/LnZlcnNpb24/Lm51bWJlciA/PyBzdGF0dXNEYXRhPy5raWJhbmE/LnZlcnNpb247XG4gICAgICAgIGlmICgha2liYW5hVmVyc2lvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIGAvcy8ke3JlYWxtTmFtZX0vYXBpL3NhdmVkX29iamVjdHMvY29uZmlnLyR7a2liYW5hVmVyc2lvbn0/b3ZlcndyaXRlPXRydWVgLCB7IGF0dHJpYnV0ZXM6IHsgZGVmYXVsdEluZGV4OiBkdklkIH0gfSwgdGhpcy5jb25maWcuYWRtaW5BcGlVc2VyLCB7IGhlYWRlcnM6IHsgXCJrYm4teHNyZlwiOiBcInRydWVcIiwgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSB9LCAyMDAsIC4uLmN0eEFyZ3MpO1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID49IDMwMCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmFibGUgdG8gc2V0IGRlZmF1bHQgZGF0YSB2aWV3IGZvciAke3JlYWxtTmFtZX06ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjcmVhdGVIdHRwQ2xpZW50KGNvbmZpZykge1xuICAgICAgICByZXR1cm4gQXhpb3MuY3JlYXRlKHtcbiAgICAgICAgICAgIGJhc2VVUkw6IGAke2NvbmZpZy5wcm90b2NvbH06Ly8ke2NvbmZpZy5ob3N0fWAsXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGh0dHBzQWdlbnQ6IG5ldyBodHRwcy5BZ2VudCh7XG4gICAgICAgICAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiAodGhpcy5jb25maWcuaXNQcm9kdWN0aW9uKCkpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwYXJzZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8IGVycm9yLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImludmFsaWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYmFkIHJlcXVlc3RcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAwXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJmb3JiaWRkZW5cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBub3JtYWxpemVEYXRhVmlld0NvbmZpZyhyZWFsbU5hbWUsIHNwZWMpIHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gcmVhbG1OYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zcGVjLFxuICAgICAgICAgICAgbmFtZTogc3BlYy5uYW1lID8/IHNwZWMuaWQsXG4gICAgICAgICAgICB0aXRsZTogc3BlYy50aXRsZSA/P1xuICAgICAgICAgICAgICAgIChzcGVjLmlkLmluY2x1ZGVzKFwiZmlsZWJlYXRcIilcbiAgICAgICAgICAgICAgICAgICAgPyBgZmlsZWJlYXQtcGxhLSR7c3VmZml4fS0qYFxuICAgICAgICAgICAgICAgICAgICA6IGBtZXRyaWNiZWF0LXBsYS0ke3N1ZmZpeH0tKmApLFxuICAgICAgICAgICAgdGltZUZpZWxkTmFtZTogc3BlYy50aW1lRmllbGROYW1lID8/IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBkZWZhdWx0RGF0YVZpZXdDb25maWdzKHJlYWxtTmFtZSkge1xuICAgICAgICBjb25zdCBzdWZmaXggPSByZWFsbU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogYGZpbGViZWF0X3BsYV8ke3N1ZmZpeH1gLFxuICAgICAgICAgICAgICAgIG5hbWU6IGBQTEEgRmlsZWJlYXQgTG9ncyAoJHtyZWFsbU5hbWV9KWAsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGBmaWxlYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogYGxvZ3NfcGxhXyR7c3VmZml4fWAsXG4gICAgICAgICAgICAgICAgbmFtZTogYFBMQSBNZXRyaWNiZWF0IExvZ3MgKCR7cmVhbG1OYW1lfSlgLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBgbWV0cmljYmVhdC1wbGEtJHtzdWZmaXh9LSpgLFxuICAgICAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IFwiQHRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG4gICAgYXN5bmMgcmVxdWVzdChtZXRob2QsIHVybCwgcGF5bG9hZCwgYXBpVXNlciwgZXh0cmEsIHN1Y2Nlc3NDb2RlLCAuLi5hcmdzKSB7XG4gICAgICAgIHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMucmVxdWVzdCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudC5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGRhdGE6IHBheWxvYWQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSxcbiAgICAgICAgICAgIGF1dGg6IGFwaVVzZXJcbiAgICAgICAgICAgICAgICA/IHsgdXNlcm5hbWU6IGFwaVVzZXIudXNlcm5hbWUsIHBhc3N3b3JkOiBhcGlVc2VyLnBhc3N3b3JkIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6ICh0aGlzLmNvbmZpZy5pc1Byb2R1Y3Rpb24oKSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLmV4dHJhLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5fX2RlY29yYXRlKFtcbiAgICBzZXJ2aWNlKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEtpYmFuYUF1dGhTZXJ2aWNlKVxuXSwgS2liYW5hRGF0YVZpZXdTZXJ2aWNlLnByb3RvdHlwZSwgXCJhdXRoU2VydmljZVwiLCB2b2lkIDApO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUzJsaVlXNWhSR0YwWVZacFpYZFRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMnRwWW1GdVlTOXpaWEoyYVdObGN5OUxhV0poYm1GRVlYUmhWbWxsZDFObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVTk1MR1ZCUVdVc1JVRkRaaXhoUVVGaExFVkJRMklzWVVGQllTeEZRVU5pTEdGQlFXRXNSMEZEWkN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlJXcERMRTlCUVU4c1JVRkJSU3hyUWtGQmEwSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVMDNSQ3hQUVVGUExFdEJRWGRDTEUxQlFVMHNUMEZCVHl4RFFVRkRPMEZCUXpkRExFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNXVUZCV1N4RFFVRkRPMEZCUTNCRExFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3dyUWtGQk5FSTdRVUZEZUVRc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeHJRMEZCTmtJN1FVRkZja1FzVFVGQlRTeFBRVUZQTEhGQ1FVRnpRaXhUUVVGUkxHdENRVWN4UXp0SlFVbERMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRMlFzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZEYkVJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRelZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZ6UWl4RFFVRkRPMUZCUXk5RExFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUTNSQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVTjBRaXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRPMGxCUXpWQ0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVTnNRaXhUUVVGcFFpeEZRVU5xUWl4SlFVRXdRaXhGUVVNeFFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNSMEZCUnl4RFFVTnNRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVTm9SQ3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRNMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRMjVETEUxQlFVMHNSVUZEVGl4TlFVRk5MRk5CUVZNc01rSkJRVEpDTEVWQlF6RkRMRVZCUVVVc1UwRkJVeXhGUVVGRkxFOUJRVThzUlVGQlJTeEZRVU4wUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGRGVFSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZGTEdOQlFXTXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEVWQlEzWkZMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlJVWXNTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4TFFVRkxMRWRCUVVjN1dVRkJSU3hQUVVGUE8xRkJRMjVGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRaUVVNelJDeE5RVUZOTEU5QlFVOHNSMEZCUnl3NFFrRkJPRUlzVDBGQlR5eERRVUZETEVWQlFVVXNTMEZCU3l4VlFVRlZMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNrWXNUVUZCVFN4SlFVRkpMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU55UXl4RFFVRkRPMUZCUlVRc1RVRkJUU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU0xUkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGRGJFSXNVMEZCYVVJc1JVRkRha0lzU1VGQk1FSXNSVUZETVVJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGFFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzFGQlF6TkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEhRVUZITEdGQlFXRXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVONlF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRMnBETEUxQlFVMHNSVUZEVGl4TlFVRk5MRk5CUVZNc05rSkJRVFpDTEd0Q1FVRnJRaXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlEzQkZMRVZCUVVVc1UwRkJVeXhGUVVGRkxHRkJRV0VzUlVGQlJTeEZRVU0xUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGRGVFSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZGTEdOQlFXTXNSVUZCUlN4clFrRkJhMElzUlVGQlJTeEZRVUZGTEVWQlEzWkZMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlEwWXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzFsQlF6TkNMRTFCUVUwc1QwRkJUeXhIUVVGSExEaENRVUU0UWl4UFFVRlBMRU5CUVVNc1JVRkJSU3hMUVVGTExGRkJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0WlFVTnVSaXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNKRExFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkRia0lzVTBGQmFVSXNSVUZEYWtJc1UwRkJOa01zUlVGRE4wTXNSMEZCUnl4SlFVRTJRanRSUVVWb1F5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkRiRUlzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRha1FzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8xRkJRelZDTEUxQlFVMHNTMEZCU3l4SFFVTlVMRk5CUVZNc1NVRkJTU3hUUVVGVExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTTdXVUZETDBJc1EwRkJReXhEUVVGRExGTkJRVk03V1VGRFdDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUXpkRExFdEJRVXNzVFVGQlRTeEpRVUZKTEVsQlFVa3NTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRla0lzVFVGQlRTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGRGRFSXNVMEZCYVVJc1JVRkRha0lzVlVGQk9FSXNSVUZET1VJc1IwRkJSeXhKUVVFMlFqdFJRVVZvUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGRGJFSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGNFUXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzVFVGQlRTeEpRVUZKTEVkQlExSXNWVUZCVlR0WlFVTldMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNNVFpeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRE8xRkJRMmhFTEUxQlFVMHNWVUZCVlN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGRGJrTXNTMEZCU3l4RlFVTk1MR0ZCUVdFc1JVRkRZaXhUUVVGVExFVkJRMVFzVTBGQlV5eEZRVU5VTEVWQlFVVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTEVWQlEyNURMRWRCUVVjc1JVRkRTQ3hIUVVGSExFOUJRVThzUTBGRFdDeERRVUZETzFGQlEwWXNTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVTg3VVVGRFZDeERRVUZETzFGQlEwUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1lVRkJZU3hEUVVGTkxGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTjJSQ3hOUVVGTkxHRkJRV0VzUjBGRGFrSXNWVUZCVlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFbEJRVWtzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNN1VVRkROMFFzU1VGQlNTeERRVUZETEdGQlFXRTdXVUZCUlN4UFFVRlBPMUZCUXpOQ0xFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkRha01zVFVGQlRTeEZRVU5PTEUxQlFVMHNVMEZCVXl3MlFrRkJOa0lzWVVGQllTeHBRa0ZCYVVJc1JVRkRNVVVzUlVGQlJTeFZRVUZWTEVWQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFVkJRVVVzUlVGRGRFTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhaUVVGWkxFVkJRM2hDTEVWQlFVVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeGpRVUZqTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzUlVGQlJTeEZRVU4yUlN4SFFVRkhMRVZCUTBnc1IwRkJSeXhQUVVGUExFTkJRMWdzUTBGQlF6dFJRVU5HTEVsQlFVa3NVVUZCVVN4RFFVRkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dFpRVU16UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXgxUTBGQmRVTXNVMEZCVXl4TFFVRkxMRkZCUVZFc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU16Uml4TlFVRk5MRWxCUVVrc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzSkRMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVThzWjBKQlFXZENMRU5CUVVNc1RVRkJlVUk3VVVGRGFFUXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMnhDTEU5QlFVOHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJReXhSUVVGUkxFMUJRVTBzVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlR0WlFVTTVReXhqUVVGakxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1R0WlFVTXhRaXhWUVVGVkxFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVNeFFpeHJRa0ZCYTBJc1JVRkJSU3hEUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZqTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNN1lVRkRNVVFzUTBGQlF6dFRRVU5JTEVOQlFVTXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZVeXhWUVVGVkxFTkJRVU1zUzBGQldUdFJRVU12UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1pVRkJaU3hEUVVGRE8xRkJReTlFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFJRVVV6UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzWkZMRTlCUVU4c1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEY0VNc1EwRkJRenRSUVVWRUxFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMnBJTEU5QlFVOHNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRGNFTXNRMEZCUXp0UlFVVkVMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU0zUnl4UFFVRlBMRWxCUVVrc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzUkRMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpGRkxFOUJRVThzU1VGQlNTeGhRVUZoTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRjRU1zUTBGQlF6dFJRVVZFTEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeFpRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGRrVXNUMEZCVHl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU53UXl4RFFVRkRPMUZCUlVRc1QwRkJUeXhKUVVGSkxHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0SlFVTndReXhEUVVGRE8wbEJSVThzZFVKQlFYVkNMRU5CUXpkQ0xGTkJRV2xDTEVWQlEycENMRWxCUVRCQ08xRkJSVEZDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRk5CUVZNc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFJRVU4yUXl4UFFVRlBPMWxCUTB3c1IwRkJSeXhKUVVGSk8xbEJRMUFzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRE1VSXNTMEZCU3l4RlFVTklMRWxCUVVrc1EwRkJReXhMUVVGTE8yZENRVU5XTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETzI5Q1FVTXpRaXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRTFCUVUwc1NVRkJTVHR2UWtGRE5VSXNRMEZCUXl4RFFVRkRMR3RDUVVGclFpeE5RVUZOTEVsQlFVa3NRMEZCUXp0WlFVTnVReXhoUVVGaExFVkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNTVUZCU1N4WlFVRlpPMU5CUTJ4RUxFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVOHNjMEpCUVhOQ0xFTkJRVU1zVTBGQmFVSTdVVUZET1VNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVTBGQlV5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRPMUZCUTNaRExFOUJRVTg3V1VGRFREdG5Ra0ZEUlN4RlFVRkZMRVZCUVVVc1owSkJRV2RDTEUxQlFVMHNSVUZCUlR0blFrRkROVUlzU1VGQlNTeEZRVUZGTEhOQ1FVRnpRaXhUUVVGVExFZEJRVWM3WjBKQlEzaERMRXRCUVVzc1JVRkJSU3huUWtGQlowSXNUVUZCVFN4SlFVRkpPMmRDUVVOcVF5eGhRVUZoTEVWQlFVVXNXVUZCV1R0aFFVTTFRanRaUVVORU8yZENRVU5GTEVWQlFVVXNSVUZCUlN4WlFVRlpMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNTVUZCU1N4RlFVRkZMSGRDUVVGM1FpeFRRVUZUTEVkQlFVYzdaMEpCUXpGRExFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1RVRkJUU3hKUVVGSk8yZENRVU51UXl4aFFVRmhMRVZCUVVVc1dVRkJXVHRoUVVNMVFqdFRRVU5HTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlU4c1MwRkJTeXhEUVVGRExFOUJRVThzUTBGRGJrSXNUVUZCZVVNc1JVRkRla01zUjBGQlZ5eEZRVU5ZTEU5QlFXZENMRVZCUTJoQ0xFOUJRU3RDTEVWQlF5OUNMRXRCUVRCQ0xFVkJRekZDTEZkQlFXMUNMRVZCUTI1Q0xFZEJRVWNzU1VGQmVVSTdVVUZGTlVJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRMmhETEU5QlFVOHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU03V1VGRGVrSXNUVUZCVFR0WlFVTk9MRWRCUVVjN1dVRkRTQ3hKUVVGSkxFVkJRMFlzVDBGQlR5eExRVUZMTEZOQlFWTTdaMEpCUTI1Q0xFTkJRVU1zUTBGQlF5eFRRVUZUTzJkQ1FVTllMRU5CUVVNc1EwRkJReXhQUVVGUExFOUJRVThzUzBGQlN5eFJRVUZSTzI5Q1FVTXpRaXhEUVVGRExFTkJRVU1zVDBGQlR6dHZRa0ZEVkN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTTdXVUZETDBJc1NVRkJTU3hGUVVGRkxFOUJRVTg3WjBKQlExZ3NRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVU3hGUVVGRkxFOUJRVThzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTlCUVU4c1EwRkJReXhSUVVGUkxFVkJRVVU3WjBKQlF6VkVMRU5CUVVNc1EwRkJReXhUUVVGVE8xbEJRMklzWTBGQll5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1dVRkRNVUlzVlVGQlZTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRuUWtGRE1VSXNhMEpCUVd0Q0xFVkJRVVVzUTBGQlJTeEpRVUZKTEVOQlFVTXNUVUZCWXl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8yRkJRekZFTEVOQlFVTTdXVUZEUml4SFFVRkhMRXRCUVVzN1UwRkRWQ3hEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBOQlEwWTdRVUZ5VDFjN1NVRkVWQ3hQUVVGUExFVkJRVVU3T0VKQlEyTXNhVUpCUVdsQ096QkVRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0Y2JpQWdRbUZrVW1WeGRXVnpkRVZ5Y205eUxGeHVJQ0JEYjI1bWJHbGpkRVZ5Y205eUxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JPYjNSR2IzVnVaRVZ5Y205eUxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5SbGVIUjFZV3hCY21kekxDQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRU5zYVdWdWRFSmhjMlZrVTJWeWRtbGpaU3dnYzJWeWRtbGpaU0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2UxeHVJQ0JMYVdKaGJtRkVZWFJoVm1sbGQwTnZibVpwWnl4Y2JpQWdTMmxpWVc1aFUyVjBkWEJEYjI1bWFXY3NYRzRnSUV0cFltRnVZVlZ6WlhJc1hHNTlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJRUY0YVc5ekxDQjdJRUY0YVc5elNXNXpkR0Z1WTJVZ2ZTQm1jbTl0SUZ3aVlYaHBiM05jSWp0Y2JtbHRjRzl5ZENBcUlHRnpJR2gwZEhCeklHWnliMjBnWENKdWIyUmxPbWgwZEhCelhDSTdYRzVwYlhCdmNuUWdleUJMYVdKaGJtRkJkWFJvVTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0l1TDB0cFltRnVZVUYxZEdoVFpYSjJhV05sWENJN1hHNXBiWEJ2Y25RZ2V5QndZWEp6WlVwemIyNUNiMlI1SUgwZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOXlkVzUwYVcxbFhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkxhV0poYm1GRVlYUmhWbWxsZDFObGNuWnBZMlVnWlhoMFpXNWtjeUJEYkdsbGJuUkNZWE5sWkZObGNuWnBZMlU4WEc0Z0lFRjRhVzl6U1c1emRHRnVZMlVzWEc0Z0lFdHBZbUZ1WVZObGRIVndRMjl1Wm1sblhHNCtJSHRjYmlBZ1FITmxjblpwWTJVb0tWeHVJQ0J3Y205MFpXTjBaV1FnWVhWMGFGTmxjblpwWTJVaE9pQkxhV0poYm1GQmRYUm9VMlZ5ZG1salpUdGNibHh1SUNCaGMzbHVZeUJwYm1sMGFXRnNhWHBsS0Z4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZXlCamIyNW1hV2M2SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuT3lCamJHbGxiblE2SUVGNGFXOXpTVzV6ZEdGdVkyVWdmVDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pwYm1sMGFXRnNhWHBsWENJc0lIUnlkV1VwWEc0Z0lDQWdLUzVtYjNJb2RHaHBjeTVwYm1sMGFXRnNhWHBsS1R0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQmpkSGhCY21keld6QmRJR0Z6SUV0cFltRnVZVk5sZEhWd1EyOXVabWxuTzF4dUlDQWdJSFJvYVhNdVgyTnZibVpwWnlBOUlHTnZibVpwWnp0Y2JpQWdJQ0JqYjI1emRDQmpiR2xsYm5RZ1BTQjBhR2x6TG1OeVpXRjBaVWgwZEhCRGJHbGxiblFvWTI5dVptbG5LVHRjYmlBZ0lDQjBhR2x6TGw5amJHbGxiblFnUFNCamJHbGxiblE3WEc0Z0lDQWdjbVYwZFhKdUlIc2dZMjl1Wm1sbkxDQmpiR2xsYm5RZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHTnlaV0YwWlVSaGRHRldhV1YzS0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lITndaV002SUV0cFltRnVZVVJoZEdGV2FXVjNRMjl1Wm1sbkxGeHVJQ0FnSUM0dUxtRnlaM002SUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5Wnp4aGJuaytYRzRnSUNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0UVhKbmN5QjlJRDBnS0Z4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pqY21WaGRHVkVZWFJoVm1sbGQxd2lMQ0IwY25WbEtWeHVJQ0FnSUNrdVptOXlLSFJvYVhNdVkzSmxZWFJsUkdGMFlWWnBaWGNwTzF4dUlDQWdJR052Ym5OMElIQmhlV3h2WVdRZ1BTQjBhR2x6TG01dmNtMWhiR2w2WlVSaGRHRldhV1YzUTI5dVptbG5LSEpsWVd4dFRtRnRaU3dnYzNCbFl5azdYRzRnSUNBZ1kyOXVjM1FnWTNKbFlYUmxVbVZ6Y0NBOUlHRjNZV2wwSUhSb2FYTXVjbVZ4ZFdWemRDaGNiaUFnSUNBZ0lGd2lVRTlUVkZ3aUxGeHVJQ0FnSUNBZ1lDOXpMeVI3Y21WaGJHMU9ZVzFsZlM5aGNHa3ZaR0YwWVY5MmFXVjNjeTlrWVhSaFgzWnBaWGRnTEZ4dUlDQWdJQ0FnZXlCa1lYUmhYM1pwWlhjNklIQmhlV3h2WVdRZ2ZTeGNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2l4Y2JpQWdJQ0FnSUhzZ2FHVmhaR1Z5Y3pvZ2V5QmNJbXRpYmkxNGMzSm1YQ0k2SUZ3aWRISjFaVndpTENCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpQjlJSDBzWEc0Z0lDQWdJQ0F5TURBc1hHNGdJQ0FnSUNBdUxpNWpkSGhCY21kelhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdsbUlDaGpjbVZoZEdWU1pYTndMbk4wWVhSMWN5QTlQVDBnTWpBd0lIeDhJR055WldGMFpWSmxjM0F1YzNSaGRIVnpJRDA5UFNBeU1ERXBJSEpsZEhWeWJqdGNiaUFnSUNCcFppQW9ZM0psWVhSbFVtVnpjQzV6ZEdGMGRYTWdJVDA5SURRd09TQW1KaUJqY21WaGRHVlNaWE53TG5OMFlYUjFjeUFoUFQwZ05EQXdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRlZ1WVdKc1pTQjBieUJqY21WaGRHVWdaR0YwWVNCMmFXVjNJQ1I3Y0dGNWJHOWhaQzVwWkgwNklDUjdZM0psWVhSbFVtVnpjQzV6ZEdGMGRYTlVaWGgwZldBN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1FtRmtVbVZ4ZFdWemRFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR0YzWVdsMElIUm9hWE11ZFhCa1lYUmxSR0YwWVZacFpYY29jbVZoYkcxT1lXMWxMQ0J3WVhsc2IyRmtMQ0F1TGk1amRIaEJjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhWd1pHRjBaVVJoZEdGV2FXVjNLRnh1SUNBZ0lISmxZV3h0VG1GdFpUb2djM1J5YVc1bkxGeHVJQ0FnSUhOd1pXTTZJRXRwWW1GdVlVUmhkR0ZXYVdWM1EyOXVabWxuTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSjFjR1JoZEdWRVlYUmhWbWxsZDF3aUxDQjBjblZsS1Z4dUlDQWdJQ2t1Wm05eUtIUm9hWE11ZFhCa1lYUmxSR0YwWVZacFpYY3BPMXh1SUNBZ0lHTnZibk4wSUhCaGVXeHZZV1FnUFNCMGFHbHpMbTV2Y20xaGJHbDZaVVJoZEdGV2FXVjNRMjl1Wm1sbktISmxZV3h0VG1GdFpTd2djM0JsWXlrN1hHNGdJQ0FnWTI5dWMzUWdleUJwWkN3Z0xpNHVkWEJrWVhSbFVHRjViRzloWkNCOUlEMGdjR0Y1Ykc5aFpEdGNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUM5ekx5UjdjbVZoYkcxT1lXMWxmUzloY0drdlpHRjBZVjkyYVdWM2N5OWtZWFJoWDNacFpYY3ZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvYVdRcGZXQXNYRzRnSUNBZ0lDQjdJR1JoZEdGZmRtbGxkem9nZFhCa1lYUmxVR0Y1Ykc5aFpDQjlMRnh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WVdSdGFXNUJjR2xWYzJWeUxGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJc0lGd2lRMjl1ZEdWdWRDMVVlWEJsWENJNklGd2lZWEJ3YkdsallYUnBiMjR2YW5OdmJsd2lJSDBnZlN4Y2JpQWdJQ0FnSURJd01DeGNiaUFnSUNBZ0lDNHVMbU4wZUVGeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdsbUlDaHlaWE53YjI1elpTNXpkR0YwZFhNZ1BqMGdNekF3S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnWUZWdVlXSnNaU0IwYnlCMWNHUmhkR1VnWkdGMFlTQjJhV1YzSUNSN2NHRjViRzloWkM1cFpIMDZJQ1I3Y21WemNHOXVjMlV1YzNSaGRIVnpWR1Y0ZEgxZ08xeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFSmhaRkpsY1hWbGMzUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJqY21WaGRHVkVZWFJoVm1sbGQzTW9YRzRnSUNBZ2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jc1hHNGdJQ0FnWkdGMFlWWnBaWGR6T2lCTGFXSmhibUZFWVhSaFZtbGxkME52Ym1acFoxdGRJSHdnZFc1a1pXWnBibVZrTEZ4dUlDQWdJQzR1TG1GeVozTTZJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaenhoYm5rK1hHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzUjRRWEpuY3lCOUlEMGdLRnh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSmpjbVZoZEdWRVlYUmhWbWxsZDNOY0lpd2dkSEoxWlNsY2JpQWdJQ0FwTG1admNpaDBhR2x6TG1OeVpXRjBaVVJoZEdGV2FXVjNjeWs3WEc0Z0lDQWdZMjl1YzNRZ2MzQmxZM01nUFZ4dUlDQWdJQ0FnWkdGMFlWWnBaWGR6SUNZbUlHUmhkR0ZXYVdWM2N5NXNaVzVuZEdnZ1BpQXdYRzRnSUNBZ0lDQWdJRDhnWkdGMFlWWnBaWGR6WEc0Z0lDQWdJQ0FnSURvZ2RHaHBjeTVrWldaaGRXeDBSR0YwWVZacFpYZERiMjVtYVdkektISmxZV3h0VG1GdFpTazdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnpjR1ZqSUc5bUlITndaV056S1NCN1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxtTnlaV0YwWlVSaGRHRldhV1YzS0hKbFlXeHRUbUZ0WlN3Z2MzQmxZeXdnTGk0dVkzUjRRWEpuY3lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1lYTjVibU1nYzJWMFJHVm1ZWFZzZEVSaGRHRldhV1YzS0Z4dUlDQWdJSEpsWVd4dFRtRnRaVG9nYzNSeWFXNW5MRnh1SUNBZ0lHUmhkR0ZXYVdWM1NXUTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUdOMGVFRnlaM01nZlNBOUlDaGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWMyVjBSR1ZtWVhWc2RFUmhkR0ZXYVdWM1hDSXNJSFJ5ZFdVcFhHNGdJQ0FnS1M1bWIzSW9kR2hwY3k1elpYUkVaV1poZFd4MFJHRjBZVlpwWlhjcE8xeHVJQ0FnSUdOdmJuTjBJR1IyU1dRZ1BWeHVJQ0FnSUNBZ1pHRjBZVlpwWlhkSlpDQS9QMXh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1WkdGMFlWWnBaWGR6UHk1Yk1GMC9MbWxrSUQ4L1hHNGdJQ0FnSUNCMGFHbHpMbVJsWm1GMWJIUkVZWFJoVm1sbGQwTnZibVpwWjNNb2NtVmhiRzFPWVcxbEtWc3dYVDh1YVdRN1hHNGdJQ0FnWTI5dWMzUWdjM1JoZEhWelVtVnpjQ0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVIwVlVYQ0lzWEc0Z0lDQWdJQ0JnTDJGd2FTOXpkR0YwZFhOZ0xGeHVJQ0FnSUNBZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2V5Qm9aV0ZrWlhKek9pQjdJRndpYTJKdUxYaHpjbVpjSWpvZ1hDSjBjblZsWENJZ2ZTQjlMRnh1SUNBZ0lDQWdNakF3TEZ4dUlDQWdJQ0FnTGk0dVkzUjRRWEpuYzF4dUlDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hOMFlYUjFjMUpsYzNBdWMzUmhkSFZ6SUNFOVBTQXlNREFnZkh3Z0lXUjJTV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYzNSaGRIVnpSR0YwWVNBOUlIQmhjbk5sU25OdmJrSnZaSGs4WVc1NVBpaHpkR0YwZFhOU1pYTndMbVJoZEdFcE8xeHVJQ0FnSUdOdmJuTjBJR3RwWW1GdVlWWmxjbk5wYjI0Z1BWeHVJQ0FnSUNBZ2MzUmhkSFZ6UkdGMFlUOHVkbVZ5YzJsdmJqOHViblZ0WW1WeUlEOC9JSE4wWVhSMWMwUmhkR0UvTG10cFltRnVZVDh1ZG1WeWMybHZianRjYmlBZ0lDQnBaaUFvSVd0cFltRnVZVlpsY25OcGIyNHBJSEpsZEhWeWJqdGNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNtVnhkV1Z6ZENoY2JpQWdJQ0FnSUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnWUM5ekx5UjdjbVZoYkcxT1lXMWxmUzloY0drdmMyRjJaV1JmYjJKcVpXTjBjeTlqYjI1bWFXY3ZKSHRyYVdKaGJtRldaWEp6YVc5dWZUOXZkbVZ5ZDNKcGRHVTlkSEoxWldBc1hHNGdJQ0FnSUNCN0lHRjBkSEpwWW5WMFpYTTZJSHNnWkdWbVlYVnNkRWx1WkdWNE9pQmtka2xrSUgwZ2ZTeGNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbUZrYldsdVFYQnBWWE5sY2l4Y2JpQWdJQ0FnSUhzZ2FHVmhaR1Z5Y3pvZ2V5QmNJbXRpYmkxNGMzSm1YQ0k2SUZ3aWRISjFaVndpTENCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpQjlJSDBzWEc0Z0lDQWdJQ0F5TURBc1hHNGdJQ0FnSUNBdUxpNWpkSGhCY21kelhHNGdJQ0FnS1R0Y2JpQWdJQ0JwWmlBb2NtVnpjRzl1YzJVdWMzUmhkSFZ6SUQ0OUlETXdNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR0JWYm1GaWJHVWdkRzhnYzJWMElHUmxabUYxYkhRZ1pHRjBZU0IyYVdWM0lHWnZjaUFrZTNKbFlXeHRUbUZ0WlgwNklDUjdjbVZ6Y0c5dWMyVXVjM1JoZEhWelZHVjRkSDFnTzF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVKaFpGSmxjWFZsYzNSRmNuSnZjaWh0WlhOellXZGxLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR055WldGMFpVaDBkSEJEYkdsbGJuUW9ZMjl1Wm1sbk9pQkxhV0poYm1GVFpYUjFjRU52Ym1acFp5azZJRUY0YVc5elNXNXpkR0Z1WTJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJCZUdsdmN5NWpjbVZoZEdVb2UxeHVJQ0FnSUNBZ1ltRnpaVlZTVERvZ1lDUjdZMjl1Wm1sbkxuQnliM1J2WTI5c2ZUb3ZMeVI3WTI5dVptbG5MbWh2YzNSOVlDeGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFUzUmhkSFZ6T2lBb0tTQTlQaUIwY25WbExGeHVJQ0FnSUNBZ2FIUjBjSE5CWjJWdWREb2dibVYzSUdoMGRIQnpMa0ZuWlc1MEtIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMFZXNWhkWFJvYjNKcGVtVmtPaUFvS0hSb2FYTXVZMjl1Wm1sbklHRnpJR0Z1ZVNrdWFYTlFjbTlrZFdOMGFXOXVLQ2twTEZ4dUlDQWdJQ0FnZlNrc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdjR0Z5YzJWRmNuSnZjaWhsY25KdmNqb2dSWEp5YjNJcE9pQkZjbkp2Y2lCN1hHNGdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR1Z5Y205eUxtMWxjM05oWjJVZ2ZId2daWEp5YjNJdWJtRnRaU0I4ZkNCY0lsVnVhMjV2ZDI0Z1pYSnliM0pjSWp0Y2JpQWdJQ0JqYjI1emRDQnNiM2RsY2sxbGMzTmhaMlVnUFNCdFpYTnpZV2RsTG5SdlRHOTNaWEpEWVhObEtDazdYRzVjYmlBZ0lDQnBaaUFvYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2libTkwSUdadmRXNWtYQ0lwSUh4OElHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSWpRd05Gd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCT2IzUkdiM1Z1WkVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmhiSEpsWVdSNUlHVjRhWE4wYzF3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmpiMjVtYkdsamRGd2lLU0I4ZkNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0kwTURsY0lpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUTI5dVpteHBZM1JGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWFXNTJZV3hwWkZ3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSmlZV1FnY21WeGRXVnpkRndpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENJME1EQmNJaWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FtRmtVbVZ4ZFdWemRFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0oxYm1GMWRHaHZjbWw2WldSY0lpa2dmSHdnYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2lOREF4WENJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRTV2ZEVadmRXNWtSWEp5YjNJb2JXVnpjMkZuWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW1admNtSnBaR1JsYmx3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNRE5jSWlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dUbTkwUm05MWJtUkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9iV1Z6YzJGblpTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRzV2Y20xaGJHbDZaVVJoZEdGV2FXVjNRMjl1Wm1sbktGeHVJQ0FnSUhKbFlXeHRUbUZ0WlRvZ2MzUnlhVzVuTEZ4dUlDQWdJSE53WldNNklFdHBZbUZ1WVVSaGRHRldhV1YzUTI5dVptbG5YRzRnSUNrNklFdHBZbUZ1WVVSaGRHRldhV1YzUTI5dVptbG5JSHRjYmlBZ0lDQmpiMjV6ZENCemRXWm1hWGdnUFNCeVpXRnNiVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0xpNHVjM0JsWXl4Y2JpQWdJQ0FnSUc1aGJXVTZJSE53WldNdWJtRnRaU0EvUHlCemNHVmpMbWxrTEZ4dUlDQWdJQ0FnZEdsMGJHVTZYRzRnSUNBZ0lDQWdJSE53WldNdWRHbDBiR1VnUHo5Y2JpQWdJQ0FnSUNBZ0tITndaV011YVdRdWFXNWpiSFZrWlhNb1hDSm1hV3hsWW1WaGRGd2lLVnh1SUNBZ0lDQWdJQ0FnSUQ4Z1lHWnBiR1ZpWldGMExYQnNZUzBrZTNOMVptWnBlSDB0S21CY2JpQWdJQ0FnSUNBZ0lDQTZJR0J0WlhSeWFXTmlaV0YwTFhCc1lTMGtlM04xWm1acGVIMHRLbUFwTEZ4dUlDQWdJQ0FnZEdsdFpVWnBaV3hrVG1GdFpUb2djM0JsWXk1MGFXMWxSbWxsYkdST1lXMWxJRDgvSUZ3aVFIUnBiV1Z6ZEdGdGNGd2lMRnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR1JsWm1GMWJIUkVZWFJoVm1sbGQwTnZibVpwWjNNb2NtVmhiRzFPWVcxbE9pQnpkSEpwYm1jcE9pQkxhV0poYm1GRVlYUmhWbWxsZDBOdmJtWnBaMXRkSUh0Y2JpQWdJQ0JqYjI1emRDQnpkV1ptYVhnZ1BTQnlaV0ZzYlU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdXMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JwWkRvZ1lHWnBiR1ZpWldGMFgzQnNZVjhrZTNOMVptWnBlSDFnTEZ4dUlDQWdJQ0FnSUNCdVlXMWxPaUJnVUV4QklFWnBiR1ZpWldGMElFeHZaM01nS0NSN2NtVmhiRzFPWVcxbGZTbGdMRnh1SUNBZ0lDQWdJQ0IwYVhSc1pUb2dZR1pwYkdWaVpXRjBMWEJzWVMwa2UzTjFabVpwZUgwdEttQXNYRzRnSUNBZ0lDQWdJSFJwYldWR2FXVnNaRTVoYldVNklGd2lRSFJwYldWemRHRnRjRndpTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2FXUTZJR0JzYjJkelgzQnNZVjhrZTNOMVptWnBlSDFnTEZ4dUlDQWdJQ0FnSUNCdVlXMWxPaUJnVUV4QklFMWxkSEpwWTJKbFlYUWdURzluY3lBb0pIdHlaV0ZzYlU1aGJXVjlLV0FzWEc0Z0lDQWdJQ0FnSUhScGRHeGxPaUJnYldWMGNtbGpZbVZoZEMxd2JHRXRKSHR6ZFdabWFYaDlMU3BnTEZ4dUlDQWdJQ0FnSUNCMGFXMWxSbWxsYkdST1lXMWxPaUJjSWtCMGFXMWxjM1JoYlhCY0lpeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ1hUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ2NtVnhkV1Z6ZENoY2JpQWdJQ0J0WlhSb2IyUTZJRndpUjBWVVhDSWdmQ0JjSWxCUFUxUmNJaUI4SUZ3aVVGVlVYQ0lnZkNCY0lrUkZURVZVUlZ3aUxGeHVJQ0FnSUhWeWJEb2djM1J5YVc1bkxGeHVJQ0FnSUhCaGVXeHZZV1E2SUhWdWEyNXZkMjRzWEc0Z0lDQWdZWEJwVlhObGNqb2dTMmxpWVc1aFZYTmxjaUI4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JsZUhSeVlUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaXhjYmlBZ0lDQnpkV05qWlhOelEyOWtaVG9nYm5WdFltVnlMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFTnZiblJsZUhSMVlXeEJjbWR6UEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4aGJuaytJSHRjYmlBZ0lDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQjBhR2x6TG5KbGNYVmxjM1FwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2FXVnVkQzV5WlhGMVpYTjBLSHRjYmlBZ0lDQWdJRzFsZEdodlpDeGNiaUFnSUNBZ0lIVnliQ3hjYmlBZ0lDQWdJR1JoZEdFNlhHNGdJQ0FnSUNBZ0lIQmhlV3h2WVdRZ1BUMDlJSFZ1WkdWbWFXNWxaRnh1SUNBZ0lDQWdJQ0FnSUQ4Z2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdPaUIwZVhCbGIyWWdjR0Y1Ykc5aFpDQTlQVDBnWENKemRISnBibWRjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJ3WVhsc2IyRmtYRzRnSUNBZ0lDQWdJQ0FnSUNBNklFcFRUMDR1YzNSeWFXNW5hV1o1S0hCaGVXeHZZV1FwTEZ4dUlDQWdJQ0FnWVhWMGFEb2dZWEJwVlhObGNseHVJQ0FnSUNBZ0lDQS9JSHNnZFhObGNtNWhiV1U2SUdGd2FWVnpaWEl1ZFhObGNtNWhiV1VzSUhCaGMzTjNiM0prT2lCaGNHbFZjMlZ5TG5CaGMzTjNiM0prSUgxY2JpQWdJQ0FnSUNBZ09pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ0tDa2dQVDRnZEhKMVpTeGNiaUFnSUNBZ0lHaDBkSEJ6UVdkbGJuUTZJRzVsZHlCb2RIUndjeTVCWjJWdWRDaDdYRzRnSUNBZ0lDQWdJSEpsYW1WamRGVnVZWFYwYUc5eWFYcGxaRG9nS0NoMGFHbHpMbU52Ym1acFp5QmhjeUJoYm5rcExtbHpVSEp2WkhWamRHbHZiaWdwS1N4Y2JpQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0xpNHVaWGgwY21Fc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
|
|
204
|
+
//# sourceMappingURL=KibanaDataViewService.js.map
|
|
205
|
+
//# sourceMappingURL=KibanaDataViewService.cjs.map
|