@decaf-ts/integrations 0.14.0 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/integrations.cjs +3317 -2
- package/dist/integrations.js +3665 -2
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/core/BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/calendar/CalendarService.cjs +2 -2
- package/lib/cjs/calendar/environment.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/index.cjs +2 -2
- package/lib/cjs/calendar/index.cjs +2 -2
- package/lib/cjs/calendar/types.cjs +2 -2
- package/lib/cjs/calendar/validators/cron.cjs +2 -2
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs +2 -2
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs +2 -2
- package/lib/cjs/comms/discord/DiscordService.cjs +2 -2
- package/lib/cjs/comms/discord/index.cjs +2 -2
- package/lib/cjs/comms/email/EmailService.cjs +2 -2
- package/lib/cjs/comms/email/index.cjs +2 -2
- package/lib/cjs/comms/email/mime.cjs +2 -2
- package/lib/cjs/comms/email/smtp.cjs +2 -2
- package/lib/cjs/comms/environment.cjs +2 -2
- package/lib/cjs/comms/gmail/GmailService.cjs +2 -2
- package/lib/cjs/comms/gmail/index.cjs +2 -2
- package/lib/cjs/comms/index.cjs +2 -2
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +2 -2
- package/lib/cjs/comms/outlook/index.cjs +2 -2
- package/lib/cjs/comms/slack/SlackService.cjs +2 -2
- package/lib/cjs/comms/slack/index.cjs +2 -2
- package/lib/cjs/comms/teams/TeamsService.cjs +2 -2
- package/lib/cjs/comms/teams/index.cjs +2 -2
- package/lib/cjs/comms/telegram/TelegramService.cjs +2 -2
- package/lib/cjs/comms/telegram/index.cjs +2 -2
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +2 -2
- package/lib/cjs/comms/whatsapp/index.cjs +2 -2
- package/lib/cjs/devops/environment.cjs +2 -2
- package/lib/cjs/devops/github/GithubService.cjs +2 -2
- package/lib/cjs/devops/github/index.cjs +2 -2
- package/lib/cjs/devops/gitlab/GitlabService.cjs +2 -2
- package/lib/cjs/devops/gitlab/index.cjs +2 -2
- package/lib/cjs/devops/index.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/io/airtable/AirtableService.cjs +2 -2
- package/lib/cjs/io/airtable/index.cjs +2 -2
- package/lib/cjs/io/confluence/ConfluenceService.cjs +2 -2
- package/lib/cjs/io/confluence/index.cjs +2 -2
- package/lib/cjs/io/environment.cjs +2 -2
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +2 -2
- package/lib/cjs/io/google-docs/index.cjs +2 -2
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +2 -2
- package/lib/cjs/io/google-sheets/index.cjs +2 -2
- package/lib/cjs/io/graphql/GraphqlService.cjs +2 -2
- package/lib/cjs/io/graphql/index.cjs +2 -2
- package/lib/cjs/io/index.cjs +2 -2
- package/lib/cjs/io/jira/JiraService.cjs +2 -2
- package/lib/cjs/io/jira/index.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/index.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +2 -2
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +2 -2
- package/lib/cjs/io/spreadsheet/index.cjs +2 -2
- package/lib/cjs/keycloak/broker.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/assets.cjs +2 -2
- package/lib/cjs/loader/config.cjs +2 -2
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/nest.cjs +2 -2
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/credential.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/rls/index.cjs +2 -2
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.constants.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.template.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.types.cjs +2 -2
- package/lib/cjs/namespaces/rls/session-binding.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/credential.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/redis/RedisContextLock.cjs +2 -2
- package/lib/cjs/redis/RedisDispatch.cjs +2 -2
- package/lib/cjs/redis/RedisPaginator.cjs +2 -2
- package/lib/cjs/redis/RedisStatement.cjs +2 -2
- package/lib/cjs/redis/adapter.cjs +2 -2
- package/lib/cjs/redis/constants.cjs +2 -2
- package/lib/cjs/redis/handlers.cjs +2 -2
- package/lib/cjs/redis/index.cjs +2 -2
- package/lib/cjs/redis/serialization.cjs +2 -2
- package/lib/cjs/redis/types.cjs +2 -2
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs +3 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretService.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/fs/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs +34 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs +479 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs +4 -0
- package/lib/cjs/secrets/kubernetes/index.cjs +27 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +2 -2
- package/lib/cjs/sftp/aws/index.cjs +24 -0
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/core/SftpSource.cjs +2 -2
- package/lib/cjs/sftp/core/index.cjs +2 -2
- package/lib/cjs/sftp/index.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +2 -2
- package/lib/cjs/sftp/ssh2/index.cjs +24 -0
- package/lib/cjs/shared/environmentValue.cjs +2 -2
- package/lib/cjs/shared/http/HttpApiService.cjs +2 -2
- package/lib/cjs/shared/http/hermeticBoot.cjs +2 -2
- package/lib/cjs/shared/http/index.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/utils.cjs +2 -2
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/calendar/CalendarService.js +1 -1
- package/lib/esm/calendar/environment.js +1 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +1 -1
- package/lib/esm/calendar/google-calendar/index.js +1 -1
- package/lib/esm/calendar/index.js +1 -1
- package/lib/esm/calendar/types.js +1 -1
- package/lib/esm/calendar/validators/cron.js +1 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js +1 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js +1 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js +1 -1
- package/lib/esm/comms/discord/DiscordService.js +1 -1
- package/lib/esm/comms/discord/index.js +1 -1
- package/lib/esm/comms/email/EmailService.js +1 -1
- package/lib/esm/comms/email/index.js +1 -1
- package/lib/esm/comms/email/mime.js +1 -1
- package/lib/esm/comms/email/smtp.js +1 -1
- package/lib/esm/comms/environment.js +1 -1
- package/lib/esm/comms/gmail/GmailService.js +1 -1
- package/lib/esm/comms/gmail/index.js +1 -1
- package/lib/esm/comms/index.js +1 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +1 -1
- package/lib/esm/comms/outlook/index.js +1 -1
- package/lib/esm/comms/slack/SlackService.js +1 -1
- package/lib/esm/comms/slack/index.js +1 -1
- package/lib/esm/comms/teams/TeamsService.js +1 -1
- package/lib/esm/comms/teams/index.js +1 -1
- package/lib/esm/comms/telegram/TelegramService.js +1 -1
- package/lib/esm/comms/telegram/index.js +1 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js +1 -1
- package/lib/esm/comms/whatsapp/index.js +1 -1
- package/lib/esm/devops/environment.js +1 -1
- package/lib/esm/devops/github/GithubService.js +1 -1
- package/lib/esm/devops/github/index.js +1 -1
- package/lib/esm/devops/gitlab/GitlabService.js +1 -1
- package/lib/esm/devops/gitlab/index.js +1 -1
- package/lib/esm/devops/index.js +1 -1
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/index.js +4 -4
- package/lib/esm/io/airtable/AirtableService.js +1 -1
- package/lib/esm/io/airtable/index.js +1 -1
- package/lib/esm/io/confluence/ConfluenceService.js +1 -1
- package/lib/esm/io/confluence/index.js +1 -1
- package/lib/esm/io/environment.js +1 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js +1 -1
- package/lib/esm/io/google-docs/index.js +1 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +1 -1
- package/lib/esm/io/google-sheets/index.js +1 -1
- package/lib/esm/io/graphql/GraphqlService.js +1 -1
- package/lib/esm/io/graphql/index.js +1 -1
- package/lib/esm/io/index.js +1 -1
- package/lib/esm/io/jira/JiraService.js +1 -1
- package/lib/esm/io/jira/index.js +1 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +1 -1
- package/lib/esm/io/microsoft-excel/index.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/index.js +1 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +1 -1
- package/lib/esm/io/spreadsheet/index.js +1 -1
- package/lib/esm/keycloak/broker.js +1 -1
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/assets.js +1 -1
- package/lib/esm/loader/config.js +1 -1
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/nest.js +1 -1
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/credential.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/rls/index.js +1 -1
- package/lib/esm/namespaces/rls/principal-resolver.js +1 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +1 -1
- package/lib/esm/namespaces/rls/rls.constants.js +1 -1
- package/lib/esm/namespaces/rls/rls.template.js +1 -1
- package/lib/esm/namespaces/rls/rls.types.js +1 -1
- package/lib/esm/namespaces/rls/session-binding.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/credential.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/redis/RedisContextLock.js +1 -1
- package/lib/esm/redis/RedisDispatch.js +1 -1
- package/lib/esm/redis/RedisPaginator.js +1 -1
- package/lib/esm/redis/RedisStatement.js +1 -1
- package/lib/esm/redis/adapter.js +1 -1
- package/lib/esm/redis/constants.js +1 -1
- package/lib/esm/redis/handlers.js +1 -1
- package/lib/esm/redis/index.js +1 -1
- package/lib/esm/redis/serialization.js +1 -1
- package/lib/esm/redis/types.js +1 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +1 -1
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js +1 -1
- package/lib/esm/secrets/core/SecretEnvironment.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js +2 -1
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/fs/FsSecretService.js +1 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/fs/index.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js +30 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js +474 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js +9 -0
- package/lib/esm/secrets/kubernetes/index.js +10 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpService.js +1 -1
- package/lib/esm/sftp/aws/index.js +7 -0
- package/lib/esm/sftp/core/SftpEnvironment.js +1 -1
- package/lib/esm/sftp/core/SftpSource.js +1 -1
- package/lib/esm/sftp/core/index.js +1 -1
- package/lib/esm/sftp/index.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +1 -1
- package/lib/esm/sftp/ssh2/index.js +7 -0
- package/lib/esm/shared/environmentValue.js +1 -1
- package/lib/esm/shared/http/HttpApiService.js +1 -1
- package/lib/esm/shared/http/hermeticBoot.js +1 -1
- package/lib/esm/shared/http/index.js +1 -1
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/secrets/core/SecretTypes.d.cts +13 -1
- package/lib/types/secrets/core/SecretTypes.d.mts +13 -1
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.cts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.mts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.cts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.mts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.cts +49 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.mts +49 -0
- package/lib/types/secrets/kubernetes/index.d.cts +9 -0
- package/lib/types/secrets/kubernetes/index.d.mts +9 -0
- package/lib/types/sftp/aws/index.d.cts +6 -0
- package/lib/types/sftp/aws/index.d.mts +6 -0
- package/lib/types/sftp/ssh2/index.d.cts +6 -0
- package/lib/types/sftp/ssh2/index.d.mts +6 -0
- package/package.json +180 -55
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.js.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/azure/index.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
- package/lib/cjs/blob/core/index.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/gcp/index.cjs.map +0 -1
- package/lib/cjs/blob/index.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/local/index.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/memory/index.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/index.cjs.map +0 -1
- package/lib/cjs/calendar/CalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/environment.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/types.cjs.map +0 -1
- package/lib/cjs/calendar/validators/cron.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs.map +0 -1
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs.map +0 -1
- package/lib/cjs/comms/discord/DiscordService.cjs.map +0 -1
- package/lib/cjs/comms/discord/index.cjs.map +0 -1
- package/lib/cjs/comms/email/EmailService.cjs.map +0 -1
- package/lib/cjs/comms/email/index.cjs.map +0 -1
- package/lib/cjs/comms/email/mime.cjs.map +0 -1
- package/lib/cjs/comms/email/smtp.cjs.map +0 -1
- package/lib/cjs/comms/environment.cjs.map +0 -1
- package/lib/cjs/comms/gmail/GmailService.cjs.map +0 -1
- package/lib/cjs/comms/gmail/index.cjs.map +0 -1
- package/lib/cjs/comms/index.cjs.map +0 -1
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +0 -1
- package/lib/cjs/comms/outlook/index.cjs.map +0 -1
- package/lib/cjs/comms/slack/SlackService.cjs.map +0 -1
- package/lib/cjs/comms/slack/index.cjs.map +0 -1
- package/lib/cjs/comms/teams/TeamsService.cjs.map +0 -1
- package/lib/cjs/comms/teams/index.cjs.map +0 -1
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +0 -1
- package/lib/cjs/comms/telegram/index.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/index.cjs.map +0 -1
- package/lib/cjs/devops/environment.cjs.map +0 -1
- package/lib/cjs/devops/github/GithubService.cjs.map +0 -1
- package/lib/cjs/devops/github/index.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/index.cjs.map +0 -1
- package/lib/cjs/devops/index.cjs.map +0 -1
- package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
- package/lib/cjs/docker/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/constants.cjs.map +0 -1
- package/lib/cjs/feature-flags/decorators.cjs.map +0 -1
- package/lib/cjs/feature-flags/environment.cjs.map +0 -1
- package/lib/cjs/feature-flags/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/types.cjs.map +0 -1
- package/lib/cjs/feature-flags/utils.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/io/airtable/AirtableService.cjs.map +0 -1
- package/lib/cjs/io/airtable/index.cjs.map +0 -1
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +0 -1
- package/lib/cjs/io/confluence/index.cjs.map +0 -1
- package/lib/cjs/io/environment.cjs.map +0 -1
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +0 -1
- package/lib/cjs/io/google-docs/index.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/index.cjs.map +0 -1
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +0 -1
- package/lib/cjs/io/graphql/index.cjs.map +0 -1
- package/lib/cjs/io/index.cjs.map +0 -1
- package/lib/cjs/io/jira/JiraService.cjs.map +0 -1
- package/lib/cjs/io/jira/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/index.cjs.map +0 -1
- package/lib/cjs/keycloak/broker.cjs.map +0 -1
- package/lib/cjs/keycloak/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
- package/lib/cjs/keycloak/types.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +0 -1
- package/lib/cjs/kibana/builders/index.cjs.map +0 -1
- package/lib/cjs/kibana/helpers.cjs.map +0 -1
- package/lib/cjs/kibana/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
- package/lib/cjs/kibana/services/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
- package/lib/cjs/kibana/types.cjs.map +0 -1
- package/lib/cjs/loader/ObjectLoader.cjs.map +0 -1
- package/lib/cjs/loader/assets.cjs.map +0 -1
- package/lib/cjs/loader/config.cjs.map +0 -1
- package/lib/cjs/loader/families.cjs.map +0 -1
- package/lib/cjs/loader/index.cjs.map +0 -1
- package/lib/cjs/loader/nest.cjs.map +0 -1
- package/lib/cjs/loader/types.cjs.map +0 -1
- package/lib/cjs/namespaces/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/credential.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/principal.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/user.model.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/index.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +0 -1
- package/lib/cjs/namespaces/services/authz.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/credential.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/index.cjs.map +0 -1
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/principal.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/user.service.cjs.map +0 -1
- package/lib/cjs/namespaces/types.cjs.map +0 -1
- package/lib/cjs/namespaces/utils.cjs.map +0 -1
- package/lib/cjs/nest/decorators.cjs.map +0 -1
- package/lib/cjs/nest/index.cjs.map +0 -1
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
- package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
- package/lib/cjs/nest/logging.cjs.map +0 -1
- package/lib/cjs/nest/types.cjs.map +0 -1
- package/lib/cjs/nest/utils.cjs.map +0 -1
- package/lib/cjs/plugins/contract.cjs.map +0 -1
- package/lib/cjs/plugins/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/host.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/installer.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/templates.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/types.cjs.map +0 -1
- package/lib/cjs/plugins/superset/host.cjs.map +0 -1
- package/lib/cjs/plugins/superset/index.cjs.map +0 -1
- package/lib/cjs/plugins/superset/installer.cjs.map +0 -1
- package/lib/cjs/plugins/superset/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/superset/templates.cjs.map +0 -1
- package/lib/cjs/plugins/superset/types.cjs.map +0 -1
- package/lib/cjs/redis/RedisContextLock.cjs.map +0 -1
- package/lib/cjs/redis/RedisDispatch.cjs.map +0 -1
- package/lib/cjs/redis/RedisPaginator.cjs.map +0 -1
- package/lib/cjs/redis/RedisStatement.cjs.map +0 -1
- package/lib/cjs/redis/adapter.cjs.map +0 -1
- package/lib/cjs/redis/constants.cjs.map +0 -1
- package/lib/cjs/redis/handlers.cjs.map +0 -1
- package/lib/cjs/redis/index.cjs.map +0 -1
- package/lib/cjs/redis/serialization.cjs.map +0 -1
- package/lib/cjs/redis/types.cjs.map +0 -1
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/aws/index.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/azure/index.cjs.map +0 -1
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
- package/lib/cjs/secrets/core/index.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/fs/index.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
- package/lib/cjs/secrets/index.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
- package/lib/cjs/secrets/model/index.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/vault/index.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpSource.cjs.map +0 -1
- package/lib/cjs/sftp/core/index.cjs.map +0 -1
- package/lib/cjs/sftp/index.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +0 -1
- package/lib/cjs/shared/environmentValue.cjs.map +0 -1
- package/lib/cjs/shared/http/HttpApiService.cjs.map +0 -1
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +0 -1
- package/lib/cjs/shared/http/index.cjs.map +0 -1
- package/lib/cjs/shared/runtime.cjs.map +0 -1
- package/lib/cjs/user-requests/index.cjs.map +0 -1
- package/lib/cjs/utils.cjs.map +0 -1
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
- package/lib/esm/blob/azure/index.js.map +0 -1
- package/lib/esm/blob/core/BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/core/BlobErrors.js.map +0 -1
- package/lib/esm/blob/core/BlobKey.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
- package/lib/esm/blob/core/BlobTypes.js.map +0 -1
- package/lib/esm/blob/core/BlobValue.js.map +0 -1
- package/lib/esm/blob/core/index.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/gcp/index.js.map +0 -1
- package/lib/esm/blob/index.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
- package/lib/esm/blob/local/index.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
- package/lib/esm/blob/memory/index.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/index.js.map +0 -1
- package/lib/esm/calendar/CalendarService.js.map +0 -1
- package/lib/esm/calendar/environment.js.map +0 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +0 -1
- package/lib/esm/calendar/google-calendar/index.js.map +0 -1
- package/lib/esm/calendar/index.js.map +0 -1
- package/lib/esm/calendar/types.js.map +0 -1
- package/lib/esm/calendar/validators/cron.js.map +0 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js.map +0 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js.map +0 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js.map +0 -1
- package/lib/esm/comms/discord/DiscordService.js.map +0 -1
- package/lib/esm/comms/discord/index.js.map +0 -1
- package/lib/esm/comms/email/EmailService.js.map +0 -1
- package/lib/esm/comms/email/index.js.map +0 -1
- package/lib/esm/comms/email/mime.js.map +0 -1
- package/lib/esm/comms/email/smtp.js.map +0 -1
- package/lib/esm/comms/environment.js.map +0 -1
- package/lib/esm/comms/gmail/GmailService.js.map +0 -1
- package/lib/esm/comms/gmail/index.js.map +0 -1
- package/lib/esm/comms/index.js.map +0 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +0 -1
- package/lib/esm/comms/outlook/index.js.map +0 -1
- package/lib/esm/comms/slack/SlackService.js.map +0 -1
- package/lib/esm/comms/slack/index.js.map +0 -1
- package/lib/esm/comms/teams/TeamsService.js.map +0 -1
- package/lib/esm/comms/teams/index.js.map +0 -1
- package/lib/esm/comms/telegram/TelegramService.js.map +0 -1
- package/lib/esm/comms/telegram/index.js.map +0 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +0 -1
- package/lib/esm/comms/whatsapp/index.js.map +0 -1
- package/lib/esm/devops/environment.js.map +0 -1
- package/lib/esm/devops/github/GithubService.js.map +0 -1
- package/lib/esm/devops/github/index.js.map +0 -1
- package/lib/esm/devops/gitlab/GitlabService.js.map +0 -1
- package/lib/esm/devops/gitlab/index.js.map +0 -1
- package/lib/esm/devops/index.js.map +0 -1
- package/lib/esm/docker/DockerComposeService.js.map +0 -1
- package/lib/esm/docker/index.js.map +0 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/constants.js.map +0 -1
- package/lib/esm/feature-flags/decorators.js.map +0 -1
- package/lib/esm/feature-flags/environment.js.map +0 -1
- package/lib/esm/feature-flags/index.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +0 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +0 -1
- package/lib/esm/feature-flags/readers/index.js.map +0 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/types.js.map +0 -1
- package/lib/esm/feature-flags/utils.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/io/airtable/AirtableService.js.map +0 -1
- package/lib/esm/io/airtable/index.js.map +0 -1
- package/lib/esm/io/confluence/ConfluenceService.js.map +0 -1
- package/lib/esm/io/confluence/index.js.map +0 -1
- package/lib/esm/io/environment.js.map +0 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +0 -1
- package/lib/esm/io/google-docs/index.js.map +0 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +0 -1
- package/lib/esm/io/google-sheets/index.js.map +0 -1
- package/lib/esm/io/graphql/GraphqlService.js.map +0 -1
- package/lib/esm/io/graphql/index.js.map +0 -1
- package/lib/esm/io/index.js.map +0 -1
- package/lib/esm/io/jira/JiraService.js.map +0 -1
- package/lib/esm/io/jira/index.js.map +0 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +0 -1
- package/lib/esm/io/microsoft-excel/index.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/index.js.map +0 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +0 -1
- package/lib/esm/io/spreadsheet/index.js.map +0 -1
- package/lib/esm/keycloak/broker.js.map +0 -1
- package/lib/esm/keycloak/index.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
- package/lib/esm/keycloak/services/index.js.map +0 -1
- package/lib/esm/keycloak/services/runtime.js.map +0 -1
- package/lib/esm/keycloak/types.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +0 -1
- package/lib/esm/kibana/builders/index.js.map +0 -1
- package/lib/esm/kibana/helpers.js.map +0 -1
- package/lib/esm/kibana/index.js.map +0 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
- package/lib/esm/kibana/services/index.js.map +0 -1
- package/lib/esm/kibana/services/runtime.js.map +0 -1
- package/lib/esm/kibana/types.js.map +0 -1
- package/lib/esm/loader/ObjectLoader.js.map +0 -1
- package/lib/esm/loader/assets.js.map +0 -1
- package/lib/esm/loader/config.js.map +0 -1
- package/lib/esm/loader/families.js.map +0 -1
- package/lib/esm/loader/index.js.map +0 -1
- package/lib/esm/loader/nest.js.map +0 -1
- package/lib/esm/loader/types.js.map +0 -1
- package/lib/esm/namespaces/index.js.map +0 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +0 -1
- package/lib/esm/namespaces/models/credential.model.js.map +0 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/group.model.js.map +0 -1
- package/lib/esm/namespaces/models/index.js.map +0 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +0 -1
- package/lib/esm/namespaces/models/permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/principal.model.js.map +0 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +0 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/role.model.js.map +0 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +0 -1
- package/lib/esm/namespaces/models/user.model.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +0 -1
- package/lib/esm/namespaces/rls/index.js.map +0 -1
- package/lib/esm/namespaces/rls/principal-resolver.js.map +0 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.constants.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.template.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.types.js.map +0 -1
- package/lib/esm/namespaces/rls/session-binding.js.map +0 -1
- package/lib/esm/namespaces/services/authz.service.js.map +0 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/services/credential.service.js.map +0 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/group.service.js.map +0 -1
- package/lib/esm/namespaces/services/index.js.map +0 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +0 -1
- package/lib/esm/namespaces/services/permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/principal.service.js.map +0 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/role.service.js.map +0 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +0 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +0 -1
- package/lib/esm/namespaces/services/user.service.js.map +0 -1
- package/lib/esm/namespaces/types.js.map +0 -1
- package/lib/esm/namespaces/utils.js.map +0 -1
- package/lib/esm/nest/decorators.js.map +0 -1
- package/lib/esm/nest/index.js.map +0 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
- package/lib/esm/nest/keycloakModule.js.map +0 -1
- package/lib/esm/nest/logging.js.map +0 -1
- package/lib/esm/nest/types.js.map +0 -1
- package/lib/esm/nest/utils.js.map +0 -1
- package/lib/esm/plugins/contract.js.map +0 -1
- package/lib/esm/plugins/index.js.map +0 -1
- package/lib/esm/plugins/kibana/host.js.map +0 -1
- package/lib/esm/plugins/kibana/index.js.map +0 -1
- package/lib/esm/plugins/kibana/installer.js.map +0 -1
- package/lib/esm/plugins/kibana/manifest.js.map +0 -1
- package/lib/esm/plugins/kibana/templates.js.map +0 -1
- package/lib/esm/plugins/kibana/types.js.map +0 -1
- package/lib/esm/plugins/superset/host.js.map +0 -1
- package/lib/esm/plugins/superset/index.js.map +0 -1
- package/lib/esm/plugins/superset/installer.js.map +0 -1
- package/lib/esm/plugins/superset/manifest.js.map +0 -1
- package/lib/esm/plugins/superset/templates.js.map +0 -1
- package/lib/esm/plugins/superset/types.js.map +0 -1
- package/lib/esm/redis/RedisContextLock.js.map +0 -1
- package/lib/esm/redis/RedisDispatch.js.map +0 -1
- package/lib/esm/redis/RedisPaginator.js.map +0 -1
- package/lib/esm/redis/RedisStatement.js.map +0 -1
- package/lib/esm/redis/adapter.js.map +0 -1
- package/lib/esm/redis/constants.js.map +0 -1
- package/lib/esm/redis/handlers.js.map +0 -1
- package/lib/esm/redis/index.js.map +0 -1
- package/lib/esm/redis/serialization.js.map +0 -1
- package/lib/esm/redis/types.js.map +0 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/aws/index.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/azure/index.js.map +0 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
- package/lib/esm/secrets/core/SecretName.js.map +0 -1
- package/lib/esm/secrets/core/SecretReference.js.map +0 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
- package/lib/esm/secrets/core/SecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
- package/lib/esm/secrets/core/index.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretService.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/fs/index.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
- package/lib/esm/secrets/gcp/index.js.map +0 -1
- package/lib/esm/secrets/index.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/model/Secret.js.map +0 -1
- package/lib/esm/secrets/model/index.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/onepassword/index.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/vault/index.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpService.js.map +0 -1
- package/lib/esm/sftp/core/SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/core/SftpSource.js.map +0 -1
- package/lib/esm/sftp/core/index.js.map +0 -1
- package/lib/esm/sftp/index.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +0 -1
- package/lib/esm/shared/environmentValue.js.map +0 -1
- package/lib/esm/shared/http/HttpApiService.js.map +0 -1
- package/lib/esm/shared/http/hermeticBoot.js.map +0 -1
- package/lib/esm/shared/http/index.js.map +0 -1
- package/lib/esm/shared/runtime.js.map +0 -1
- package/lib/esm/user-requests/index.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
|
@@ -415,5 +415,5 @@ class OnePasswordSecretService extends index_js_1.ClientBasedSecretService {
|
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
417
|
exports.OnePasswordSecretService = OnePasswordSecretService;
|
|
418
|
-
//# sourceMappingURL=OnePasswordSecretService.js.map
|
|
419
|
-
//# sourceMappingURL=OnePasswordSecretService.cjs.map
|
|
418
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlY3JldHMvb25lcGFzc3dvcmQvT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsV0FBVyxHQUVaLDJCQUEyQjtBQU81QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCO0FBQzdFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEdBRXpCLDJCQUEyQjtBQU01QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsMENBQXVDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsMkNBQXNDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHdCQUc3QztJQUhEOztRQUlXLGFBQVEsR0FBbUIsV0FBVyxDQUFDO0lBdWpCbEQsQ0FBQztJQXJqQlcscUJBQXFCO1FBRzdCLE1BQU0sR0FBRyxHQUFHLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDN0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ25DLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixXQUFXO1lBQ1gsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUMvQixjQUFjLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDN0MsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1NB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QUFDLEtBQWMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGllbnRCYXNlZFNlY3JldFNlcnZpY2UsXG4gIFNlY3JldEVycm9yLFxuICBTZWNyZXRQcm92aWRlcixcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgU2VjcmV0TmFtZSxcbiAgU2VjcmV0UGF5bG9hZCxcbiAgU2VjcmV0UmVmZXJlbmNlLFxuICBTZWNyZXRNZXRhZGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgdmFsaWRhdGVTZWNyZXROYW1lLCBub3JtYWxpemVTZWNyZXROYW1lIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgZGVzZXJpYWxpemVTZWNyZXRQYXlsb2FkLFxuICB0eXBlIFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkLFxufSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQge1xuICB0eXBlIENvbnRleHR1YWxBcmdzLFxuICB0eXBlIE1heWJlQ29udGV4dHVhbEFyZyxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBPbmVQYXNzd29yZFNlY3JldFNlcnZpY2VDb25maWcgfSBmcm9tIFwiLi9PbmVQYXNzd29yZFNlY3JldFNlcnZpY2VDb25maWdcIjtcbmltcG9ydCB7IE9uZVBhc3N3b3JkU2VjcmV0RW52aXJvbm1lbnQgfSBmcm9tIFwiLi9PbmVQYXNzd29yZFNlY3JldEVudmlyb25tZW50XCI7XG5pbXBvcnQgeyBlbnZTdHJpbmcgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIE9uZVBhc3N3b3JkU2VjcmV0U2VydmljZSBleHRlbmRzIENsaWVudEJhc2VkU2VjcmV0U2VydmljZTxcbiAgdW5rbm93bixcbiAgT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFNlY3JldFByb3ZpZGVyID0gXCIxcGFzc3dvcmRcIjtcblxuICBwcm90ZWN0ZWQgY29uZmlnRnJvbUVudmlyb25tZW50KCk6XG4gICAgfCBPbmVQYXNzd29yZFNlY3JldFNlcnZpY2VDb25maWdcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZW52ID0gT25lUGFzc3dvcmRTZWNyZXRFbnZpcm9ubWVudC5zZWNyZXRzLm9uZVBhc3N3b3JkO1xuICAgIGNvbnN0IGNvbm5lY3RIb3N0ID0gZW52U3RyaW5nKGVudj8uY29ubmVjdEhvc3QpO1xuICAgIGlmICghY29ubmVjdEhvc3QpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3ZpZGVyOiBcIjFwYXNzd29yZFwiLFxuICAgICAgY29ubmVjdEhvc3QsXG4gICAgICBjb25uZWN0VG9rZW46IGVudlN0cmluZyhlbnYuY29ubmVjdFRva2VuKSxcbiAgICAgIHZhdWx0SWQ6IGVudlN0cmluZyhlbnYudmF1bHRJZCksXG4gICAgICBpdGVtSWRUZW1wbGF0ZTogZW52U3RyaW5nKGVudi5pdGVtSWRUZW1wbGF0ZSksXG4gICAgICBrZXlJZDogZW52U3RyaW5nKGVudi5rZXlJZCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBPbmVQYXNzd29yZFNlY3JldFNlcnZpY2VDb25maWc7IGNsaWVudDogdW5rbm93biB9PiB7XG4gICAgY29uc3QgY29uZmlnID1cbiAgICAgIHRoaXMuZ2V0Q29uZmlnRnJvbUFyZ3M8T25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnPiguLi5hcmdzKTtcbiAgICBpZiAoIWNvbmZpZy5jb25uZWN0SG9zdCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiMVBhc3N3b3JkIHNlcnZpY2UgcmVxdWlyZXMgY29ubmVjdEhvc3QgY29uZmlndXJhdGlvblwiXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0ge307XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQ6IHt9IH07XG4gIH1cblxuICBhc3luYyBzdG9yZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWU6IFNlY3JldE5hbWUsXG4gICAgdmFsdWU6IFQsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRSZWZlcmVuY2U+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RvcmVcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0b3JlKTtcbiAgICBsb2cudmVyYm9zZShgU3RvcmluZyBzZWNyZXQgJHtuYW1lfWApO1xuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTZWNyZXRQYXlsb2FkKHZhbHVlKTtcbiAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcblxuICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW0gPSB7XG4gICAgICB0aXRsZTogbm9ybWFsaXplZE5hbWUsXG4gICAgICBjYXRlZ29yeTogXCJsb2dpblwiLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogXCJzZWNyZXRcIixcbiAgICAgICAgICB2YWx1ZTogc2VyaWFsaXplZC52YWx1ZSxcbiAgICAgICAgICBwdXJwb3NlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbm90ZXM6IGBDcmVhdGVkIGJ5IERFQ0FGIFNlY3JldCBTZXJ2aWNlIGF0ICR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfWAsXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucG9zdFJlcXVlc3QoXG4gICAgICAgIGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXNgLFxuICAgICAgICBpdGVtXG4gICAgICApO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLmlkKSB7XG4gICAgICAgIHRocm93IG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgICBcIlNFQ1JFVF9QUk9WSURFUl9DT05GTElDVFwiLFxuICAgICAgICAgIFwiRmFpbGVkIHRvIHN0b3JlIHNlY3JldDogTm8gaXRlbSBJRCByZXR1cm5lZFwiXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGlkOiByZXNwb25zZS5pZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmV0cmlldmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldHJpZXZlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJldHJpZXZlXG4gICAgKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcblxuICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBpdGVtSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlICYmXG4gICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5pbmNsdWRlcyhcIiR7bmFtZX1cIilcbiAgICApIHtcbiAgICAgIGl0ZW1JZCA9IHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLnJlcGxhY2UoXCIke25hbWV9XCIsIG5vcm1hbGl6ZWROYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldEl0ZW1zQnlUaXRsZShub3JtYWxpemVkTmFtZSwgdmF1bHRJZCk7XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICAgIGBTZWNyZXQgXCIke25vcm1hbGl6ZWROYW1lfVwiIG5vdCBmb3VuZCBpbiB2YXVsdGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGl0ZW1JZCA9IGl0ZW1zWzBdLmlkO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBpdGVtID0gYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KFxuICAgICAgICBgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWBcbiAgICAgICk7XG5cbiAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XG4gICAgICBpZiAoaXRlbS5maWVsZHMgJiYgQXJyYXkuaXNBcnJheShpdGVtLmZpZWxkcykpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0RmllbGQgPSBpdGVtLmZpZWxkcy5maW5kKFxuICAgICAgICAgIChmOiBhbnkpID0+IGYucHVycG9zZSA9PT0gXCJwYXNzd29yZFwiIHx8IGYubGFiZWwgPT09IFwic2VjcmV0XCJcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNlY3JldEZpZWxkICYmIHNlY3JldEZpZWxkLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YWx1ZSA9IHNlY3JldEZpZWxkLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghdmFsdWUgJiYgaXRlbS5kZXRhaWxzICYmIGl0ZW0uZGV0YWlscy5maWVsZHMpIHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gQXJyYXkuaXNBcnJheShpdGVtLmRldGFpbHMuZmllbGRzKVxuICAgICAgICAgID8gaXRlbS5kZXRhaWxzLmZpZWxkc1xuICAgICAgICAgIDogW107XG4gICAgICAgIGNvbnN0IHNlY3JldEZpZWxkID0gZmllbGRzLmZpbmQoXG4gICAgICAgICAgKGY6IGFueSkgPT4gZi5wdXJwb3NlID09PSBcInBhc3N3b3JkXCIgfHwgZi5sYWJlbCA9PT0gXCJzZWNyZXRcIlxuICAgICAgICApO1xuICAgICAgICBpZiAoc2VjcmV0RmllbGQgJiYgc2VjcmV0RmllbGQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhbHVlID0gc2VjcmV0RmllbGQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgU2VjcmV0RXJyb3IoXG4gICAgICAgICAgXCJTRUNSRVRfTk9UX0ZPVU5EXCIsXG4gICAgICAgICAgYE5vIHNlY3JldCB2YWx1ZSBmb3VuZCBmb3IgaXRlbSBcIiR7aXRlbUlkfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXlsb2FkOiBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZCA9IHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB2YWx1ZSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCkgYXMgVDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGl0ZW1JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKVxuICAgICkge1xuICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGV4aXN0cyhcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImV4aXN0c1wiLCB0cnVlKSkuZm9yKHRoaXMuZXhpc3RzKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBpZiBzZWNyZXQgJHtuYW1lU3RyfSBleGlzdHNgKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGl0ZW1JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKVxuICAgICkge1xuICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgICAgaWYgKFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdCguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55Pik6IFByb21pc2U8U2VjcmV0TWV0YWRhdGFbXT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICBsb2cudmVyYm9zZShcIkxpc3Rpbmcgc2VjcmV0c1wiKTtcbiAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhW10gPSBbXTtcbiAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcblxuICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtc2ApO1xuXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgQXJyYXkuaXNBcnJheShpdGVtcykgPyBpdGVtcyA6IFtpdGVtc10pIHtcbiAgICAgICAgaWYgKGl0ZW0uaWQgJiYgaXRlbS50aXRsZSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICAgICAgbmFtZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb246IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGNyZWF0ZWRBdDogaXRlbS5jcmVhdGVkQXQgPyBuZXcgRGF0ZShpdGVtLmNyZWF0ZWRBdCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB1cGRhdGVkQXQ6IGl0ZW0udXBkYXRlZEF0ID8gbmV3IERhdGUoaXRlbS51cGRhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGV4dGVybmFsSWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0YWdzOiBpdGVtLmNhdGVnb3J5ID8geyBjYXRlZ29yeTogaXRlbS5jYXRlZ29yeSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbWV0YWRhdGEoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8U2VjcmV0TWV0YWRhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibWV0YWRhdGFcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMubWV0YWRhdGFcbiAgICApO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYEdldHRpbmcgbWV0YWRhdGEgZm9yIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcblxuICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBpdGVtSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlICYmXG4gICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5pbmNsdWRlcyhcIiR7bmFtZX1cIilcbiAgICApIHtcbiAgICAgIGl0ZW1JZCA9IHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLnJlcGxhY2UoXCIke25hbWV9XCIsIG5vcm1hbGl6ZWROYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldEl0ZW1zQnlUaXRsZShub3JtYWxpemVkTmFtZSwgdmF1bHRJZCk7XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBpdGVtSWQgPSBpdGVtc1swXS5pZDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgaXRlbSA9IGF3YWl0IHRoaXMuZ2V0UmVxdWVzdChcbiAgICAgICAgYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtcy8ke2l0ZW1JZH1gXG4gICAgICApO1xuXG4gICAgICBjb25zdCBtZXRhOiBTZWNyZXRNZXRhZGF0YSA9IHtcbiAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgIG5hbWU6IGl0ZW0udGl0bGUgfHwgbm9ybWFsaXplZE5hbWUsXG4gICAgICAgIHZlcnNpb246IHVuZGVmaW5lZCxcbiAgICAgICAgY3JlYXRlZEF0OiBpdGVtLmNyZWF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0uY3JlYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdXBkYXRlZEF0OiBpdGVtLnVwZGF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0udXBkYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgZXh0ZXJuYWxJZDogaXRlbS5pZCxcbiAgICAgICAgdGFnczogaXRlbS5jYXRlZ29yeSA/IHsgY2F0ZWdvcnk6IGl0ZW0uY2F0ZWdvcnkgfSA6IHVuZGVmaW5lZCxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBtZXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICAgIGlmIChcbiAgICAgICAgZXJyLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fFxuICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlcnJvcjogdW5rbm93bik6IFNlY3JldEVycm9yIHtcbiAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLm1lc3NhZ2UgfHwgZXJyLm5hbWUgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIikpIHtcbiAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXG4gICAgICAgIFwiU0VDUkVUX05PVF9GT1VORFwiLFxuICAgICAgICBgU2VjcmV0IG5vdCBmb3VuZDogJHttZXNzYWdlfWAsXG4gICAgICAgIGVyclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfQUxSRUFEWV9FWElTVFNcIixcbiAgICAgICAgYFNlY3JldCBhbHJlYWR5IGV4aXN0czogJHttZXNzYWdlfWAsXG4gICAgICAgIGVyclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfUFJPVklERVJfQVVUSF9GQUlMRURcIixcbiAgICAgICAgYEF1dGhlbnRpY2F0aW9uIGZhaWxlZDogJHttZXNzYWdlfWAsXG4gICAgICAgIGVyclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXG4gICAgICAgIFwiU0VDUkVUX1BST1ZJREVSX1BFUk1JU1NJT05fREVOSUVEXCIsXG4gICAgICAgIGBQZXJtaXNzaW9uIGRlbmllZDogJHttZXNzYWdlfWAsXG4gICAgICAgIGVyclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicmF0ZSBsaW1pdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MjlcIikpIHtcbiAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXG4gICAgICAgIFwiU0VDUkVUX1BST1ZJREVSX1JBVEVfTElNSVRFRFwiLFxuICAgICAgICBgUmF0ZSBsaW1pdGVkOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF2YWlsYWJsZVwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29ubmVjdGlvblwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidGltZW91dFwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfUFJPVklERVJfVU5BVkFJTEFCTEVcIixcbiAgICAgICAgYFByb3ZpZGVyIHVuYXZhaWxhYmxlOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXG4gICAgICBcIlNFQ1JFVF9QUk9WSURFUl9DT05GTElDVFwiLFxuICAgICAgYFByb3ZpZGVyIGVycm9yOiAke21lc3NhZ2V9YCxcbiAgICAgIGVyclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFJlcXVlc3QocGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5jb25uZWN0SG9zdH0ke3BhdGh9YDtcbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfTtcbiAgICBpZiAodGhpcy5jb25maWcuY29ubmVjdFRva2VuKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW59YDtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICB9KTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKS5jYXRjaCgoKSA9PiBcIlwiKTtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHBvc3RSZXF1ZXN0KHBhdGg6IHN0cmluZywgYm9keTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5jb25uZWN0SG9zdH0ke3BhdGh9YDtcbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfTtcbiAgICBpZiAodGhpcy5jb25maWcuY29ubmVjdFRva2VuKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW59YDtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGhlYWRlcnMsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICB9KTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKS5jYXRjaCgoKSA9PiBcIlwiKTtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlbGV0ZVJlcXVlc3QocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuY29ubmVjdEhvc3R9JHtwYXRofWA7XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgIH07XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbm5lY3RUb2tlbikge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jb25maWcuY29ubmVjdFRva2VufWA7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAgIGhlYWRlcnMsXG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zdCBlcnJvckJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYDFQYXNzd29yZCBBUEkgZXJyb3IgKCR7cmVzcG9uc2Uuc3RhdHVzfSk6ICR7ZXJyb3JCb2R5IHx8IHJlc3BvbnNlLnN0YXR1c1RleHR9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEl0ZW1zQnlUaXRsZShcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHZhdWx0SWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFsbEl0ZW1zID0gYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXNgKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShhbGxJdGVtcykgPyBhbGxJdGVtcyA6IFthbGxJdGVtc107XG4gICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRpdGxlID09PSB0aXRsZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
419
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0RTtBQUM1RSxpREFBNkU7QUFDN0UsaURBQXVGO0FBQ3ZGLHVGQUFpRjtBQUNqRiw0RUFBK0Q7QUFDL0QsMkRBQXVFO0FBQ3ZFLE1BQWEsd0JBQXlCLFNBQVEsbUNBQXdCO0lBQ2xFO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUNELHFCQUFxQjtRQUNqQixNQUFNLEdBQUcsR0FBRyw4REFBNEIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzdELE1BQU0sV0FBVyxHQUFHLElBQUEsK0JBQVMsRUFBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVc7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNyQixPQUFPO1lBQ0gsUUFBUSxFQUFFLFdBQVc7WUFDckIsV0FBVztZQUNYLFlBQVksRUFBRSxJQUFBLCtCQUFTLEVBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUN6QyxPQUFPLEVBQUUsSUFBQSwrQkFBUyxFQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDL0IsY0FBYyxFQUFFLElBQUEsK0JBQVMsRUFBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQzdDLEtBQUssRUFBRSxJQUFBLCtCQUFTLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztTQUM5QixDQUFDO0lBQ04sQ0FBQztJQUNELEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDNUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDO1lBQ0QsSUFBQSw2QkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFBLGlDQUFzQixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSw2QkFBYSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHO1lBQ1QsS0FBSyxFQUFFLGNBQWM7WUFDckIsUUFBUSxFQUFFLE9BQU87WUFDakIsTUFBTSxFQUFFO2dCQUNKO29CQUNJLEtBQUssRUFBRSxRQUFRO29CQUNmLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztvQkFDdkIsT0FBTyxFQUFFLFVBQVU7aUJBQ3RCO2FBQ0o7WUFDRCxLQUFLLEVBQUUsc0NBQXNDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7U0FDMUUsQ0FBQztRQUNGLElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLE9BQU8sUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLHNCQUFXLENBQUMsMEJBQTBCLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztZQUNyRyxDQUFDO1lBQ0QsT0FBTztnQkFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFO29CQUNOLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtpQkFDbEI7YUFDSixDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUk7UUFDN0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sT0FBTyxHQUFHLE9BQU8sU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNFLEdBQUcsQ0FBQyxPQUFPLENBQUMscUJBQXFCLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsSUFBQSw2QkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksNkJBQWEsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLFdBQVcsY0FBYyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFDRCxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsT0FBTyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDNUUsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RixJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNqRCxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDOUIsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtvQkFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDO2dCQUN6RixJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNqRCxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDOUIsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxJQUFJLHNCQUFXLENBQUMsa0JBQWtCLEVBQUUsbUNBQW1DLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDNUYsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHO2dCQUNaLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixLQUFLO2FBQ1IsQ0FBQztZQUNGLE9BQU8sSUFBQSxtQ0FBd0IsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSTtRQUMzQixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsTUFBTSxPQUFPLEdBQUcsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDM0UsR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQztRQUNULElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNyQixDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRCxJQUFBLDZCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFBLDhCQUFtQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSw2QkFBYSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDakQsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUNJLENBQUM7WUFDRixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsT0FBTztZQUNYLENBQUM7WUFDRCxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsT0FBTyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUk7UUFDM0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLE9BQU8sU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLE9BQU8sU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsSUFBQSw2QkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksNkJBQWEsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsT0FBTyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTtRQUNkLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxPQUFPLFFBQVEsQ0FBQyxDQUFDO1lBQ25FLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7d0JBQ2hCLE9BQU8sRUFBRSxTQUFTO3dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUNoRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUNoRSxPQUFPLEVBQUUsSUFBSTt3QkFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7cUJBQ2hFLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJO1FBQzdCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxNQUFNLE9BQU8sR0FBRyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMzRSxHQUFHLENBQUMsT0FBTyxDQUFDLCtCQUErQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLENBQUM7YUFDSSxDQUFDO1lBQ0YsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQztZQUNELElBQUEsNkJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLDZCQUFhLENBQUMseURBQXlELENBQUMsQ0FBQztRQUN2RixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUM7UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQ0ksQ0FBQztZQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDO1lBQ0QsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLE9BQU8sVUFBVSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sSUFBSSxHQUFHO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYztnQkFDbEMsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2hFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2hFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNoRSxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUM7WUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBSztRQUNaLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksZUFBZSxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JFLE9BQU8sSUFBSSxzQkFBVyxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQ3ZDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ2pDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksc0JBQVcsQ0FBQyx1QkFBdUIsRUFBRSwwQkFBMEIsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxJQUFJLHNCQUFXLENBQUMsNkJBQTZCLEVBQUUsMEJBQTBCLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxzQkFBVyxDQUFDLG1DQUFtQyxFQUFFLHNCQUFzQixPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0RyxDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxPQUFPLElBQUksc0JBQVcsQ0FBQyw4QkFBOEIsRUFBRSxpQkFBaUIsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxzQkFBVyxDQUFDLDZCQUE2QixFQUFFLHlCQUF5QixPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuRyxDQUFDO1FBQ0QsT0FBTyxJQUFJLHNCQUFXLENBQUMsMEJBQTBCLEVBQUUsbUJBQW1CLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxNQUFNLE9BQU8sR0FBRztZQUNaLGNBQWMsRUFBRSxrQkFBa0I7U0FDckMsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BFLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPO1NBQ1YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksNkJBQWEsQ0FBQyx3QkFBd0IsUUFBUSxDQUFDLE1BQU0sTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDN0csQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUc7WUFDWixjQUFjLEVBQUUsa0JBQWtCO1NBQ3JDLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTztZQUNQLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUM3QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sSUFBSSw2QkFBYSxDQUFDLHdCQUF3QixRQUFRLENBQUMsTUFBTSxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSTtRQUNwQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHO1lBQ1osY0FBYyxFQUFFLGtCQUFrQjtTQUNyQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEUsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixPQUFPO1NBQ1YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksNkJBQWEsQ0FBQyx3QkFBd0IsUUFBUSxDQUFDLE1BQU0sTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDN0csQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLE9BQU8sUUFBUSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBdFpELDREQXNaQztBQUNELGt3MENBQWt3MEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRCYXNlZFNlY3JldFNlcnZpY2UsIFNlY3JldEVycm9yLCB9IGZyb20gXCIuLy4uL2NvcmUvaW5kZXguanNcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSwgbm9ybWFsaXplU2VjcmV0TmFtZSB9IGZyb20gXCIuLy4uL2NvcmUvaW5kZXguanNcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZVNlY3JldFBheWxvYWQsIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZCwgfSBmcm9tIFwiLi8uLi9jb3JlL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBPbmVQYXNzd29yZFNlY3JldEVudmlyb25tZW50IH0gZnJvbSBcIi4vT25lUGFzc3dvcmRTZWNyZXRFbnZpcm9ubWVudC5qc1wiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWUuanNcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmV4cG9ydCBjbGFzcyBPbmVQYXNzd29yZFNlY3JldFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlY3JldFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLnByb3ZpZGVyID0gXCIxcGFzc3dvcmRcIjtcbiAgICB9XG4gICAgY29uZmlnRnJvbUVudmlyb25tZW50KCkge1xuICAgICAgICBjb25zdCBlbnYgPSBPbmVQYXNzd29yZFNlY3JldEVudmlyb25tZW50LnNlY3JldHMub25lUGFzc3dvcmQ7XG4gICAgICAgIGNvbnN0IGNvbm5lY3RIb3N0ID0gZW52U3RyaW5nKGVudj8uY29ubmVjdEhvc3QpO1xuICAgICAgICBpZiAoIWNvbm5lY3RIb3N0KVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiBcIjFwYXNzd29yZFwiLFxuICAgICAgICAgICAgY29ubmVjdEhvc3QsXG4gICAgICAgICAgICBjb25uZWN0VG9rZW46IGVudlN0cmluZyhlbnYuY29ubmVjdFRva2VuKSxcbiAgICAgICAgICAgIHZhdWx0SWQ6IGVudlN0cmluZyhlbnYudmF1bHRJZCksXG4gICAgICAgICAgICBpdGVtSWRUZW1wbGF0ZTogZW52U3RyaW5nKGVudi5pdGVtSWRUZW1wbGF0ZSksXG4gICAgICAgICAgICBrZXlJZDogZW52U3RyaW5nKGVudi5rZXlJZCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzKC4uLmFyZ3MpO1xuICAgICAgICBpZiAoIWNvbmZpZy5jb25uZWN0SG9zdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgc2VydmljZSByZXF1aXJlcyBjb25uZWN0SG9zdCBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdGhpcy5fY2xpZW50ID0ge307XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50OiB7fSB9O1xuICAgIH1cbiAgICBhc3luYyBzdG9yZShuYW1lLCB2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RvcmVcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0b3JlKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYFN0b3Jpbmcgc2VjcmV0ICR7bmFtZX1gKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gc2VyaWFsaXplU2VjcmV0UGF5bG9hZCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuICAgICAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtID0ge1xuICAgICAgICAgICAgdGl0bGU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IFwibG9naW5cIixcbiAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwic2VjcmV0XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemVkLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBwdXJwb3NlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBub3RlczogYENyZWF0ZWQgYnkgREVDQUYgU2VjcmV0IFNlcnZpY2UgYXQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICAgICAgfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5wb3N0UmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zYCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAoIXJlc3BvbnNlLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsIFwiRmFpbGVkIHRvIHN0b3JlIHNlY3JldDogTm8gaXRlbSBJRCByZXR1cm5lZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgbmFtZTogbm9ybWFsaXplZE5hbWUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiByZXNwb25zZS5pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgcmV0cmlldmUobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZXRyaWV2ZVwiLCB0cnVlKSkuZm9yKHRoaXMucmV0cmlldmUpO1xuICAgICAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBzZWNyZXQgJHtuYW1lU3RyfWApO1xuICAgICAgICBsZXQgbmFtZTtcbiAgICAgICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcbiAgICAgICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIjFQYXNzd29yZCBwcm92aWRlciByZXF1aXJlcyBhIHZhdWx0IElEIGluIGNvbmZpZ3VyYXRpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGl0ZW1JZDtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlICYmXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5pbmNsdWRlcyhcIiR7bmFtZX1cIikpIHtcbiAgICAgICAgICAgIGl0ZW1JZCA9IHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLnJlcGxhY2UoXCIke25hbWV9XCIsIG5vcm1hbGl6ZWROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRJdGVtc0J5VGl0bGUobm9ybWFsaXplZE5hbWUsIHZhdWx0SWQpO1xuICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBTZWNyZXQgXCIke25vcm1hbGl6ZWROYW1lfVwiIG5vdCBmb3VuZCBpbiB2YXVsdGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtcy8ke2l0ZW1JZH1gKTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICBpZiAoaXRlbS5maWVsZHMgJiYgQXJyYXkuaXNBcnJheShpdGVtLmZpZWxkcykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNyZXRGaWVsZCA9IGl0ZW0uZmllbGRzLmZpbmQoKGYpID0+IGYucHVycG9zZSA9PT0gXCJwYXNzd29yZFwiIHx8IGYubGFiZWwgPT09IFwic2VjcmV0XCIpO1xuICAgICAgICAgICAgICAgIGlmIChzZWNyZXRGaWVsZCAmJiBzZWNyZXRGaWVsZC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gc2VjcmV0RmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF2YWx1ZSAmJiBpdGVtLmRldGFpbHMgJiYgaXRlbS5kZXRhaWxzLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IEFycmF5LmlzQXJyYXkoaXRlbS5kZXRhaWxzLmZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmRldGFpbHMuZmllbGRzXG4gICAgICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VjcmV0RmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5wdXJwb3NlID09PSBcInBhc3N3b3JkXCIgfHwgZi5sYWJlbCA9PT0gXCJzZWNyZXRcIik7XG4gICAgICAgICAgICAgICAgaWYgKHNlY3JldEZpZWxkICYmIHNlY3JldEZpZWxkLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzZWNyZXRGaWVsZC52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX05PVF9GT1VORFwiLCBgTm8gc2VjcmV0IHZhbHVlIGZvdW5kIGZvciBpdGVtIFwiJHtpdGVtSWR9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGRlbGV0ZShuYW1lT3JSZWYsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICAgICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYERlbGV0aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG4gICAgICAgIGxldCBuYW1lO1xuICAgICAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuICAgICAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXRlbUlkO1xuICAgICAgICBpZiAodGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKSkge1xuICAgICAgICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldEl0ZW1zQnlUaXRsZShub3JtYWxpemVkTmFtZSwgdmF1bHRJZCk7XG4gICAgICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWApO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBleGlzdHMobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJleGlzdHNcIiwgdHJ1ZSkpLmZvcih0aGlzLmV4aXN0cyk7XG4gICAgICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBpZiBzZWNyZXQgJHtuYW1lU3RyfSBleGlzdHNgKTtcbiAgICAgICAgbGV0IG5hbWU7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtSWQ7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpKSB7XG4gICAgICAgICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtSWQgPSBpdGVtc1swXS5pZDtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXMvJHtpdGVtSWR9YCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGVyciA9IGVycm9yO1xuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGxpc3QoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBzZWNyZXRzXCIpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtc2ApO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIEFycmF5LmlzQXJyYXkoaXRlbXMpID8gaXRlbXMgOiBbaXRlbXNdKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgJiYgaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IGl0ZW0uY3JlYXRlZEF0ID8gbmV3IERhdGUoaXRlbS5jcmVhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0OiBpdGVtLnVwZGF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0udXBkYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbElkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFnczogaXRlbS5jYXRlZ29yeSA/IHsgY2F0ZWdvcnk6IGl0ZW0uY2F0ZWdvcnkgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgbWV0YWRhdGEobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKHRoaXMubWV0YWRhdGEpO1xuICAgICAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcbiAgICAgICAgbGV0IG5hbWU7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtSWQ7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpKSB7XG4gICAgICAgICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtcy8ke2l0ZW1JZH1gKTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgbmFtZTogaXRlbS50aXRsZSB8fCBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBpdGVtLmNyZWF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0uY3JlYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6IGl0ZW0udXBkYXRlZEF0ID8gbmV3IERhdGUoaXRlbS51cGRhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxJZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICB0YWdzOiBpdGVtLmNhdGVnb3J5ID8geyBjYXRlZ29yeTogaXRlbS5jYXRlZ29yeSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBtZXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc3QgZXJyID0gZXJyb3I7XG4gICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fFxuICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBhcnNlRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgZXJyID0gZXJyb3I7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCBlcnIubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICAgICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9OT1RfRk9VTkRcIiwgYFNlY3JldCBub3QgZm91bmQ6ICR7bWVzc2FnZX1gLCBlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fFxuICAgICAgICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9BTFJFQURZX0VYSVNUU1wiLCBgU2VjcmV0IGFscmVhZHkgZXhpc3RzOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9QUk9WSURFUl9BVVRIX0ZBSUxFRFwiLCBgQXV0aGVudGljYXRpb24gZmFpbGVkOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfUEVSTUlTU0lPTl9ERU5JRURcIiwgYFBlcm1pc3Npb24gZGVuaWVkOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicmF0ZSBsaW1pdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MjlcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfUkFURV9MSU1JVEVEXCIsIGBSYXRlIGxpbWl0ZWQ6ICR7bWVzc2FnZX1gLCBlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwcm92aWRlclwiKSB8fFxuICAgICAgICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdmFpbGFibGVcIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbm5lY3Rpb25cIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInRpbWVvdXRcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfVU5BVkFJTEFCTEVcIiwgYFByb3ZpZGVyIHVuYXZhaWxhYmxlOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsIGBQcm92aWRlciBlcnJvcjogJHttZXNzYWdlfWAsIGVycik7XG4gICAgfVxuICAgIGFzeW5jIGdldFJlcXVlc3QocGF0aCkge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5jb25uZWN0SG9zdH0ke3BhdGh9YDtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5jb25maWcuY29ubmVjdFRva2VuKSB7XG4gICAgICAgICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW59YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKS5jYXRjaCgoKSA9PiBcIlwiKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGAxUGFzc3dvcmQgQVBJIGVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pOiAke2Vycm9yQm9keSB8fCByZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gICAgfVxuICAgIGFzeW5jIHBvc3RSZXF1ZXN0KHBhdGgsIGJvZHkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuY29ubmVjdEhvc3R9JHtwYXRofWA7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbm5lY3RUb2tlbikge1xuICAgICAgICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jb25maWcuY29ubmVjdFRva2VufWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvckJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGVSZXF1ZXN0KHBhdGgpIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuY29ubmVjdEhvc3R9JHtwYXRofWA7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbm5lY3RUb2tlbikge1xuICAgICAgICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jb25maWcuY29ubmVjdFRva2VufWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvckJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRJdGVtc0J5VGl0bGUodGl0bGUsIHZhdWx0SWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGFsbEl0ZW1zID0gYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXNgKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShhbGxJdGVtcykgPyBhbGxJdGVtcyA6IFthbGxJdGVtc107XG4gICAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRpdGxlID09PSB0aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDI1bFVHRnpjM2R2Y21SVFpXTnlaWFJUWlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDNObFkzSmxkSE12YjI1bGNHRnpjM2R2Y21RdlQyNWxVR0Z6YzNkdmNtUlRaV055WlhSVFpYSjJhV05sTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkRUQ3gzUWtGQmQwSXNSVUZEZUVJc1YwRkJWeXhIUVVWYUxESkNRVUV5UWp0QlFVODFRaXhQUVVGUExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc2JVSkJRVzFDTEVWQlFVVXNNa0pCUVRKQ08wRkJRemRGTEU5QlFVOHNSVUZEVEN4elFrRkJjMElzUlVGRGRFSXNkMEpCUVhkQ0xFZEJSWHBDTERKQ1FVRXlRanRCUVUwMVFpeFBRVUZQTEVWQlFVVXNORUpCUVRSQ0xFVkJRVVVzTUVOQlFYVkRPMEZCUXpsRkxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNNa05CUVhORE8wRkJRekZFTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc1lVRkJZU3hGUVVGRkxFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkZka1VzVFVGQlRTeFBRVUZQTEhkQ1FVRjVRaXhUUVVGUkxIZENRVWMzUXp0SlFVaEVPenRSUVVsWExHRkJRVkVzUjBGQmJVSXNWMEZCVnl4RFFVRkRPMGxCZFdwQ2JFUXNRMEZCUXp0SlFYSnFRbGNzY1VKQlFYRkNPMUZCUnpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITERSQ1FVRTBRaXhEUVVGRExFOUJRVThzUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZETjBRc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVOb1JDeEpRVUZKTEVOQlFVTXNWMEZCVnp0WlFVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8xRkJRMjVETEU5QlFVODdXVUZEVEN4UlFVRlJMRVZCUVVVc1YwRkJWenRaUVVOeVFpeFhRVUZYTzFsQlExZ3NXVUZCV1N4RlFVRkZMRk5CUVZNc1EwRkJReXhIUVVGSExFTkJRVU1zV1VGQldTeERRVUZETzFsQlEzcERMRTlCUVU4c1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXp0WlFVTXZRaXhqUVVGakxFVkJRVVVzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4alFVRmpMRU5CUVVNN1dVRkROME1zUzBGQlN5eEZRVUZGTEZOQlFWTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRE8xTkJRelZDTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGRFpDeEhRVUZITEVsQlFYbENPMUZCUlRWQ0xFMUJRVTBzVFVGQlRTeEhRVU5XTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQmFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOc1JTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRM2hDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xITkVRVUZ6UkN4RFFVTjJSQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVU5FTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM1JDTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRMnhDTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVU5VTEVsQlFXZENMRVZCUTJoQ0xFdEJRVkVzUlVGRFVpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVONlJTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR3RDUVVGclFpeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNSRExFbEJRVWtzUTBGQlF6dFpRVU5JTEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6TkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRV01zUTBGQlF5eERRVUZETzFGQlEzaERMRU5CUVVNN1VVRkZSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeE5RVUZOTEVsQlFVa3NSMEZCUnp0WlFVTllMRXRCUVVzc1JVRkJSU3hqUVVGak8xbEJRM0pDTEZGQlFWRXNSVUZCUlN4UFFVRlBPMWxCUTJwQ0xFMUJRVTBzUlVGQlJUdG5Ra0ZEVGp0dlFrRkRSU3hMUVVGTExFVkJRVVVzVVVGQlVUdHZRa0ZEWml4TFFVRkxMRVZCUVVVc1ZVRkJWU3hEUVVGRExFdEJRVXM3YjBKQlEzWkNMRTlCUVU4c1JVRkJSU3hWUVVGVk8ybENRVU53UWp0aFFVTkdPMWxCUTBRc1MwRkJTeXhGUVVGRkxITkRRVUZ6UXl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRExGZEJRVmNzUlVGQlJTeEZRVUZGTzFOQlEzaEZMRU5CUVVNN1VVRkZSaXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRM0pETEdOQlFXTXNUMEZCVHl4UlFVRlJMRVZCUXpkQ0xFbEJRVWtzUTBGRFRDeERRVUZETzFsQlJVWXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF6dG5Ra0ZEYWtJc1RVRkJUU3hKUVVGSkxGZEJRVmNzUTBGRGJrSXNNRUpCUVRCQ0xFVkJRekZDTERaRFFVRTJReXhEUVVNNVF5eERRVUZETzFsQlEwb3NRMEZCUXp0WlFVVkVMRTlCUVU4N1owSkJRMHdzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJPMmRDUVVOMlFpeEpRVUZKTEVWQlFVVXNZMEZCWXp0blFrRkRjRUlzVDBGQlR5eEZRVUZGTEZOQlFWTTdaMEpCUTJ4Q0xGRkJRVkVzUlVGQlJUdHZRa0ZEVWl4RlFVRkZMRVZCUVVVc1VVRkJVU3hEUVVGRExFVkJRVVU3YVVKQlEyaENPMkZCUTBZc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkRXaXhUUVVGMVF5eEZRVU4yUXl4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVTTNSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVU5rTEVOQlFVTTdVVUZEUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhQUVVGUExGTkJRVk1zUzBGQlN5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTXpSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEhGQ1FVRnhRaXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJUVkRMRWxCUVVrc1NVRkJXU3hEUVVGRE8xRkJSV3BDTEVsQlFVa3NUMEZCVHl4VFFVRlRMRXRCUVVzc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRGJFTXNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJRenRSUVVOdVFpeERRVUZETzJGQlFVMHNRMEZCUXp0WlFVTk9MRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzaENMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeHJRa0ZCYTBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU16UWl4RFFVRkRPMUZCUVVNc1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU5tTEUxQlFVMHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGakxFTkJRVU1zUTBGQlF6dFJRVU40UXl4RFFVRkRPMUZCUlVRc1RVRkJUU3hqUVVGakxFZEJRVWNzYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGFrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZGY0VNc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzFsQlEySXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzZVVSQlFYbEVMRU5CUXpGRUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4TlFVRXdRaXhEUVVGRE8xRkJSUzlDTEVsQlEwVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhqUVVGak8xbEJRekZDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZET1VNc1EwRkJRenRaUVVORUxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNwRkxFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEdOQlFXTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVOc1JTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03WjBKQlEzWkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEZkQlFWY3NZMEZCWXl4elFrRkJjMElzUTBGRGFFUXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkRSQ3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVOMlFpeERRVUZETzFGQlJVUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9ReXhqUVVGakxFOUJRVThzVlVGQlZTeE5RVUZOTEVWQlFVVXNRMEZEZUVNc1EwRkJRenRaUVVWR0xFbEJRVWtzUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTm1MRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETzJkQ1FVTTVReXhOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkRiRU1zUTBGQlF5eERRVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFdEJRVXNzVlVGQlZTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMRXRCUVVzc1VVRkJVU3hEUVVNM1JDeERRVUZETzJkQ1FVTkdMRWxCUVVrc1YwRkJWeXhKUVVGSkxGZEJRVmNzUTBGQlF5eExRVUZMTEV0QlFVc3NVMEZCVXl4RlFVRkZMRU5CUVVNN2IwSkJRMjVFTEV0QlFVc3NSMEZCUnl4WFFVRlhMRU5CUVVNc1MwRkJTeXhEUVVGRE8yZENRVU0xUWl4RFFVRkRPMWxCUTBnc1EwRkJRenRaUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVOc1JDeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRPMjlDUVVNdlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTk8yOUNRVU55UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU5RTEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRemRDTEVOQlFVTXNRMEZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eExRVUZMTEZWQlFWVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhMUVVGTExGRkJRVkVzUTBGRE4wUXNRMEZCUXp0blFrRkRSaXhKUVVGSkxGZEJRVmNzU1VGQlNTeFhRVUZYTEVOQlFVTXNTMEZCU3l4TFFVRkxMRk5CUVZNc1JVRkJSU3hEUVVGRE8yOUNRVU51UkN4TFFVRkxMRWRCUVVjc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF6dG5Ra0ZETlVJc1EwRkJRenRaUVVOSUxFTkJRVU03V1VGRlJDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRMWdzVFVGQlRTeEpRVUZKTEZkQlFWY3NRMEZEYmtJc2EwSkJRV3RDTEVWQlEyeENMRzFEUVVGdFF5eE5RVUZOTEVkQlFVY3NRMEZETjBNc1EwRkJRenRaUVVOS0xFTkJRVU03V1VGRlJDeE5RVUZOTEU5QlFVOHNSMEZCTkVJN1owSkJRM1pETEZGQlFWRXNSVUZCUlN4TlFVRk5PMmRDUVVOb1FpeExRVUZMTzJGQlEwNHNRMEZCUXp0WlFVVkdMRTlCUVU4c2QwSkJRWGRDTEVOQlFVTXNUMEZCVHl4RFFVRk5MRU5CUVVNN1VVRkRhRVFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVOV0xGTkJRWFZETEVWQlEzWkRMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6TkZMRTFCUVUwc1QwRkJUeXhIUVVGSExFOUJRVThzVTBGQlV5eExRVUZMTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUXpORkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNiVUpCUVcxQ0xFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZGTVVNc1NVRkJTU3hKUVVGWkxFTkJRVU03VVVGRmFrSXNTVUZCU1N4UFFVRlBMRk5CUVZNc1MwRkJTeXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVU5zUXl4SlFVRkpMRWRCUVVjc1UwRkJVeXhEUVVGRE8xRkJRMjVDTEVOQlFVTTdZVUZCVFN4RFFVRkRPMWxCUTA0c1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZEZUVJc1EwRkJRenRSUVVWRUxFbEJRVWtzUTBGQlF6dFpRVU5JTEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6TkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRV01zUTBGQlF5eERRVUZETzFGQlEzaERMRU5CUVVNN1VVRkZSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVVndReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZEWWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVOeVFpeDVSRUZCZVVRc1EwRkRNVVFzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVRCQ0xFTkJRVU03VVVGRkwwSXNTVUZEUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHTkJRV003V1VGRE1VSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhqUVVGakxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVTTVReXhEUVVGRE8xbEJRMFFzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFRRVUZUTEVWQlFVVXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRla1VzUTBGQlF6dGhRVUZOTEVOQlFVTTdXVUZEVGl4TlFVRk5MRXRCUVVzc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNZMEZCWXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRMnhGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtJc1QwRkJUenRaUVVOVUxFTkJRVU03V1VGRFJDeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRE8xbEJRMGdzVFVGQlRTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMR05CUVdNc1QwRkJUeXhWUVVGVkxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEY0VVc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQll5eERRVUZETEVOQlFVTTdVVUZEZUVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVTldMRk5CUVhWRExFVkJRM1pETEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRek5GTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTlCUVU4c1UwRkJVeXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlF6TkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zYzBKQlFYTkNMRTlCUVU4c1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmNFUXNTVUZCU1N4SlFVRlpMRU5CUVVNN1VVRkZha0lzU1VGQlNTeFBRVUZQTEZOQlFWTXNTMEZCU3l4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVOc1F5eEpRVUZKTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUTI1Q0xFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGVFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxHdENRVUZyUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM2hETEVOQlFVTTdVVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeEpRVUZKTEUxQlFUQkNMRU5CUVVNN1VVRkZMMElzU1VGRFJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRNVUlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVU01UXl4RFFVRkRPMWxCUTBRc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdVVUZEZWtVc1EwRkJRenRoUVVGTkxFTkJRVU03V1VGRFRpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGRrSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1dVRkRaaXhEUVVGRE8xbEJRMFFzVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4alFVRmpMRTlCUVU4c1ZVRkJWU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlF5OUVMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZqTEVOQlFVTTdXVUZETTBJc1NVRkRSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU03WjBKQlF5OURMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVTXpRaXhEUVVGRE8yZENRVU5FTEU5QlFVOHNTMEZCU3l4RFFVRkRPMWxCUTJZc1EwRkJRenRaUVVORUxFMUJRVTBzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNM1FpeERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUUyUWp0UlFVTjZReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRka1VzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlF5OUNMRTFCUVUwc1RVRkJUU3hIUVVGeFFpeEZRVUZGTEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNN1VVRkZjRU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMWxCUTJJc1QwRkJUeXhOUVVGTkxFTkJRVU03VVVGRGFFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzUzBGQlN5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhqUVVGakxFOUJRVThzVVVGQlVTeERRVUZETEVOQlFVTTdXVUZGYmtVc1MwRkJTeXhOUVVGTkxFbEJRVWtzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZETVVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenR2UWtGRE1VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJRenQzUWtGRFZpeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFN2QwSkJRM1pDTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTenQzUWtGRGFFSXNUMEZCVHl4RlFVRkZMRk5CUVZNN2QwSkJRMnhDTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTTdkMEpCUTJoRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk03ZDBKQlEyaEZMRTlCUVU4c1JVRkJSU3hKUVVGSk8zZENRVU5pTEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkJSVHQzUWtGRGJrSXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXp0eFFrRkRPVVFzUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNN1dVRkRTQ3hEUVVGRE8xbEJSVVFzVDBGQlR5eE5RVUZOTEVOQlFVTTdVVUZEYUVJc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQll5eERRVUZETEVOQlFVTTdVVUZEZUVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTmFMRk5CUVhWRExFVkJRM1pETEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlF6ZEVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRMlFzUTBGQlF6dFJRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTlCUVU4c1UwRkJVeXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlF6TkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zSzBKQlFTdENMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRmRFUXNTVUZCU1N4SlFVRlpMRU5CUVVNN1VVRkZha0lzU1VGQlNTeFBRVUZQTEZOQlFWTXNTMEZCU3l4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVOc1F5eEpRVUZKTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUTI1Q0xFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGVFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxHdENRVUZyUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM2hETEVOQlFVTTdVVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeEpRVUZKTEUxQlFUQkNMRU5CUVVNN1VVRkZMMElzU1VGRFJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRNVUlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVU01UXl4RFFVRkRPMWxCUTBRc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdVVUZEZWtVc1EwRkJRenRoUVVGTkxFTkJRVU03V1VGRFRpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGRrSXNUMEZCVHl4VFFVRlRMRU5CUVVNN1dVRkRia0lzUTBGQlF6dFpRVU5FTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRMmhETEdOQlFXTXNUMEZCVHl4VlFVRlZMRTFCUVUwc1JVRkJSU3hEUVVONFF5eERRVUZETzFsQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVcxQ08yZENRVU16UWl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkU3WjBKQlEzWkNMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEdOQlFXTTdaMEpCUTJ4RExFOUJRVThzUlVGQlJTeFRRVUZUTzJkQ1FVTnNRaXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVE8yZENRVU5vUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRPMmRDUVVOb1JTeFBRVUZQTEVWQlFVVXNTVUZCU1R0blFrRkRZaXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEVWQlFVVTdaMEpCUTI1Q0xFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk03WVVGRE9VUXNRMEZCUXp0WlFVVkdMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZqTEVOQlFVTTdXVUZETTBJc1NVRkRSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU03WjBKQlF5OURMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVTXpRaXhEUVVGRE8yZENRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRPMWxCUTI1Q0xFTkJRVU03V1VGRFJDeE5RVUZOTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE4wSXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZVeXhWUVVGVkxFTkJRVU1zUzBGQll6dFJRVU5xUXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGakxFTkJRVU03VVVGRE0wSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRExFOUJRVThzU1VGQlNTeEhRVUZITEVOQlFVTXNTVUZCU1N4SlFVRkpMR1ZCUVdVc1EwRkJRenRSUVVNelJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRk0wTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU4yUlN4UFFVRlBMRWxCUVVrc1YwRkJWeXhEUVVOd1FpeHJRa0ZCYTBJc1JVRkRiRUlzY1VKQlFYRkNMRTlCUVU4c1JVRkJSU3hGUVVNNVFpeEhRVUZITEVOQlEwb3NRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hKUVVORkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03V1VGRGRrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGFrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGRE5VSXNRMEZCUXp0WlFVTkVMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRM0JDTEhWQ1FVRjFRaXhGUVVOMlFpd3dRa0ZCTUVJc1QwRkJUeXhGUVVGRkxFVkJRMjVETEVkQlFVY3NRMEZEU2l4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRNVVVzVDBGQlR5eEpRVUZKTEZkQlFWY3NRMEZEY0VJc05rSkJRVFpDTEVWQlF6ZENMREJDUVVFd1FpeFBRVUZQTEVWQlFVVXNSVUZEYmtNc1IwRkJSeXhEUVVOS0xFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU40UlN4UFFVRlBMRWxCUVVrc1YwRkJWeXhEUVVOd1FpeHRRMEZCYlVNc1JVRkRia01zYzBKQlFYTkNMRTlCUVU4c1JVRkJSU3hGUVVNdlFpeEhRVUZITEVOQlEwb3NRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTNoRkxFOUJRVThzU1VGQlNTeFhRVUZYTEVOQlEzQkNMRGhDUVVFNFFpeEZRVU01UWl4cFFrRkJhVUlzVDBGQlR5eEZRVUZGTEVWQlF6RkNMRWRCUVVjc1EwRkRTaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEVsQlEwVXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGFrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU03V1VGRGNFTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFTkJRVU03V1VGRGJrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGRGFFTXNRMEZCUXp0WlFVTkVMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRM0JDTERaQ1FVRTJRaXhGUVVNM1FpeDVRa0ZCZVVJc1QwRkJUeXhGUVVGRkxFVkJRMnhETEVkQlFVY3NRMEZEU2l4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFOUJRVThzU1VGQlNTeFhRVUZYTEVOQlEzQkNMREJDUVVFd1FpeEZRVU14UWl4dFFrRkJiVUlzVDBGQlR5eEZRVUZGTEVWQlF6VkNMRWRCUVVjc1EwRkRTaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJXVHRSUVVOdVF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTJoRUxFMUJRVTBzVDBGQlR5eEhRVUV5UWp0WlFVTjBReXhqUVVGakxFVkJRVVVzYTBKQlFXdENPMU5CUTI1RExFTkJRVU03VVVGRFJpeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03V1VGRE4wSXNUMEZCVHl4RFFVRkRMR1ZCUVdVc1EwRkJReXhIUVVGSExGVkJRVlVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVOc1JTeERRVUZETzFGQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hMUVVGTExFTkJRVU1zUjBGQlJ5eEZRVUZGTzFsQlEyaERMRTFCUVUwc1JVRkJSU3hMUVVGTE8xbEJRMklzVDBGQlR6dFRRVU5TTEVOQlFVTXNRMEZCUXp0UlFVVklMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZEYWtJc1RVRkJUU3hUUVVGVExFZEJRVWNzVFVGQlRTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUTNoRUxFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMSGRDUVVGM1FpeFJRVUZSTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1NVRkJTU3hSUVVGUkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlEyaEdMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzVDBGQlR5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRla0lzUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1NVRkJXU3hGUVVGRkxFbEJRVk03VVVGREwwTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOb1JDeE5RVUZOTEU5QlFVOHNSMEZCTWtJN1dVRkRkRU1zWTBGQll5eEZRVUZGTEd0Q1FVRnJRanRUUVVOdVF5eERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzFsQlF6ZENMRTlCUVU4c1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03VVVGRGJFVXNRMEZCUXp0UlFVVkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlR0WlFVTm9ReXhOUVVGTkxFVkJRVVVzVFVGQlRUdFpRVU5rTEU5QlFVODdXVUZEVUN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTTdVMEZETTBJc1EwRkJReXhEUVVGRE8xRkJSVWdzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOcVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGVFUXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzZDBKQlFYZENMRkZCUVZFc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkRhRVlzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVU42UWl4RFFVRkRPMGxCUlU4c1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZaTzFGQlEzUkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRGFFUXNUVUZCVFN4UFFVRlBMRWRCUVRKQ08xbEJRM1JETEdOQlFXTXNSVUZCUlN4clFrRkJhMEk3VTBGRGJrTXNRMEZCUXp0UlFVTkdMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXp0WlFVTTNRaXhQUVVGUExFTkJRVU1zWlVGQlpTeERRVUZETEVkQlFVY3NWVUZCVlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzFGQlEyeEZMRU5CUVVNN1VVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkRhRU1zVFVGQlRTeEZRVUZGTEZGQlFWRTdXVUZEYUVJc1QwRkJUenRUUVVOU0xFTkJRVU1zUTBGQlF6dFJRVVZJTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGFrSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hSUVVGUkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEzaEVMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEhkQ1FVRjNRaXhSUVVGUkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNTVUZCU1N4UlFVRlJMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRMmhHTEVOQlFVTTdVVUZEU2l4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWUExFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlF6TkNMRXRCUVdFc1JVRkRZaXhQUVVGbE8xRkJSV1lzU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNUMEZCVHl4UlFVRlJMRU5CUVVNc1EwRkJRenRaUVVOMFJTeE5RVUZOTEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdXVUZET1VRc1QwRkJUeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eExRVUZMTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTNSRUxFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFTkJRVU03U1VGRFNDeERRVUZETzBOQlEwWWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMXh1SUNCRGJHbGxiblJDWVhObFpGTmxZM0psZEZObGNuWnBZMlVzWEc0Z0lGTmxZM0psZEVWeWNtOXlMRnh1SUNCVFpXTnlaWFJRY205MmFXUmxjaXhjYm4wZ1puSnZiU0JjSWk0dUx5NHVMM05sWTNKbGRITXZZMjl5WlZ3aU8xeHVhVzF3YjNKMElIdGNiaUFnVTJWamNtVjBUbUZ0WlN4Y2JpQWdVMlZqY21WMFVHRjViRzloWkN4Y2JpQWdVMlZqY21WMFVtVm1aWEpsYm1ObExGeHVJQ0JUWldOeVpYUk5aWFJoWkdGMFlTeGNibjBnWm5KdmJTQmNJaTR1THk0dUwzTmxZM0psZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ2RtRnNhV1JoZEdWVFpXTnlaWFJPWVcxbExDQnViM0p0WVd4cGVtVlRaV055WlhST1lXMWxJSDBnWm5KdmJTQmNJaTR1THk0dUwzTmxZM0psZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUh0Y2JpQWdjMlZ5YVdGc2FYcGxVMlZqY21WMFVHRjViRzloWkN4Y2JpQWdaR1Z6WlhKcFlXeHBlbVZUWldOeVpYUlFZWGxzYjJGa0xGeHVJQ0IwZVhCbElGTmxjbWxoYkdsNlpXUlRaV055WlhSUVlYbHNiMkZrTEZ4dWZTQm1jbTl0SUZ3aUxpNHZMaTR2YzJWamNtVjBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCMGVYQmxJRU52Ym5SbGVIUjFZV3hCY21kekxGeHVJQ0IwZVhCbElFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJQYm1WUVlYTnpkMjl5WkZObFkzSmxkRk5sY25acFkyVkRiMjVtYVdjZ2ZTQm1jbTl0SUZ3aUxpOVBibVZRWVhOemQyOXlaRk5sWTNKbGRGTmxjblpwWTJWRGIyNW1hV2RjSWp0Y2JtbHRjRzl5ZENCN0lFOXVaVkJoYzNOM2IzSmtVMlZqY21WMFJXNTJhWEp2Ym0xbGJuUWdmU0JtY205dElGd2lMaTlQYm1WUVlYTnpkMjl5WkZObFkzSmxkRVZ1ZG1seWIyNXRaVzUwWENJN1hHNXBiWEJ2Y25RZ2V5QmxiblpUZEhKcGJtY2dmU0JtY205dElGd2lMaTR2TGk0dmMyaGhjbVZrTDJWdWRtbHliMjV0Wlc1MFZtRnNkV1ZjSWp0Y2JtbHRjRzl5ZENCN0lFbHVkR1Z5Ym1Gc1JYSnliM0lzSUU1dmRFWnZkVzVrUlhKeWIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibHh1Wlhod2IzSjBJR05zWVhOeklFOXVaVkJoYzNOM2IzSmtVMlZqY21WMFUyVnlkbWxqWlNCbGVIUmxibVJ6SUVOc2FXVnVkRUpoYzJWa1UyVmpjbVYwVTJWeWRtbGpaVHhjYmlBZ2RXNXJibTkzYml4Y2JpQWdUMjVsVUdGemMzZHZjbVJUWldOeVpYUlRaWEoyYVdObFEyOXVabWxuWEc0K0lIdGNiaUFnY21WaFpHOXViSGtnY0hKdmRtbGtaWEk2SUZObFkzSmxkRkJ5YjNacFpHVnlJRDBnWENJeGNHRnpjM2R2Y21SY0lqdGNibHh1SUNCd2NtOTBaV04wWldRZ1kyOXVabWxuUm5KdmJVVnVkbWx5YjI1dFpXNTBLQ2s2WEc0Z0lDQWdmQ0JQYm1WUVlYTnpkMjl5WkZObFkzSmxkRk5sY25acFkyVkRiMjVtYVdkY2JpQWdJQ0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnWTI5dWMzUWdaVzUySUQwZ1QyNWxVR0Z6YzNkdmNtUlRaV055WlhSRmJuWnBjbTl1YldWdWRDNXpaV055WlhSekxtOXVaVkJoYzNOM2IzSmtPMXh1SUNBZ0lHTnZibk4wSUdOdmJtNWxZM1JJYjNOMElEMGdaVzUyVTNSeWFXNW5LR1Z1ZGo4dVkyOXVibVZqZEVodmMzUXBPMXh1SUNBZ0lHbG1JQ2doWTI5dWJtVmpkRWh2YzNRcElISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJSEJ5YjNacFpHVnlPaUJjSWpGd1lYTnpkMjl5WkZ3aUxGeHVJQ0FnSUNBZ1kyOXVibVZqZEVodmMzUXNYRzRnSUNBZ0lDQmpiMjV1WldOMFZHOXJaVzQ2SUdWdWRsTjBjbWx1WnlobGJuWXVZMjl1Ym1WamRGUnZhMlZ1S1N4Y2JpQWdJQ0FnSUhaaGRXeDBTV1E2SUdWdWRsTjBjbWx1WnlobGJuWXVkbUYxYkhSSlpDa3NYRzRnSUNBZ0lDQnBkR1Z0U1dSVVpXMXdiR0YwWlRvZ1pXNTJVM1J5YVc1bktHVnVkaTVwZEdWdFNXUlVaVzF3YkdGMFpTa3NYRzRnSUNBZ0lDQnJaWGxKWkRvZ1pXNTJVM1J5YVc1bktHVnVkaTVyWlhsSlpDa3NYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHbHVhWFJwWVd4cGVtVW9YRzRnSUNBZ0xpNHVZWEpuY3pvZ1EyOXVkR1Y0ZEhWaGJFRnlaM004WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhzZ1kyOXVabWxuT2lCUGJtVlFZWE56ZDI5eVpGTmxZM0psZEZObGNuWnBZMlZEYjI1bWFXYzdJR05zYVdWdWREb2dkVzVyYm05M2JpQjlQaUI3WEc0Z0lDQWdZMjl1YzNRZ1kyOXVabWxuSUQxY2JpQWdJQ0FnSUhSb2FYTXVaMlYwUTI5dVptbG5Sbkp2YlVGeVozTThUMjVsVUdGemMzZHZjbVJUWldOeVpYUlRaWEoyYVdObFEyOXVabWxuUGlndUxpNWhjbWR6S1R0Y2JpQWdJQ0JwWmlBb0lXTnZibVpwWnk1amIyNXVaV04wU0c5emRDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lGd2lNVkJoYzNOM2IzSmtJSE5sY25acFkyVWdjbVZ4ZFdseVpYTWdZMjl1Ym1WamRFaHZjM1FnWTI5dVptbG5kWEpoZEdsdmJsd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGFHbHpMbDlqYjI1bWFXY2dQU0JqYjI1bWFXYzdYRzRnSUNBZ2RHaHBjeTVmWTJ4cFpXNTBJRDBnZTMwN1hHNGdJQ0FnY21WMGRYSnVJSHNnWTI5dVptbG5MQ0JqYkdsbGJuUTZJSHQ5SUgwN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCemRHOXlaVHhVSUdWNGRHVnVaSE1nVTJWamNtVjBVR0Y1Ykc5aFpDQTlJRk5sWTNKbGRGQmhlV3h2WVdRK0tGeHVJQ0FnSUc1aGJXVTZJRk5sWTNKbGRFNWhiV1VzWEc0Z0lDQWdkbUZzZFdVNklGUXNYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeFRaV055WlhSU1pXWmxjbVZ1WTJVK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlp5QjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpYzNSdmNtVmNJaXdnZEhKMVpTa3BMbVp2Y2loMGFHbHpMbk4wYjNKbEtUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGdVM1J2Y21sdVp5QnpaV055WlhRZ0pIdHVZVzFsZldBcE8xeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTmxZM0psZEU1aGJXVW9ibUZ0WlNrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSnZjaUJoY3lCRmNuSnZjaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpFNWhiV1VnUFNCdWIzSnRZV3hwZW1WVFpXTnlaWFJPWVcxbEtHNWhiV1VwTzF4dUlDQWdJR052Ym5OMElITmxjbWxoYkdsNlpXUWdQU0J6WlhKcFlXeHBlbVZUWldOeVpYUlFZWGxzYjJGa0tIWmhiSFZsS1R0Y2JpQWdJQ0JqYjI1emRDQjJZWFZzZEVsa0lEMGdkR2hwY3k1amIyNW1hV2N1ZG1GMWJIUkpaRHRjYmx4dUlDQWdJR2xtSUNnaGRtRjFiSFJKWkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUZ3aU1WQmhjM04zYjNKa0lIQnliM1pwWkdWeUlISmxjWFZwY21WeklHRWdkbUYxYkhRZ1NVUWdhVzRnWTI5dVptbG5kWEpoZEdsdmJsd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsMFpXMGdQU0I3WEc0Z0lDQWdJQ0IwYVhSc1pUb2dibTl5YldGc2FYcGxaRTVoYldVc1hHNGdJQ0FnSUNCallYUmxaMjl5ZVRvZ1hDSnNiMmRwYmx3aUxGeHVJQ0FnSUNBZ1ptbGxiR1J6T2lCYlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JzWVdKbGJEb2dYQ0p6WldOeVpYUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCMllXeDFaVG9nYzJWeWFXRnNhWHBsWkM1MllXeDFaU3hjYmlBZ0lDQWdJQ0FnSUNCd2RYSndiM05sT2lCY0luQmhjM04zYjNKa1hDSXNYRzRnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnYm05MFpYTTZJR0JEY21WaGRHVmtJR0o1SUVSRlEwRkdJRk5sWTNKbGRDQlRaWEoyYVdObElHRjBJQ1I3Ym1WM0lFUmhkR1VvS1M1MGIwbFRUMU4wY21sdVp5Z3BmV0FzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdWNHOXpkRkpsY1hWbGMzUW9YRzRnSUNBZ0lDQWdJR0F2ZGpFdmRtRjFiSFJ6THlSN2RtRjFiSFJKWkgwdmFYUmxiWE5nTEZ4dUlDQWdJQ0FnSUNCcGRHVnRYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYSmxjM0J2Ym5ObExtbGtLU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVFpXTnlaWFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JjSWxORlExSkZWRjlRVWs5V1NVUkZVbDlEVDA1R1RFbERWRndpTEZ4dUlDQWdJQ0FnSUNBZ0lGd2lSbUZwYkdWa0lIUnZJSE4wYjNKbElITmxZM0psZERvZ1RtOGdhWFJsYlNCSlJDQnlaWFIxY201bFpGd2lYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUhCeWIzWnBaR1Z5T2lCMGFHbHpMbkJ5YjNacFpHVnlMRnh1SUNBZ0lDQWdJQ0J1WVcxbE9pQnViM0p0WVd4cGVtVmtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ2RtVnljMmx2YmpvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lDQWdJQ0FnSUdsa09pQnlaWE53YjI1elpTNXBaQ3hjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSnZjaUJoY3lCRmNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWVhONWJtTWdjbVYwY21sbGRtVThWQ0JsZUhSbGJtUnpJRk5sWTNKbGRGQmhlV3h2WVdRZ1BTQlRaV055WlhSUVlYbHNiMkZrUGloY2JpQWdJQ0J1WVcxbFQzSlNaV1k2SUZObFkzSmxkRTVoYldVZ2ZDQlRaV055WlhSU1pXWmxjbVZ1WTJVc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4VVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY2dmU0E5SUNoaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW5KbGRISnBaWFpsWENJc0lIUnlkV1VwS1M1bWIzSW9YRzRnSUNBZ0lDQjBhR2x6TG5KbGRISnBaWFpsWEc0Z0lDQWdLVHRjYmlBZ0lDQmpiMjV6ZENCdVlXMWxVM1J5SUQwZ2RIbHdaVzltSUc1aGJXVlBjbEpsWmlBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUc1aGJXVlBjbEpsWmlBNklHNWhiV1ZQY2xKbFppNXVZVzFsTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCU1pYUnlhV1YyYVc1bklITmxZM0psZENBa2UyNWhiV1ZUZEhKOVlDazdYRzVjYmlBZ0lDQnNaWFFnYm1GdFpUb2djM1J5YVc1bk8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnVZVzFsVDNKU1pXWWdQVDA5SUZ3aWMzUnlhVzVuWENJcElIdGNiaUFnSUNBZ0lHNWhiV1VnUFNCdVlXMWxUM0pTWldZN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzVoYldVZ1BTQnVZVzFsVDNKU1pXWXVibUZ0WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2RtRnNhV1JoZEdWVFpXTnlaWFJPWVcxbEtHNWhiV1VwTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCMGFHbHpMbkJoY25ObFJYSnliM0lvWlhKeWIzSWdZWE1nUlhKeWIzSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUc1dmNtMWhiR2w2WldST1lXMWxJRDBnYm05eWJXRnNhWHBsVTJWamNtVjBUbUZ0WlNodVlXMWxLVHRjYmlBZ0lDQmpiMjV6ZENCMllYVnNkRWxrSUQwZ2RHaHBjeTVqYjI1bWFXY3VkbUYxYkhSSlpEdGNibHh1SUNBZ0lHbG1JQ2doZG1GMWJIUkpaQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpTVZCaGMzTjNiM0prSUhCeWIzWnBaR1Z5SUhKbGNYVnBjbVZ6SUdFZ2RtRjFiSFFnU1VRZ2FXNGdZMjl1Wm1sbmRYSmhkR2x2Ymx3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUd4bGRDQnBkR1Z0U1dRNklITjBjbWx1WnlCOElIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJSFJvYVhNdVkyOXVabWxuTG1sMFpXMUpaRlJsYlhCc1lYUmxJQ1ltWEc0Z0lDQWdJQ0IwYUdsekxtTnZibVpwWnk1cGRHVnRTV1JVWlcxd2JHRjBaUzVwYm1Oc2RXUmxjeWhjSWlSN2JtRnRaWDFjSWlsY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUdsMFpXMUpaQ0E5SUhSb2FYTXVZMjl1Wm1sbkxtbDBaVzFKWkZSbGJYQnNZWFJsTG5KbGNHeGhZMlVvWENJa2UyNWhiV1Y5WENJc0lHNXZjbTFoYkdsNlpXUk9ZVzFsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FYUmxiWE1nUFNCaGQyRnBkQ0IwYUdsekxtZGxkRWwwWlcxelFubFVhWFJzWlNodWIzSnRZV3hwZW1Wa1RtRnRaU3dnZG1GMWJIUkpaQ2s3WEc0Z0lDQWdJQ0JwWmlBb2FYUmxiWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJPYjNSR2IzVnVaRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJR0JUWldOeVpYUWdYQ0lrZTI1dmNtMWhiR2w2WldST1lXMWxmVndpSUc1dmRDQm1iM1Z1WkNCcGJpQjJZWFZzZEdCY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbDBaVzFKWkNBOUlHbDBaVzF6V3pCZExtbGtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnBkR1Z0SUQwZ1lYZGhhWFFnZEdocGN5NW5aWFJTWlhGMVpYTjBLRnh1SUNBZ0lDQWdJQ0JnTDNZeEwzWmhkV3gwY3k4a2UzWmhkV3gwU1dSOUwybDBaVzF6THlSN2FYUmxiVWxrZldCY2JpQWdJQ0FnSUNrN1hHNWNiaUFnSUNBZ0lHeGxkQ0IyWVd4MVpTQTlJRndpWENJN1hHNGdJQ0FnSUNCcFppQW9hWFJsYlM1bWFXVnNaSE1nSmlZZ1FYSnlZWGt1YVhOQmNuSmhlU2hwZEdWdExtWnBaV3hrY3lrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MyVmpjbVYwUm1sbGJHUWdQU0JwZEdWdExtWnBaV3hrY3k1bWFXNWtLRnh1SUNBZ0lDQWdJQ0FnSUNobU9pQmhibmtwSUQwK0lHWXVjSFZ5Y0c5elpTQTlQVDBnWENKd1lYTnpkMjl5WkZ3aUlIeDhJR1l1YkdGaVpXd2dQVDA5SUZ3aWMyVmpjbVYwWENKY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdhV1lnS0hObFkzSmxkRVpwWld4a0lDWW1JSE5sWTNKbGRFWnBaV3hrTG5aaGJIVmxJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJSE5sWTNKbGRFWnBaV3hrTG5aaGJIVmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDZ2hkbUZzZFdVZ0ppWWdhWFJsYlM1a1pYUmhhV3h6SUNZbUlHbDBaVzB1WkdWMFlXbHNjeTVtYVdWc1pITXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdabWxsYkdSeklEMGdRWEp5WVhrdWFYTkJjbkpoZVNocGRHVnRMbVJsZEdGcGJITXVabWxsYkdSektWeHVJQ0FnSUNBZ0lDQWdJRDhnYVhSbGJTNWtaWFJoYVd4ekxtWnBaV3hrYzF4dUlDQWdJQ0FnSUNBZ0lEb2dXMTA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5sWTNKbGRFWnBaV3hrSUQwZ1ptbGxiR1J6TG1acGJtUW9YRzRnSUNBZ0lDQWdJQ0FnS0dZNklHRnVlU2tnUFQ0Z1ppNXdkWEp3YjNObElEMDlQU0JjSW5CaGMzTjNiM0prWENJZ2ZId2daaTVzWVdKbGJDQTlQVDBnWENKelpXTnlaWFJjSWx4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWamNtVjBSbWxsYkdRZ0ppWWdjMlZqY21WMFJtbGxiR1F1ZG1Gc2RXVWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoYkhWbElEMGdjMlZqY21WMFJtbGxiR1F1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tDRjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVMlZqY21WMFJYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ1hDSlRSVU5TUlZSZlRrOVVYMFpQVlU1RVhDSXNYRzRnSUNBZ0lDQWdJQ0FnWUU1dklITmxZM0psZENCMllXeDFaU0JtYjNWdVpDQm1iM0lnYVhSbGJTQmNJaVI3YVhSbGJVbGtmVndpWUZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCd1lYbHNiMkZrT2lCVFpYSnBZV3hwZW1Wa1UyVmpjbVYwVUdGNWJHOWhaQ0E5SUh0Y2JpQWdJQ0FnSUNBZ1pXNWpiMlJwYm1jNklGd2lkWFJtT0Z3aUxGeHVJQ0FnSUNBZ0lDQjJZV3gxWlN4Y2JpQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCa1pYTmxjbWxoYkdsNlpWTmxZM0psZEZCaGVXeHZZV1FvY0dGNWJHOWhaQ2tnWVhNZ1ZEdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dkR2hwY3k1d1lYSnpaVVZ5Y205eUtHVnljbTl5SUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJrWld4bGRHVW9YRzRnSUNBZ2JtRnRaVTl5VW1WbU9pQlRaV055WlhST1lXMWxJSHdnVTJWamNtVjBVbVZtWlhKbGJtTmxMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0prWld4bGRHVmNJaXdnZEhKMVpTa3BMbVp2Y2loMGFHbHpMbVJsYkdWMFpTazdYRzRnSUNBZ1kyOXVjM1FnYm1GdFpWTjBjaUE5SUhSNWNHVnZaaUJ1WVcxbFQzSlNaV1lnUFQwOUlGd2ljM1J5YVc1blhDSWdQeUJ1WVcxbFQzSlNaV1lnT2lCdVlXMWxUM0pTWldZdWJtRnRaVHRjYmlBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnUkdWc1pYUnBibWNnYzJWamNtVjBJQ1I3Ym1GdFpWTjBjbjFnS1R0Y2JseHVJQ0FnSUd4bGRDQnVZVzFsT2lCemRISnBibWM3WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1aGJXVlBjbEpsWmlBOVBUMGdYQ0p6ZEhKcGJtZGNJaWtnZTF4dUlDQWdJQ0FnYm1GdFpTQTlJRzVoYldWUGNsSmxaanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2JtRnRaU0E5SUc1aGJXVlBjbEpsWmk1dVlXMWxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk5sWTNKbGRFNWhiV1VvYm1GdFpTazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJSFJvYVhNdWNHRnljMlZGY25KdmNpaGxjbkp2Y2lCaGN5QkZjbkp2Y2lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdibTl5YldGc2FYcGxaRTVoYldVZ1BTQnViM0p0WVd4cGVtVlRaV055WlhST1lXMWxLRzVoYldVcE8xeHVJQ0FnSUdOdmJuTjBJSFpoZFd4MFNXUWdQU0IwYUdsekxtTnZibVpwWnk1MllYVnNkRWxrTzF4dVhHNGdJQ0FnYVdZZ0tDRjJZWFZzZEVsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSXhVR0Z6YzNkdmNtUWdjSEp2ZG1sa1pYSWdjbVZ4ZFdseVpYTWdZU0IyWVhWc2RDQkpSQ0JwYmlCamIyNW1hV2QxY21GMGFXOXVYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1YwSUdsMFpXMUpaRG9nYzNSeWFXNW5JSHdnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ2RHaHBjeTVqYjI1bWFXY3VhWFJsYlVsa1ZHVnRjR3hoZEdVZ0ppWmNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbWwwWlcxSlpGUmxiWEJzWVhSbExtbHVZMngxWkdWektGd2lKSHR1WVcxbGZWd2lLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdhWFJsYlVsa0lEMGdkR2hwY3k1amIyNW1hV2N1YVhSbGJVbGtWR1Z0Y0d4aGRHVXVjbVZ3YkdGalpTaGNJaVI3Ym1GdFpYMWNJaXdnYm05eWJXRnNhWHBsWkU1aGJXVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwZEdWdGN5QTlJR0YzWVdsMElIUm9hWE11WjJWMFNYUmxiWE5DZVZScGRHeGxLRzV2Y20xaGJHbDZaV1JPWVcxbExDQjJZWFZzZEVsa0tUdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWdGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVhSbGJVbGtJRDBnYVhSbGJYTmJNRjB1YVdRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHRjNZV2wwSUhSb2FYTXVaR1ZzWlhSbFVtVnhkV1Z6ZENoZ0wzWXhMM1poZFd4MGN5OGtlM1poZFd4MFNXUjlMMmwwWlcxekx5UjdhWFJsYlVsa2ZXQXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUIwYUdsekxuQmhjbk5sUlhKeWIzSW9aWEp5YjNJZ1lYTWdSWEp5YjNJcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdWNGFYTjBjeWhjYmlBZ0lDQnVZVzFsVDNKU1pXWTZJRk5sWTNKbGRFNWhiV1VnZkNCVFpXTnlaWFJTWldabGNtVnVZMlVzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhpYjI5c1pXRnVQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNnZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltVjRhWE4wYzF3aUxDQjBjblZsS1NrdVptOXlLSFJvYVhNdVpYaHBjM1J6S1R0Y2JpQWdJQ0JqYjI1emRDQnVZVzFsVTNSeUlEMGdkSGx3Wlc5bUlHNWhiV1ZQY2xKbFppQTlQVDBnWENKemRISnBibWRjSWlBL0lHNWhiV1ZQY2xKbFppQTZJRzVoYldWUGNsSmxaaTV1WVcxbE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkRhR1ZqYTJsdVp5QnBaaUJ6WldOeVpYUWdKSHR1WVcxbFUzUnlmU0JsZUdsemRITmdLVHRjYmx4dUlDQWdJR3hsZENCdVlXMWxPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzVoYldWUGNsSmxaaUE5UFQwZ1hDSnpkSEpwYm1kY0lpa2dlMXh1SUNBZ0lDQWdibUZ0WlNBOUlHNWhiV1ZQY2xKbFpqdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYm1GdFpTQTlJRzVoYldWUGNsSmxaaTV1WVcxbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTmxZM0psZEU1aGJXVW9ibUZ0WlNrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSnZjaUJoY3lCRmNuSnZjaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpFNWhiV1VnUFNCdWIzSnRZV3hwZW1WVFpXTnlaWFJPWVcxbEtHNWhiV1VwTzF4dUlDQWdJR052Ym5OMElIWmhkV3gwU1dRZ1BTQjBhR2x6TG1OdmJtWnBaeTUyWVhWc2RFbGtPMXh1WEc0Z0lDQWdhV1lnS0NGMllYVnNkRWxrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENJeFVHRnpjM2R2Y21RZ2NISnZkbWxrWlhJZ2NtVnhkV2x5WlhNZ1lTQjJZWFZzZENCSlJDQnBiaUJqYjI1bWFXZDFjbUYwYVc5dVhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2wwWlcxSlpEb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdhV1lnS0Z4dUlDQWdJQ0FnZEdocGN5NWpiMjVtYVdjdWFYUmxiVWxrVkdWdGNHeGhkR1VnSmlaY2JpQWdJQ0FnSUhSb2FYTXVZMjl1Wm1sbkxtbDBaVzFKWkZSbGJYQnNZWFJsTG1sdVkyeDFaR1Z6S0Z3aUpIdHVZVzFsZlZ3aUtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2FYUmxiVWxrSUQwZ2RHaHBjeTVqYjI1bWFXY3VhWFJsYlVsa1ZHVnRjR3hoZEdVdWNtVndiR0ZqWlNoY0lpUjdibUZ0WlgxY0lpd2dibTl5YldGc2FYcGxaRTVoYldVcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnBkR1Z0Y3lBOUlHRjNZV2wwSUhSb2FYTXVaMlYwU1hSbGJYTkNlVlJwZEd4bEtHNXZjbTFoYkdsNlpXUk9ZVzFsTENCMllYVnNkRWxrS1R0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z0Y3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FYUmxiVWxrSUQwZ2FYUmxiWE5iTUYwdWFXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR0YzWVdsMElIUm9hWE11WjJWMFVtVnhkV1Z6ZENoZ0wzWXhMM1poZFd4MGN5OGtlM1poZFd4MFNXUjlMMmwwWlcxekx5UjdhWFJsYlVsa2ZXQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdWeWNpQTlJR1Z5Y205eUlHRnpJRVZ5Y205eU8xeHVJQ0FnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdJQ0JsY25JdWJXVnpjMkZuWlM1MGIweHZkMlZ5UTJGelpTZ3BMbWx1WTJ4MVpHVnpLRndpYm05MElHWnZkVzVrWENJcElIeDhYRzRnSUNBZ0lDQWdJR1Z5Y2k1dFpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aU5EQTBYQ0lwWEc0Z0lDQWdJQ0FwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkR2h5YjNjZ2RHaHBjeTV3WVhKelpVVnljbTl5S0dWeWNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2JHbHpkQ2d1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBpazZJRkJ5YjIxcGMyVThVMlZqY21WMFRXVjBZV1JoZEdGYlhUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2JHOW5JSDBnUFNBb1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKc2FYTjBYQ0lzSUhSeWRXVXBLUzVtYjNJb2RHaHBjeTVzYVhOMEtUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGNJa3hwYzNScGJtY2djMlZqY21WMGMxd2lLVHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFE2SUZObFkzSmxkRTFsZEdGa1lYUmhXMTBnUFNCYlhUdGNiaUFnSUNCamIyNXpkQ0IyWVhWc2RFbGtJRDBnZEdocGN5NWpiMjVtYVdjdWRtRjFiSFJKWkR0Y2JseHVJQ0FnSUdsbUlDZ2hkbUYxYkhSSlpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVhSbGJYTWdQU0JoZDJGcGRDQjBhR2x6TG1kbGRGSmxjWFZsYzNRb1lDOTJNUzkyWVhWc2RITXZKSHQyWVhWc2RFbGtmUzlwZEdWdGMyQXBPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdsMFpXMGdiMllnUVhKeVlYa3VhWE5CY25KaGVTaHBkR1Z0Y3lrZ1B5QnBkR1Z0Y3lBNklGdHBkR1Z0YzEwcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dsMFpXMHVhV1FnSmlZZ2FYUmxiUzUwYVhSc1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCeWIzWnBaR1Z5T2lCMGFHbHpMbkJ5YjNacFpHVnlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JtRnRaVG9nYVhSbGJTNTBhWFJzWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpsY25OcGIyNDZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnlaV0YwWldSQmREb2dhWFJsYlM1amNtVmhkR1ZrUVhRZ1B5QnVaWGNnUkdGMFpTaHBkR1Z0TG1OeVpXRjBaV1JCZENrZ09pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCMWNHUmhkR1ZrUVhRNklHbDBaVzB1ZFhCa1lYUmxaRUYwSUQ4Z2JtVjNJRVJoZEdVb2FYUmxiUzUxY0dSaGRHVmtRWFFwSURvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnWlc1aFlteGxaRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRHVnlibUZzU1dRNklHbDBaVzB1YVdRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwWVdkek9pQnBkR1Z0TG1OaGRHVm5iM0o1SUQ4Z2V5QmpZWFJsWjI5eWVUb2dhWFJsYlM1allYUmxaMjl5ZVNCOUlEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSnZjaUJoY3lCRmNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWVhONWJtTWdiV1YwWVdSaGRHRW9YRzRnSUNBZ2JtRnRaVTl5VW1WbU9pQlRaV055WlhST1lXMWxJSHdnVTJWamNtVjBVbVZtWlhKbGJtTmxMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThVMlZqY21WMFRXVjBZV1JoZEdFZ2ZDQjFibVJsWm1sdVpXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWJXVjBZV1JoZEdGY0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdWJXVjBZV1JoZEdGY2JpQWdJQ0FwTzF4dUlDQWdJR052Ym5OMElHNWhiV1ZUZEhJZ1BTQjBlWEJsYjJZZ2JtRnRaVTl5VW1WbUlEMDlQU0JjSW5OMGNtbHVaMXdpSUQ4Z2JtRnRaVTl5VW1WbUlEb2dibUZ0WlU5eVVtVm1MbTVoYldVN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lFZGxkSFJwYm1jZ2JXVjBZV1JoZEdFZ1ptOXlJSE5sWTNKbGRDQWtlMjVoYldWVGRISjlZQ2s3WEc1Y2JpQWdJQ0JzWlhRZ2JtRnRaVG9nYzNSeWFXNW5PMXh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1WVcxbFQzSlNaV1lnUFQwOUlGd2ljM1J5YVc1blhDSXBJSHRjYmlBZ0lDQWdJRzVoYldVZ1BTQnVZVzFsVDNKU1pXWTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUc1aGJXVWdQU0J1WVcxbFQzSlNaV1l1Ym1GdFpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdkbUZzYVdSaGRHVlRaV055WlhST1lXMWxLRzVoYldVcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QjBhR2x6TG5CaGNuTmxSWEp5YjNJb1pYSnliM0lnWVhNZ1JYSnliM0lwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHNXZjbTFoYkdsNlpXUk9ZVzFsSUQwZ2JtOXliV0ZzYVhwbFUyVmpjbVYwVG1GdFpTaHVZVzFsS1R0Y2JpQWdJQ0JqYjI1emRDQjJZWFZzZEVsa0lEMGdkR2hwY3k1amIyNW1hV2N1ZG1GMWJIUkpaRHRjYmx4dUlDQWdJR2xtSUNnaGRtRjFiSFJKWkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUZ3aU1WQmhjM04zYjNKa0lIQnliM1pwWkdWeUlISmxjWFZwY21WeklHRWdkbUYxYkhRZ1NVUWdhVzRnWTI5dVptbG5kWEpoZEdsdmJsd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHeGxkQ0JwZEdWdFNXUTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUhSb2FYTXVZMjl1Wm1sbkxtbDBaVzFKWkZSbGJYQnNZWFJsSUNZbVhHNGdJQ0FnSUNCMGFHbHpMbU52Ym1acFp5NXBkR1Z0U1dSVVpXMXdiR0YwWlM1cGJtTnNkV1JsY3loY0lpUjdibUZ0WlgxY0lpbGNiaUFnSUNBcElIdGNiaUFnSUNBZ0lHbDBaVzFKWkNBOUlIUm9hWE11WTI5dVptbG5MbWwwWlcxSlpGUmxiWEJzWVhSbExuSmxjR3hoWTJVb1hDSWtlMjVoYldWOVhDSXNJRzV2Y20xaGJHbDZaV1JPWVcxbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhWFJsYlhNZ1BTQmhkMkZwZENCMGFHbHpMbWRsZEVsMFpXMXpRbmxVYVhSc1pTaHViM0p0WVd4cGVtVmtUbUZ0WlN3Z2RtRjFiSFJKWkNrN1hHNGdJQ0FnSUNCcFppQW9hWFJsYlhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwZEdWdFNXUWdQU0JwZEdWdGMxc3dYUzVwWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVhSbGJTQTlJR0YzWVdsMElIUm9hWE11WjJWMFVtVnhkV1Z6ZENoY2JpQWdJQ0FnSUNBZ1lDOTJNUzkyWVhWc2RITXZKSHQyWVhWc2RFbGtmUzlwZEdWdGN5OGtlMmwwWlcxSlpIMWdYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWFJoT2lCVFpXTnlaWFJOWlhSaFpHRjBZU0E5SUh0Y2JpQWdJQ0FnSUNBZ2NISnZkbWxrWlhJNklIUm9hWE11Y0hKdmRtbGtaWElzWEc0Z0lDQWdJQ0FnSUc1aGJXVTZJR2wwWlcwdWRHbDBiR1VnZkh3Z2JtOXliV0ZzYVhwbFpFNWhiV1VzWEc0Z0lDQWdJQ0FnSUhabGNuTnBiMjQ2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsWkVGME9pQnBkR1Z0TG1OeVpXRjBaV1JCZENBL0lHNWxkeUJFWVhSbEtHbDBaVzB1WTNKbFlYUmxaRUYwS1NBNklIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lDQWdkWEJrWVhSbFpFRjBPaUJwZEdWdExuVndaR0YwWldSQmRDQS9JRzVsZHlCRVlYUmxLR2wwWlcwdWRYQmtZWFJsWkVGMEtTQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQ0FnWlc1aFlteGxaRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdaWGgwWlhKdVlXeEpaRG9nYVhSbGJTNXBaQ3hjYmlBZ0lDQWdJQ0FnZEdGbmN6b2dhWFJsYlM1allYUmxaMjl5ZVNBL0lIc2dZMkYwWldkdmNuazZJR2wwWlcwdVkyRjBaV2R2Y25rZ2ZTQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0WlhSaE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmxjbklnUFNCbGNuSnZjaUJoY3lCRmNuSnZjanRjYmlBZ0lDQWdJR2xtSUNoY2JpQWdJQ0FnSUNBZ1pYSnlMbTFsYzNOaFoyVXVkRzlNYjNkbGNrTmhjMlVvS1M1cGJtTnNkV1JsY3loY0ltNXZkQ0JtYjNWdVpGd2lLU0I4ZkZ4dUlDQWdJQ0FnSUNCbGNuSXViV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJalF3TkZ3aUtWeHVJQ0FnSUNBZ0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjBhSEp2ZHlCMGFHbHpMbkJoY25ObFJYSnliM0lvWlhKeUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdjR0Z5YzJWRmNuSnZjaWhsY25KdmNqb2dkVzVyYm05M2JpazZJRk5sWTNKbGRFVnljbTl5SUh0Y2JpQWdJQ0JqYjI1emRDQmxjbklnUFNCbGNuSnZjaUJoY3lCRmNuSnZjanRjYmlBZ0lDQmpiMjV6ZENCdFpYTnpZV2RsSUQwZ1pYSnlMbTFsYzNOaFoyVWdmSHdnWlhKeUxtNWhiV1VnZkh3Z1hDSlZibXR1YjNkdUlHVnljbTl5WENJN1hHNGdJQ0FnWTI5dWMzUWdiRzkzWlhKTlpYTnpZV2RsSUQwZ2JXVnpjMkZuWlM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJbTV2ZENCbWIzVnVaRndpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENJME1EUmNJaWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1UyVmpjbVYwUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpVTBWRFVrVlVYMDVQVkY5R1QxVk9SRndpTEZ4dUlDQWdJQ0FnSUNCZ1UyVmpjbVYwSUc1dmRDQm1iM1Z1WkRvZ0pIdHRaWE56WVdkbGZXQXNYRzRnSUNBZ0lDQWdJR1Z5Y2x4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1hHNGdJQ0FnSUNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0poYkhKbFlXUjVJR1Y0YVhOMGMxd2lLU0I4ZkZ4dUlDQWdJQ0FnYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2lZMjl1Wm14cFkzUmNJaWtnZkh4Y2JpQWdJQ0FnSUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJalF3T1Z3aUtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlRaV055WlhSRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKVFJVTlNSVlJmUVV4U1JVRkVXVjlGV0VsVFZGTmNJaXhjYmlBZ0lDQWdJQ0FnWUZObFkzSmxkQ0JoYkhKbFlXUjVJR1Y0YVhOMGN6b2dKSHR0WlhOellXZGxmV0FzWEc0Z0lDQWdJQ0FnSUdWeWNseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWRXNWhkWFJvYjNKcGVtVmtYQ0lwSUh4OElHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSWpRd01Wd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCVFpXTnlaWFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdYQ0pUUlVOU1JWUmZVRkpQVmtsRVJWSmZRVlZVU0Y5R1FVbE1SVVJjSWl4Y2JpQWdJQ0FnSUNBZ1lFRjFkR2hsYm5ScFkyRjBhVzl1SUdaaGFXeGxaRG9nSkh0dFpYTnpZV2RsZldBc1hHNGdJQ0FnSUNBZ0lHVnljbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2ljR1Z5YldsemMybHZibHdpS1NCOGZDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENJME1ETmNJaWtwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1UyVmpjbVYwUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpVTBWRFVrVlVYMUJTVDFaSlJFVlNYMUJGVWsxSlUxTkpUMDVmUkVWT1NVVkVYQ0lzWEc0Z0lDQWdJQ0FnSUdCUVpYSnRhWE56YVc5dUlHUmxibWxsWkRvZ0pIdHRaWE56WVdkbGZXQXNYRzRnSUNBZ0lDQWdJR1Z5Y2x4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpY21GMFpTQnNhVzFwZEZ3aUtTQjhmQ0JzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNamxjSWlrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVMlZqY21WMFJYSnliM0lvWEc0Z0lDQWdJQ0FnSUZ3aVUwVkRVa1ZVWDFCU1QxWkpSRVZTWDFKQlZFVmZURWxOU1ZSRlJGd2lMRnh1SUNBZ0lDQWdJQ0JnVW1GMFpTQnNhVzFwZEdWa09pQWtlMjFsYzNOaFoyVjlZQ3hjYmlBZ0lDQWdJQ0FnWlhKeVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW5CeWIzWnBaR1Z5WENJcElIeDhYRzRnSUNBZ0lDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKMWJtRjJZV2xzWVdKc1pWd2lLU0I4ZkZ4dUlDQWdJQ0FnYkc5M1pYSk5aWE56WVdkbExtbHVZMngxWkdWektGd2lZMjl1Ym1WamRHbHZibHdpS1NCOGZGeHVJQ0FnSUNBZ2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpZEdsdFpXOTFkRndpS1Z4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCVFpXTnlaWFJGY25KdmNpaGNiaUFnSUNBZ0lDQWdYQ0pUUlVOU1JWUmZVRkpQVmtsRVJWSmZWVTVCVmtGSlRFRkNURVZjSWl4Y2JpQWdJQ0FnSUNBZ1lGQnliM1pwWkdWeUlIVnVZWFpoYVd4aFlteGxPaUFrZTIxbGMzTmhaMlY5WUN4Y2JpQWdJQ0FnSUNBZ1pYSnlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dVMlZqY21WMFJYSnliM0lvWEc0Z0lDQWdJQ0JjSWxORlExSkZWRjlRVWs5V1NVUkZVbDlEVDA1R1RFbERWRndpTEZ4dUlDQWdJQ0FnWUZCeWIzWnBaR1Z5SUdWeWNtOXlPaUFrZTIxbGMzTmhaMlY5WUN4Y2JpQWdJQ0FnSUdWeWNseHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUdkbGRGSmxjWFZsYzNRb2NHRjBhRG9nYzNSeWFXNW5LVG9nVUhKdmJXbHpaVHhoYm5rK0lIdGNiaUFnSUNCamIyNXpkQ0IxY213Z1BTQmdKSHQwYUdsekxtTnZibVpwWnk1amIyNXVaV04wU0c5emRIMGtlM0JoZEdoOVlEdGNiaUFnSUNCamIyNXpkQ0JvWldGa1pYSnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQnpkSEpwYm1jK0lEMGdlMXh1SUNBZ0lDQWdYQ0pEYjI1MFpXNTBMVlI1Y0dWY0lqb2dYQ0poY0hCc2FXTmhkR2x2Ymk5cWMyOXVYQ0lzWEc0Z0lDQWdmVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWpiMjVtYVdjdVkyOXVibVZqZEZSdmEyVnVLU0I3WEc0Z0lDQWdJQ0JvWldGa1pYSnpXMXdpUVhWMGFHOXlhWHBoZEdsdmJsd2lYU0E5SUdCQ1pXRnlaWElnSkh0MGFHbHpMbU52Ym1acFp5NWpiMjV1WldOMFZHOXJaVzU5WUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElHWmxkR05vS0hWeWJDd2dlMXh1SUNBZ0lDQWdiV1YwYUc5a09pQmNJa2RGVkZ3aUxGeHVJQ0FnSUNBZ2FHVmhaR1Z5Y3l4Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdsbUlDZ2hjbVZ6Y0c5dWMyVXViMnNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1Z5Y205eVFtOWtlU0E5SUdGM1lXbDBJSEpsYzNCdmJuTmxMblJsZUhRb0tTNWpZWFJqYUNnb0tTQTlQaUJjSWx3aUtUdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ01WQmhjM04zYjNKa0lFRlFTU0JsY25KdmNpQW9KSHR5WlhOd2IyNXpaUzV6ZEdGMGRYTjlLVG9nSkh0bGNuSnZja0p2WkhrZ2ZId2djbVZ6Y0c5dWMyVXVjM1JoZEhWelZHVjRkSDFnWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpTNXFjMjl1S0NrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUhCdmMzUlNaWEYxWlhOMEtIQmhkR2c2SUhOMGNtbHVaeXdnWW05a2VUb2dZVzU1S1RvZ1VISnZiV2x6WlR4aGJuaytJSHRjYmlBZ0lDQmpiMjV6ZENCMWNtd2dQU0JnSkh0MGFHbHpMbU52Ym1acFp5NWpiMjV1WldOMFNHOXpkSDBrZTNCaGRHaDlZRHRjYmlBZ0lDQmpiMjV6ZENCb1pXRmtaWEp6T2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0J6ZEhKcGJtYytJRDBnZTF4dUlDQWdJQ0FnWENKRGIyNTBaVzUwTFZSNWNHVmNJam9nWENKaGNIQnNhV05oZEdsdmJpOXFjMjl1WENJc1hHNGdJQ0FnZlR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVqYjI1bWFXY3VZMjl1Ym1WamRGUnZhMlZ1S1NCN1hHNGdJQ0FnSUNCb1pXRmtaWEp6VzF3aVFYVjBhRzl5YVhwaGRHbHZibHdpWFNBOUlHQkNaV0Z5WlhJZ0pIdDBhR2x6TG1OdmJtWnBaeTVqYjI1dVpXTjBWRzlyWlc1OVlEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJR1psZEdOb0tIVnliQ3dnZTF4dUlDQWdJQ0FnYldWMGFHOWtPaUJjSWxCUFUxUmNJaXhjYmlBZ0lDQWdJR2hsWVdSbGNuTXNYRzRnSUNBZ0lDQmliMlI1T2lCS1UwOU9Mbk4wY21sdVoybG1lU2hpYjJSNUtTeGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lHbG1JQ2doY21WemNHOXVjMlV1YjJzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdWeWNtOXlRbTlrZVNBOUlHRjNZV2wwSUhKbGMzQnZibk5sTG5SbGVIUW9LUzVqWVhSamFDZ29LU0E5UGlCY0lsd2lLVHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdNVkJoYzNOM2IzSmtJRUZRU1NCbGNuSnZjaUFvSkh0eVpYTndiMjV6WlM1emRHRjBkWE45S1RvZ0pIdGxjbkp2Y2tKdlpIa2dmSHdnY21WemNHOXVjMlV1YzNSaGRIVnpWR1Y0ZEgxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhOd2IyNXpaUzVxYzI5dUtDazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklHUmxiR1YwWlZKbGNYVmxjM1FvY0dGMGFEb2djM1J5YVc1bktUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdkWEpzSUQwZ1lDUjdkR2hwY3k1amIyNW1hV2N1WTI5dWJtVmpkRWh2YzNSOUpIdHdZWFJvZldBN1hHNGdJQ0FnWTI5dWMzUWdhR1ZoWkdWeWN6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGlBOUlIdGNiaUFnSUNBZ0lGd2lRMjl1ZEdWdWRDMVVlWEJsWENJNklGd2lZWEJ3YkdsallYUnBiMjR2YW5OdmJsd2lMRnh1SUNBZ0lIMDdYRzRnSUNBZ2FXWWdLSFJvYVhNdVkyOXVabWxuTG1OdmJtNWxZM1JVYjJ0bGJpa2dlMXh1SUNBZ0lDQWdhR1ZoWkdWeWMxdGNJa0YxZEdodmNtbDZZWFJwYjI1Y0lsMGdQU0JnUW1WaGNtVnlJQ1I3ZEdocGN5NWpiMjVtYVdjdVkyOXVibVZqZEZSdmEyVnVmV0E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2NtVnpjRzl1YzJVZ1BTQmhkMkZwZENCbVpYUmphQ2gxY213c0lIdGNiaUFnSUNBZ0lHMWxkR2h2WkRvZ1hDSkVSVXhGVkVWY0lpeGNiaUFnSUNBZ0lHaGxZV1JsY25Nc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCcFppQW9JWEpsYzNCdmJuTmxMbTlyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JsY25KdmNrSnZaSGtnUFNCaGQyRnBkQ0J5WlhOd2IyNXpaUzUwWlhoMEtDa3VZMkYwWTJnb0tDa2dQVDRnWENKY0lpazdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lERlFZWE56ZDI5eVpDQkJVRWtnWlhKeWIzSWdLQ1I3Y21WemNHOXVjMlV1YzNSaGRIVnpmU2s2SUNSN1pYSnliM0pDYjJSNUlIeDhJSEpsYzNCdmJuTmxMbk4wWVhSMWMxUmxlSFI5WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJR2RsZEVsMFpXMXpRbmxVYVhSc1pTaGNiaUFnSUNCMGFYUnNaVG9nYzNSeWFXNW5MRnh1SUNBZ0lIWmhkV3gwU1dRNklITjBjbWx1WjF4dUlDQXBPaUJRY205dGFYTmxQR0Z1ZVZ0ZFBpQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR052Ym5OMElHRnNiRWwwWlcxeklEMGdZWGRoYVhRZ2RHaHBjeTVuWlhSU1pYRjFaWE4wS0dBdmRqRXZkbUYxYkhSekx5UjdkbUYxYkhSSlpIMHZhWFJsYlhOZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdsMFpXMXpJRDBnUVhKeVlYa3VhWE5CY25KaGVTaGhiR3hKZEdWdGN5a2dQeUJoYkd4SmRHVnRjeUE2SUZ0aGJHeEpkR1Z0YzEwN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYVhSbGJYTXVabWxzZEdWeUtDaHBkR1Z0S1NBOVBpQnBkR1Z0TG5ScGRHeGxJRDA5UFNCMGFYUnNaU2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUhSb2FYTXVjR0Z5YzJWRmNuSnZjaWhsY25KdmNpQmhjeUJGY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
4
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlY3JldHMvb25lcGFzc3dvcmQvT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvb25lcGFzc3dvcmQvY29uZmlnXG4gKiBAc3VtbWFyeSAxUGFzc3dvcmQgc2VjcmV0IHNlcnZpY2UgY29uZmlndXJhdGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmF0aW9uIHNjaGVtYSBmb3IgdGhlIDFQYXNzd29yZCBDb25uZWN0IGludGVncmF0aW9uLlxuICovXG5pbXBvcnQgeyBTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uZVBhc3N3b3JkU2VjcmV0U2VydmljZUNvbmZpZyBleHRlbmRzIFNlY3JldFNlcnZpY2VDb25maWcge1xuICBwcm92aWRlcjogXCIxcGFzc3dvcmRcIjtcbiAgY29ubmVjdEhvc3Q6IHN0cmluZztcbiAgY29ubmVjdFRva2VuPzogc3RyaW5nO1xuICB2YXVsdElkPzogc3RyaW5nO1xuICBpdGVtSWRUZW1wbGF0ZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsODZCQUE4NkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lUMjVsVUdGemMzZHZjbVJUWldOeVpYUlRaWEoyYVdObFEyOXVabWxuTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwzTmxZM0psZEhNdmIyNWxjR0Z6YzNkdmNtUXZUMjVsVUdGemMzZHZjbVJUWldOeVpYUlRaWEoyYVdObFEyOXVabWxuTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMM05sWTNKbGRITXZiMjVsY0dGemMzZHZjbVF2WTI5dVptbG5YRzRnS2lCQWMzVnRiV0Z5ZVNBeFVHRnpjM2R2Y21RZ2MyVmpjbVYwSUhObGNuWnBZMlVnWTI5dVptbG5kWEpoZEdsdmJpNWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkRiMjVtYVdkMWNtRjBhVzl1SUhOamFHVnRZU0JtYjNJZ2RHaGxJREZRWVhOemQyOXlaQ0JEYjI1dVpXTjBJR2x1ZEdWbmNtRjBhVzl1TGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJUWldOeVpYUlRaWEoyYVdObFEyOXVabWxuSUgwZ1puSnZiU0JjSWk0dUx5NHVMM05sWTNKbGRITXZZMjl5WlZ3aU8xeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTl1WlZCaGMzTjNiM0prVTJWamNtVjBVMlZ5ZG1salpVTnZibVpwWnlCbGVIUmxibVJ6SUZObFkzSmxkRk5sY25acFkyVkRiMjVtYVdjZ2UxeHVJQ0J3Y205MmFXUmxjam9nWENJeGNHRnpjM2R2Y21SY0lqdGNiaUFnWTI5dWJtVmpkRWh2YzNRNklITjBjbWx1Wnp0Y2JpQWdZMjl1Ym1WamRGUnZhMlZ1UHpvZ2MzUnlhVzVuTzF4dUlDQjJZWFZzZEVsa1B6b2djM1J5YVc1bk8xeHVJQ0JwZEdWdFNXUlVaVzF3YkdGMFpUODZJSE4wY21sdVp6dGNibjFjYmlKZGZRPT0iXX0=
|
|
@@ -22,5 +22,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
__exportStar(require("./OnePasswordSecretService.cjs"), exports);
|
|
23
23
|
__exportStar(require("./OnePasswordSecretServiceConfig.cjs"), exports);
|
|
24
24
|
__exportStar(require("./OnePasswordSecretEnvironment.cjs"), exports);
|
|
25
|
-
//# sourceMappingURL=
|
|
26
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VjcmV0cy9vbmVwYXNzd29yZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsOENBQTJDO0FBQzNDLG9EQUFpRDtBQUNqRCxrREFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvb25lcGFzc3dvcmRcbiAqIEBzdW1tYXJ5IDFQYXNzd29yZCBzZWNyZXQgc2VydmljZSBleHBvcnRzLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIDFQYXNzd29yZCBzZWNyZXQgc2VydmljZSBhbmQgaXRzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL09uZVBhc3N3b3JkU2VjcmV0U2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9PbmVQYXNzd29yZFNlY3JldEVudmlyb25tZW50XCI7XG4iXX0=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILGdFQUE4QztBQUM5QyxzRUFBb0Q7QUFDcEQsb0VBQWtEO0FBQ2xELDh2QkFBOHZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9zZWNyZXRzL29uZXBhc3N3b3JkXG4gKiBAc3VtbWFyeSAxUGFzc3dvcmQgc2VjcmV0IHNlcnZpY2UgZXhwb3J0cy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSAxUGFzc3dvcmQgc2VjcmV0IHNlcnZpY2UgYW5kIGl0cyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9PbmVQYXNzd29yZFNlY3JldFNlcnZpY2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09uZVBhc3N3b3JkU2VjcmV0U2VydmljZUNvbmZpZy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vT25lUGFzc3dvcmRTZWNyZXRFbnZpcm9ubWVudC5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12YzJWamNtVjBjeTl2Ym1Wd1lYTnpkMjl5WkM5cGJtUmxlQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenRIUVVsSE8wRkJRMGdzT0VOQlFUSkRPMEZCUXpORExHOUVRVUZwUkR0QlFVTnFSQ3hyUkVGQkswTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDNObFkzSmxkSE12YjI1bGNHRnpjM2R2Y21SY2JpQXFJRUJ6ZFcxdFlYSjVJREZRWVhOemQyOXlaQ0J6WldOeVpYUWdjMlZ5ZG1salpTQmxlSEJ2Y25SekxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGSmxMV1Y0Y0c5eWRITWdkR2hsSURGUVlYTnpkMjl5WkNCelpXTnlaWFFnYzJWeWRtbGpaU0JoYm1RZ2FYUnpJR052Ym1acFozVnlZWFJwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDA5dVpWQmhjM04zYjNKa1UyVmpjbVYwVTJWeWRtbGpaVndpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlQyNWxVR0Z6YzNkdmNtUlRaV055WlhSVFpYSjJhV05sUTI5dVptbG5YQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5UGJtVlFZWE56ZDI5eVpGTmxZM0psZEVWdWRtbHliMjV0Wlc1MFhDSTdYRzRpWFgwPSJdfQ==
|
|
@@ -20,5 +20,5 @@ exports.VaultSecretEnvironment = SecretEnvironment_js_1.SecretEnvironment.accumu
|
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmF1bHRTZWNyZXRFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWNyZXRzL3ZhdWx0L1ZhdWx0U2VjcmV0RW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVDQUFrQztBQWdCOUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ2pFLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRTtZQUNMLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLFNBQVMsRUFBRSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEVBQUU7U0FDVjtLQUNGO0NBQzZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvc2VjcmV0cy92YXVsdC9lbnZpcm9ubWVudFxuICogQHN1bW1hcnkgSGFzaGlDb3JwIFZhdWx0IHNlY3JldCBlbnZpcm9ubWVudC5cbiAqIEBkZXNjcmlwdGlvbiBFeHRlbmRzIHRoZSBjb21tb24gc2VjcmV0cyBlbnZpcm9ubWVudCB3aXRoIHRoZSBgc2VjcmV0cy52YXVsdGAgc2hhcGVcbiAqIG1hdGNoaW5nIHtAbGluayBWYXVsdFNlY3JldFNlcnZpY2VDb25maWd9LCBzbyB7QGxpbmsgVmF1bHRTZWNyZXRTZXJ2aWNlfSBjYW4gZmFsbFxuICogYmFjayB0byBpdCB3aGVuIG5vIGNvbmZpZyBpcyBwYXNzZWQgdG8gYGluaXRpYWxpemVgLlxuICovXG5pbXBvcnQgeyBTZWNyZXRFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9jb3JlL1NlY3JldEVudmlyb25tZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmF1bHRTZWNyZXRFbnZpcm9ubWVudENvbmZpZyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIGtleUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhdWx0U2VjcmV0RW52aXJvbm1lbnRTaGFwZSB7XG4gIHNlY3JldHM6IHtcbiAgICB2YXVsdDogVmF1bHRTZWNyZXRFbnZpcm9ubWVudENvbmZpZztcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFZhdWx0U2VjcmV0RW52aXJvbm1lbnQgPSBTZWNyZXRFbnZpcm9ubWVudC5hY2N1bXVsYXRlKHtcbiAgc2VjcmV0czoge1xuICAgIHZhdWx0OiB7XG4gICAgICBhZGRyZXNzOiBcIlwiLFxuICAgICAgdG9rZW46IFwiXCIsXG4gICAgICBwYXRoOiBcIlwiLFxuICAgICAgbmFtZXNwYWNlOiBcIlwiLFxuICAgICAga2V5SWQ6IFwiXCIsXG4gICAgfSxcbiAgfSxcbn0gYXMgVmF1bHRTZWNyZXRFbnZpcm9ubWVudFNoYXBlKTtcbiJdfQ==
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmF1bHRTZWNyZXRFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlZhdWx0U2VjcmV0RW52aXJvbm1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gseUVBQW1FO0FBQ3RELFFBQUEsc0JBQXNCLEdBQUcsd0NBQWlCLENBQUMsVUFBVSxDQUFDO0lBQy9ELE9BQU8sRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNILE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLFNBQVMsRUFBRSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEVBQUU7U0FDWjtLQUNKO0NBQ0osQ0FBQyxDQUFDO0FBQ0gsczFEQUFzMUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvdmF1bHQvZW52aXJvbm1lbnRcbiAqIEBzdW1tYXJ5IEhhc2hpQ29ycCBWYXVsdCBzZWNyZXQgZW52aXJvbm1lbnQuXG4gKiBAZGVzY3JpcHRpb24gRXh0ZW5kcyB0aGUgY29tbW9uIHNlY3JldHMgZW52aXJvbm1lbnQgd2l0aCB0aGUgYHNlY3JldHMudmF1bHRgIHNoYXBlXG4gKiBtYXRjaGluZyB7QGxpbmsgVmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnfSwgc28ge0BsaW5rIFZhdWx0U2VjcmV0U2VydmljZX0gY2FuIGZhbGxcbiAqIGJhY2sgdG8gaXQgd2hlbiBubyBjb25maWcgaXMgcGFzc2VkIHRvIGBpbml0aWFsaXplYC5cbiAqL1xuaW1wb3J0IHsgU2VjcmV0RW52aXJvbm1lbnQgfSBmcm9tIFwiLi8uLi9jb3JlL1NlY3JldEVudmlyb25tZW50LmpzXCI7XG5leHBvcnQgY29uc3QgVmF1bHRTZWNyZXRFbnZpcm9ubWVudCA9IFNlY3JldEVudmlyb25tZW50LmFjY3VtdWxhdGUoe1xuICAgIHNlY3JldHM6IHtcbiAgICAgICAgdmF1bHQ6IHtcbiAgICAgICAgICAgIGFkZHJlc3M6IFwiXCIsXG4gICAgICAgICAgICB0b2tlbjogXCJcIixcbiAgICAgICAgICAgIHBhdGg6IFwiXCIsXG4gICAgICAgICAgICBuYW1lc3BhY2U6IFwiXCIsXG4gICAgICAgICAgICBrZXlJZDogXCJcIixcbiAgICAgICAgfSxcbiAgICB9LFxufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lWbUYxYkhSVFpXTnlaWFJGYm5acGNtOXViV1Z1ZEM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXpaV055WlhSekwzWmhkV3gwTDFaaGRXeDBVMlZqY21WMFJXNTJhWEp2Ym0xbGJuUXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenRIUVUxSE8wRkJRMGdzVDBGQlR5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxIVkRRVUZyUXp0QlFXZENPVVFzVFVGQlRTeERRVUZETEUxQlFVMHNjMEpCUVhOQ0xFZEJRVWNzYVVKQlFXbENMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wbEJRMnBGTEU5QlFVOHNSVUZCUlR0UlFVTlFMRXRCUVVzc1JVRkJSVHRaUVVOTUxFOUJRVThzUlVGQlJTeEZRVUZGTzFsQlExZ3NTMEZCU3l4RlFVRkZMRVZCUVVVN1dVRkRWQ3hKUVVGSkxFVkJRVVVzUlVGQlJUdFpRVU5TTEZOQlFWTXNSVUZCUlN4RlFVRkZPMWxCUTJJc1MwRkJTeXhGUVVGRkxFVkJRVVU3VTBGRFZqdExRVU5HTzBOQlF6WkNMRU5CUVVNc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdmMyVmpjbVYwY3k5MllYVnNkQzlsYm5acGNtOXViV1Z1ZEZ4dUlDb2dRSE4xYlcxaGNua2dTR0Z6YUdsRGIzSndJRlpoZFd4MElITmxZM0psZENCbGJuWnBjbTl1YldWdWRDNWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkZlSFJsYm1SeklIUm9aU0JqYjIxdGIyNGdjMlZqY21WMGN5QmxiblpwY205dWJXVnVkQ0IzYVhSb0lIUm9aU0JnYzJWamNtVjBjeTUyWVhWc2RHQWdjMmhoY0dWY2JpQXFJRzFoZEdOb2FXNW5JSHRBYkdsdWF5QldZWFZzZEZObFkzSmxkRk5sY25acFkyVkRiMjVtYVdkOUxDQnpieUI3UUd4cGJtc2dWbUYxYkhSVFpXTnlaWFJUWlhKMmFXTmxmU0JqWVc0Z1ptRnNiRnh1SUNvZ1ltRmpheUIwYnlCcGRDQjNhR1Z1SUc1dklHTnZibVpwWnlCcGN5QndZWE56WldRZ2RHOGdZR2x1YVhScFlXeHBlbVZnTGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJUWldOeVpYUkZiblpwY205dWJXVnVkQ0I5SUdaeWIyMGdYQ0l1TGk5amIzSmxMMU5sWTNKbGRFVnVkbWx5YjI1dFpXNTBYQ0k3WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1ZtRjFiSFJUWldOeVpYUkZiblpwY205dWJXVnVkRU52Ym1acFp5QjdYRzRnSUdGa1pISmxjM002SUhOMGNtbHVaenRjYmlBZ2RHOXJaVzQ2SUhOMGNtbHVaenRjYmlBZ2NHRjBhRG9nYzNSeWFXNW5PMXh1SUNCdVlXMWxjM0JoWTJVL09pQnpkSEpwYm1jN1hHNGdJR3RsZVVsa1B6b2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZaaGRXeDBVMlZqY21WMFJXNTJhWEp2Ym0xbGJuUlRhR0Z3WlNCN1hHNGdJSE5sWTNKbGRITTZJSHRjYmlBZ0lDQjJZWFZzZERvZ1ZtRjFiSFJUWldOeVpYUkZiblpwY205dWJXVnVkRU52Ym1acFp6dGNiaUFnZlR0Y2JuMWNibHh1Wlhod2IzSjBJR052Ym5OMElGWmhkV3gwVTJWamNtVjBSVzUyYVhKdmJtMWxiblFnUFNCVFpXTnlaWFJGYm5acGNtOXViV1Z1ZEM1aFkyTjFiWFZzWVhSbEtIdGNiaUFnYzJWamNtVjBjem9nZTF4dUlDQWdJSFpoZFd4ME9pQjdYRzRnSUNBZ0lDQmhaR1J5WlhOek9pQmNJbHdpTEZ4dUlDQWdJQ0FnZEc5clpXNDZJRndpWENJc1hHNGdJQ0FnSUNCd1lYUm9PaUJjSWx3aUxGeHVJQ0FnSUNBZ2JtRnRaWE53WVdObE9pQmNJbHdpTEZ4dUlDQWdJQ0FnYTJWNVNXUTZJRndpWENJc1hHNGdJQ0FnZlN4Y2JpQWdmU3hjYm4wZ1lYTWdWbUYxYkhSVFpXTnlaWFJGYm5acGNtOXViV1Z1ZEZOb1lYQmxLVHRjYmlKZGZRPT0iXX0=
|